{"version":3,"file":"commons-c976afa94282470d545c.js","mappings":"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","sources":["webpack://frontend-starter/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/construct.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/createClass.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/get.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/inherits.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/isNativeFunction.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/superPropBase.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/typeof.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/wrapNativeSuper.js","webpack://frontend-starter/./node_modules/@babel/runtime/regenerator/index.js","webpack://frontend-starter/./node_modules/base-x/src/index.js","webpack://frontend-starter/./node_modules/base64-js/index.js","webpack://frontend-starter/./node_modules/bn.js/lib/bn.js","webpack://frontend-starter/./node_modules/borsh/lib/index.js","webpack://frontend-starter/./node_modules/bs58/index.js","webpack://frontend-starter/./node_modules/buffer/index.js","webpack://frontend-starter/./node_modules/capability/es5.js","webpack://frontend-starter/./node_modules/capability/index.js","webpack://frontend-starter/./node_modules/capability/lib/CapabilityDetector.js","webpack://frontend-starter/./node_modules/capability/lib/definitions.js","webpack://frontend-starter/./node_modules/capability/lib/index.js","webpack://frontend-starter/./node_modules/depd/lib/browser/index.js","webpack://frontend-starter/./node_modules/error-polyfill/index.js","webpack://frontend-starter/./node_modules/error-polyfill/lib/index.js","webpack://frontend-starter/./node_modules/error-polyfill/lib/non-v8/Frame.js","webpack://frontend-starter/./node_modules/error-polyfill/lib/non-v8/FrameStringParser.js","webpack://frontend-starter/./node_modules/error-polyfill/lib/non-v8/FrameStringSource.js","webpack://frontend-starter/./node_modules/error-polyfill/lib/non-v8/index.js","webpack://frontend-starter/./node_modules/error-polyfill/lib/prepareStackTrace.js","webpack://frontend-starter/./node_modules/error-polyfill/lib/unsupported.js","webpack://frontend-starter/./node_modules/error-polyfill/lib/v8.js","webpack://frontend-starter/./node_modules/http-errors/index.js","webpack://frontend-starter/./node_modules/ieee754/index.js","webpack://frontend-starter/./node_modules/inherits/inherits_browser.js","webpack://frontend-starter/./node_modules/js-sha256/src/sha256.js","webpack://frontend-starter/./node_modules/mustache/mustache.js","webpack://frontend-starter/./node_modules/near-api-js/lib/account.js","webpack://frontend-starter/./node_modules/near-api-js/lib/account_creator.js","webpack://frontend-starter/./node_modules/near-api-js/lib/account_multisig.js","webpack://frontend-starter/./node_modules/near-api-js/lib/browser-connect.js","webpack://frontend-starter/./node_modules/near-api-js/lib/browser-index.js","webpack://frontend-starter/./node_modules/near-api-js/lib/common-index.js","webpack://frontend-starter/./node_modules/near-api-js/lib/connection.js","webpack://frontend-starter/./node_modules/near-api-js/lib/constants.js","webpack://frontend-starter/./node_modules/near-api-js/lib/contract.js","webpack://frontend-starter/./node_modules/near-api-js/lib/key_stores/browser-index.js","webpack://frontend-starter/./node_modules/near-api-js/lib/key_stores/browser_local_storage_key_store.js","webpack://frontend-starter/./node_modules/near-api-js/lib/key_stores/in_memory_key_store.js","webpack://frontend-starter/./node_modules/near-api-js/lib/key_stores/keystore.js","webpack://frontend-starter/./node_modules/near-api-js/lib/key_stores/merge_key_store.js","webpack://frontend-starter/./node_modules/near-api-js/lib/near.js","webpack://frontend-starter/./node_modules/near-api-js/lib/providers/index.js","webpack://frontend-starter/./node_modules/near-api-js/lib/providers/json-rpc-provider.js","webpack://frontend-starter/./node_modules/near-api-js/lib/providers/provider.js","webpack://frontend-starter/./node_modules/near-api-js/lib/signer.js","webpack://frontend-starter/./node_modules/near-api-js/lib/transaction.js","webpack://frontend-starter/./node_modules/near-api-js/lib/utils/enums.js","webpack://frontend-starter/./node_modules/near-api-js/lib/utils/errors.js","webpack://frontend-starter/./node_modules/near-api-js/lib/utils/exponential-backoff.js","webpack://frontend-starter/./node_modules/near-api-js/lib/utils/format.js","webpack://frontend-starter/./node_modules/near-api-js/lib/utils/index.js","webpack://frontend-starter/./node_modules/near-api-js/lib/utils/key_pair.js","webpack://frontend-starter/./node_modules/near-api-js/lib/utils/rpc_errors.js","webpack://frontend-starter/./node_modules/near-api-js/lib/utils/serialize.js","webpack://frontend-starter/./node_modules/near-api-js/lib/utils/web.js","webpack://frontend-starter/./node_modules/near-api-js/lib/validators.js","webpack://frontend-starter/./node_modules/near-api-js/lib/wallet-account.js","webpack://frontend-starter/./node_modules/near-api-js/node_modules/depd/lib/browser/index.js","webpack://frontend-starter/./node_modules/near-api-js/node_modules/tweetnacl/nacl-fast.js","webpack://frontend-starter/./node_modules/o3/index.js","webpack://frontend-starter/./node_modules/o3/lib/Class.js","webpack://frontend-starter/./node_modules/o3/lib/abstractMethod.js","webpack://frontend-starter/./node_modules/o3/lib/index.js","webpack://frontend-starter/./node_modules/safe-buffer/index.js","webpack://frontend-starter/./node_modules/setprototypeof/index.js","webpack://frontend-starter/./node_modules/statuses/index.js","webpack://frontend-starter/./node_modules/text-encoding-utf-8/lib/encoding.lib.mjs","webpack://frontend-starter/./node_modules/toidentifier/index.js","webpack://frontend-starter/./node_modules/u3/index.js","webpack://frontend-starter/./node_modules/u3/lib/cache.js","webpack://frontend-starter/./node_modules/u3/lib/eachCombination.js","webpack://frontend-starter/./node_modules/u3/lib/index.js","webpack://frontend-starter/./node_modules/core-js/internals/a-callable.js","webpack://frontend-starter/./node_modules/core-js/internals/an-object.js","webpack://frontend-starter/./node_modules/core-js/internals/array-includes.js","webpack://frontend-starter/./node_modules/core-js/internals/classof-raw.js","webpack://frontend-starter/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://frontend-starter/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://frontend-starter/./node_modules/core-js/internals/create-property-descriptor.js","webpack://frontend-starter/./node_modules/core-js/internals/descriptors.js","webpack://frontend-starter/./node_modules/core-js/internals/document-create-element.js","webpack://frontend-starter/./node_modules/core-js/internals/engine-user-agent.js","webpack://frontend-starter/./node_modules/core-js/internals/engine-v8-version.js","webpack://frontend-starter/./node_modules/core-js/internals/enum-bug-keys.js","webpack://frontend-starter/./node_modules/core-js/internals/export.js","webpack://frontend-starter/./node_modules/core-js/internals/fails.js","webpack://frontend-starter/./node_modules/core-js/internals/function-bind-native.js","webpack://frontend-starter/./node_modules/core-js/internals/function-call.js","webpack://frontend-starter/./node_modules/core-js/internals/function-name.js","webpack://frontend-starter/./node_modules/core-js/internals/function-uncurry-this.js","webpack://frontend-starter/./node_modules/core-js/internals/get-built-in.js","webpack://frontend-starter/./node_modules/core-js/internals/get-method.js","webpack://frontend-starter/./node_modules/core-js/internals/global.js","webpack://frontend-starter/./node_modules/core-js/internals/has-own-property.js","webpack://frontend-starter/./node_modules/core-js/internals/hidden-keys.js","webpack://frontend-starter/./node_modules/core-js/internals/ie8-dom-define.js","webpack://frontend-starter/./node_modules/core-js/internals/indexed-object.js","webpack://frontend-starter/./node_modules/core-js/internals/inspect-source.js","webpack://frontend-starter/./node_modules/core-js/internals/internal-state.js","webpack://frontend-starter/./node_modules/core-js/internals/is-callable.js","webpack://frontend-starter/./node_modules/core-js/internals/is-forced.js","webpack://frontend-starter/./node_modules/core-js/internals/is-object.js","webpack://frontend-starter/./node_modules/core-js/internals/is-pure.js","webpack://frontend-starter/./node_modules/core-js/internals/is-symbol.js","webpack://frontend-starter/./node_modules/core-js/internals/length-of-array-like.js","webpack://frontend-starter/./node_modules/core-js/internals/native-symbol.js","webpack://frontend-starter/./node_modules/core-js/internals/native-weak-map.js","webpack://frontend-starter/./node_modules/core-js/internals/object-define-property.js","webpack://frontend-starter/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://frontend-starter/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://frontend-starter/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://frontend-starter/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://frontend-starter/./node_modules/core-js/internals/object-keys-internal.js","webpack://frontend-starter/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://frontend-starter/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://frontend-starter/./node_modules/core-js/internals/own-keys.js","webpack://frontend-starter/./node_modules/core-js/internals/redefine.js","webpack://frontend-starter/./node_modules/core-js/internals/require-object-coercible.js","webpack://frontend-starter/./node_modules/core-js/internals/set-global.js","webpack://frontend-starter/./node_modules/core-js/internals/shared-key.js","webpack://frontend-starter/./node_modules/core-js/internals/shared-store.js","webpack://frontend-starter/./node_modules/core-js/internals/shared.js","webpack://frontend-starter/./node_modules/core-js/internals/to-absolute-index.js","webpack://frontend-starter/./node_modules/core-js/internals/to-indexed-object.js","webpack://frontend-starter/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://frontend-starter/./node_modules/core-js/internals/to-length.js","webpack://frontend-starter/./node_modules/core-js/internals/to-object.js","webpack://frontend-starter/./node_modules/core-js/internals/to-primitive.js","webpack://frontend-starter/./node_modules/core-js/internals/to-property-key.js","webpack://frontend-starter/./node_modules/core-js/internals/try-to-string.js","webpack://frontend-starter/./node_modules/core-js/internals/uid.js","webpack://frontend-starter/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://frontend-starter/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://frontend-starter/./node_modules/core-js/internals/well-known-symbol.js","webpack://frontend-starter/./node_modules/core-js/modules/es.global-this.js","webpack://frontend-starter/./node_modules/core-js/modules/esnext.global-this.js","webpack://frontend-starter/./src/components/image.tsx","webpack://frontend-starter/./src/components/banner/index.tsx","webpack://frontend-starter/./src/components/banner/banner.module.css","webpack://frontend-starter/./src/components/nav/nav.module.css","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://frontend-starter/./node_modules/@radix-ui/react-use-layout-effect/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/react-id/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/react-focus-guards/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/react-use-callback-ref/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/react-use-controllable-state/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/react-compose-refs/dist/index.module.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://frontend-starter/./node_modules/@radix-ui/react-slot/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/react-primitive/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/react-context/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/react-collection/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/primitive/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/react-roving-focus/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/react-portal/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/rect/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/react-arrow/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/react-use-size/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/react-use-rect/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/popper/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/react-popper/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/react-presence/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/react-focus-scope/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/react-use-body-pointer-events/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/react-dismissable-layer/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/react-use-escape-keydown/dist/index.module.js","webpack://frontend-starter/./node_modules/aria-hidden/dist/es2015/index.js","webpack://frontend-starter/./node_modules/react-remove-scroll/node_modules/tslib/tslib.es6.js","webpack://frontend-starter/./node_modules/react-remove-scroll-bar/dist/es2015/constants.js","webpack://frontend-starter/./node_modules/use-sidecar/node_modules/tslib/tslib.es6.js","webpack://frontend-starter/./node_modules/use-sidecar/dist/es2015/medium.js","webpack://frontend-starter/./node_modules/react-remove-scroll/dist/es2015/medium.js","webpack://frontend-starter/./node_modules/use-callback-ref/dist/es2015/useMergeRef.js","webpack://frontend-starter/./node_modules/use-callback-ref/dist/es2015/useRef.js","webpack://frontend-starter/./node_modules/use-callback-ref/dist/es2015/assignRef.js","webpack://frontend-starter/./node_modules/react-remove-scroll/dist/es2015/UI.js","webpack://frontend-starter/./node_modules/use-sidecar/dist/es2015/exports.js","webpack://frontend-starter/./node_modules/get-nonce/dist/es2015/index.js","webpack://frontend-starter/./node_modules/react-style-singleton/dist/es2015/singleton.js","webpack://frontend-starter/./node_modules/react-style-singleton/dist/es2015/component.js","webpack://frontend-starter/./node_modules/react-style-singleton/dist/es2015/hook.js","webpack://frontend-starter/./node_modules/react-remove-scroll-bar/dist/es2015/utils.js","webpack://frontend-starter/./node_modules/react-remove-scroll-bar/dist/es2015/component.js","webpack://frontend-starter/./node_modules/react-remove-scroll/dist/es2015/handleScroll.js","webpack://frontend-starter/./node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","webpack://frontend-starter/./node_modules/react-remove-scroll/dist/es2015/SideEffect.js","webpack://frontend-starter/./node_modules/react-remove-scroll/dist/es2015/sidecar.js","webpack://frontend-starter/./node_modules/react-remove-scroll/dist/es2015/Combination.js","webpack://frontend-starter/./node_modules/@radix-ui/react-menu/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/react-use-direction/dist/index.module.js","webpack://frontend-starter/./node_modules/@radix-ui/react-dropdown-menu/dist/index.module.js","webpack://frontend-starter/./src/components/dropdown/index.tsx","webpack://frontend-starter/./src/components/dropdown/dropdown.module.css","webpack://frontend-starter/./src/components/lang-picker/index.tsx","webpack://frontend-starter/./src/components/lang-picker/lang-picker.module.css","webpack://frontend-starter/./src/components/nav/index.tsx","webpack://frontend-starter/./src/components/layout/index.tsx","webpack://frontend-starter/./src/components/video/index.tsx","webpack://frontend-starter/./src/hooks/useVideoData.ts","webpack://frontend-starter/./src/hooks/useHeroStatuses.ts","webpack://frontend-starter/./src/hooks/useImageData.ts","webpack://frontend-starter/./src/hooks/useLocales.ts","webpack://frontend-starter/./src/hooks/useTenk.ts","webpack://frontend-starter/./src/near/contracts/index.ts","webpack://frontend-starter/./src/near/contracts/tenk.ts","webpack://frontend-starter/./src/near/index.ts","webpack://frontend-starter/./node_modules/regenerator-runtime/runtime.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://frontend-starter/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js"],"sourcesContent":["function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\n\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n }\n\n return _construct.apply(null, arguments);\n}\n\nmodule.exports = _construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var superPropBase = require(\"./superPropBase.js\");\n\nfunction _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n module.exports = _get = Reflect.get, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n } else {\n module.exports = _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n }\n\n return _get.apply(this, arguments);\n}\n\nmodule.exports = _get, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nmodule.exports = _isNativeFunction, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\n\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\n\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}\n\nmodule.exports = _superPropBase, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\n\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\n\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nvar isNativeFunction = require(\"./isNativeFunction.js\");\n\nvar construct = require(\"./construct.js\");\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _wrapNativeSuper(Class);\n}\n\nmodule.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","module.exports = require(\"regenerator-runtime\");\n","'use strict'; // base-x encoding / decoding\n// Copyright (c) 2018 base-x contributors\n// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\n// @ts-ignore\n\nvar _Buffer = require('safe-buffer').Buffer;\n\nfunction base(ALPHABET) {\n if (ALPHABET.length >= 255) {\n throw new TypeError('Alphabet too long');\n }\n\n var BASE_MAP = new Uint8Array(256);\n\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255;\n }\n\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i);\n var xc = x.charCodeAt(0);\n\n if (BASE_MAP[xc] !== 255) {\n throw new TypeError(x + ' is ambiguous');\n }\n\n BASE_MAP[xc] = i;\n }\n\n var BASE = ALPHABET.length;\n var LEADER = ALPHABET.charAt(0);\n var FACTOR = Math.log(BASE) / Math.log(256); // log(BASE) / log(256), rounded up\n\n var iFACTOR = Math.log(256) / Math.log(BASE); // log(256) / log(BASE), rounded up\n\n function encode(source) {\n if (Array.isArray(source) || source instanceof Uint8Array) {\n source = _Buffer.from(source);\n }\n\n if (!_Buffer.isBuffer(source)) {\n throw new TypeError('Expected Buffer');\n }\n\n if (source.length === 0) {\n return '';\n } // Skip & count leading zeroes.\n\n\n var zeroes = 0;\n var length = 0;\n var pbegin = 0;\n var pend = source.length;\n\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++;\n zeroes++;\n } // Allocate enough space in big-endian base58 representation.\n\n\n var size = (pend - pbegin) * iFACTOR + 1 >>> 0;\n var b58 = new Uint8Array(size); // Process the bytes.\n\n while (pbegin !== pend) {\n var carry = source[pbegin]; // Apply \"b58 = b58 * 256 + ch\".\n\n var i = 0;\n\n for (var it1 = size - 1; (carry !== 0 || i < length) && it1 !== -1; it1--, i++) {\n carry += 256 * b58[it1] >>> 0;\n b58[it1] = carry % BASE >>> 0;\n carry = carry / BASE >>> 0;\n }\n\n if (carry !== 0) {\n throw new Error('Non-zero carry');\n }\n\n length = i;\n pbegin++;\n } // Skip leading zeroes in base58 result.\n\n\n var it2 = size - length;\n\n while (it2 !== size && b58[it2] === 0) {\n it2++;\n } // Translate the result into a string.\n\n\n var str = LEADER.repeat(zeroes);\n\n for (; it2 < size; ++it2) {\n str += ALPHABET.charAt(b58[it2]);\n }\n\n return str;\n }\n\n function decodeUnsafe(source) {\n if (typeof source !== 'string') {\n throw new TypeError('Expected String');\n }\n\n if (source.length === 0) {\n return _Buffer.alloc(0);\n }\n\n var psz = 0; // Skip and count leading '1's.\n\n var zeroes = 0;\n var length = 0;\n\n while (source[psz] === LEADER) {\n zeroes++;\n psz++;\n } // Allocate enough space in big-endian base256 representation.\n\n\n var size = (source.length - psz) * FACTOR + 1 >>> 0; // log(58) / log(256), rounded up.\n\n var b256 = new Uint8Array(size); // Process the characters.\n\n while (source[psz]) {\n // Decode character\n var carry = BASE_MAP[source.charCodeAt(psz)]; // Invalid character\n\n if (carry === 255) {\n return;\n }\n\n var i = 0;\n\n for (var it3 = size - 1; (carry !== 0 || i < length) && it3 !== -1; it3--, i++) {\n carry += BASE * b256[it3] >>> 0;\n b256[it3] = carry % 256 >>> 0;\n carry = carry / 256 >>> 0;\n }\n\n if (carry !== 0) {\n throw new Error('Non-zero carry');\n }\n\n length = i;\n psz++;\n } // Skip leading zeroes in b256.\n\n\n var it4 = size - length;\n\n while (it4 !== size && b256[it4] === 0) {\n it4++;\n }\n\n var vch = _Buffer.allocUnsafe(zeroes + (size - it4));\n\n vch.fill(0x00, 0, zeroes);\n var j = zeroes;\n\n while (it4 !== size) {\n vch[j++] = b256[it4++];\n }\n\n return vch;\n }\n\n function decode(string) {\n var buffer = decodeUnsafe(string);\n\n if (buffer) {\n return buffer;\n }\n\n throw new Error('Non-base' + BASE + ' character');\n }\n\n return {\n encode: encode,\n decodeUnsafe: decodeUnsafe,\n decode: decode\n };\n}\n\nmodule.exports = base;","'use strict';\n\nexports.byteLength = byteLength;\nexports.toByteArray = toByteArray;\nexports.fromByteArray = fromByteArray;\nvar lookup = [];\nvar revLookup = [];\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n} // Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\n\n\nrevLookup['-'.charCodeAt(0)] = 62;\nrevLookup['_'.charCodeAt(0)] = 63;\n\nfunction getLens(b64) {\n var len = b64.length;\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4');\n } // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n\n\n var validLen = b64.indexOf('=');\n if (validLen === -1) validLen = len;\n var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4;\n return [validLen, placeHoldersLen];\n} // base64 is 4/3 + up to two characters of the original data\n\n\nfunction byteLength(b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n}\n\nfunction _byteLength(b64, validLen, placeHoldersLen) {\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n}\n\nfunction toByteArray(b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n var curByte = 0; // if there are placeholders, only get up to the last complete 4 chars\n\n var len = placeHoldersLen > 0 ? validLen - 4 : validLen;\n var i;\n\n for (i = 0; i < len; i += 4) {\n tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)];\n arr[curByte++] = tmp >> 16 & 0xFF;\n arr[curByte++] = tmp >> 8 & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 2) {\n tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4;\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 1) {\n tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2;\n arr[curByte++] = tmp >> 8 & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n return arr;\n}\n\nfunction tripletToBase64(num) {\n return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F];\n}\n\nfunction encodeChunk(uint8, start, end) {\n var tmp;\n var output = [];\n\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16 & 0xFF0000) + (uint8[i + 1] << 8 & 0xFF00) + (uint8[i + 2] & 0xFF);\n output.push(tripletToBase64(tmp));\n }\n\n return output.join('');\n}\n\nfunction fromByteArray(uint8) {\n var tmp;\n var len = uint8.length;\n var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n\n var parts = [];\n var maxChunkLength = 16383; // must be multiple of 3\n // go through the array every three bytes, we'll deal with trailing stuff later\n\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength));\n } // pad the end with zeros, but make sure to not forget the extra bytes\n\n\n if (extraBytes === 1) {\n tmp = uint8[len - 1];\n parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 0x3F] + '==');\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 0x3F] + lookup[tmp << 2 & 0x3F] + '=');\n }\n\n return parts.join('');\n}","(function (module, exports) {\n 'use strict'; // Utils\n\n function assert(val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n } // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n\n\n function inherits(ctor, superCtor) {\n ctor.super_ = superCtor;\n\n var TempCtor = function TempCtor() {};\n\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n } // BN\n\n\n function BN(number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0; // Reduction context\n\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n var Buffer;\n\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {}\n\n BN.isBN = function isBN(num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' && num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max(left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min(left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init(number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n\n assert(base === (base | 0) && base >= 2 && base <= 36);\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber(number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n\n if (number < 0x4000000) {\n this.words = [number & 0x3ffffff];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [number & 0x3ffffff, number / 0x4000000 & 0x3ffffff];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n\n this.words = [number & 0x3ffffff, number / 0x4000000 & 0x3ffffff, 1];\n this.length = 3;\n }\n\n if (endian !== 'le') return; // Reverse the bytes\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray(number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n\n if (number.length <= 0) {\n this.words = [0];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | number[i - 1] << 8 | number[i - 2] << 16;\n this.words[j] |= w << off & 0x3ffffff;\n this.words[j + 1] = w >>> 26 - off & 0x3ffffff;\n off += 24;\n\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | number[i + 1] << 8 | number[i + 2] << 16;\n this.words[j] |= w << off & 0x3ffffff;\n this.words[j + 1] = w >>> 26 - off & 0x3ffffff;\n off += 24;\n\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n\n return this._strip();\n };\n\n function parseHex4Bits(string, index) {\n var c = string.charCodeAt(index); // '0' - '9'\n\n if (c >= 48 && c <= 57) {\n return c - 48; // 'A' - 'F'\n } else if (c >= 65 && c <= 70) {\n return c - 55; // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n } else {\n assert(false, 'Invalid character in ' + string);\n }\n }\n\n function parseHexByte(string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex(number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n } // 24-bits chunks\n\n\n var off = 0;\n var j = 0;\n var w;\n\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this._strip();\n };\n\n function parseBase(str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n r *= mul; // 'a'\n\n if (c >= 49) {\n b = c - 49 + 0xa; // 'A'\n } else if (c >= 17) {\n b = c - 17 + 0xa; // '0' - '9'\n } else {\n b = c;\n }\n\n assert(c >= 0 && b < mul, 'Invalid character');\n r += b;\n }\n\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase(number, base, start) {\n // Initialize as zero\n this.words = [0];\n this.length = 1; // Find length of limb in base\n\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n\n limbLen--;\n limbPow = limbPow / base | 0;\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n var word = 0;\n\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n this.imuln(limbPow);\n\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this._strip();\n };\n\n BN.prototype.copy = function copy(dest) {\n dest.words = new Array(this.length);\n\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n function move(dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n\n BN.prototype._move = function _move(dest) {\n move(dest, this);\n };\n\n BN.prototype.clone = function clone() {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand(size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n\n return this;\n }; // Remove leading `0` from `this`\n\n\n BN.prototype._strip = function strip() {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign() {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n\n return this;\n }; // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n\n\n if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {\n try {\n BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;\n } catch (e) {\n BN.prototype.inspect = inspect;\n }\n } else {\n BN.prototype.inspect = inspect;\n }\n\n function inspect() {\n return (this.red ? '';\n }\n /*\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n */\n\n\n var zeros = ['', '0', '00', '000', '0000', '00000', '000000', '0000000', '00000000', '000000000', '0000000000', '00000000000', '000000000000', '0000000000000', '00000000000000', '000000000000000', '0000000000000000', '00000000000000000', '000000000000000000', '0000000000000000000', '00000000000000000000', '000000000000000000000', '0000000000000000000000', '00000000000000000000000', '000000000000000000000000', '0000000000000000000000000'];\n var groupSizes = [0, 0, 25, 16, 12, 11, 10, 9, 8, 8, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5];\n var groupBases = [0, 0, 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216, 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625, 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632, 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149, 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176];\n\n BN.prototype.toString = function toString(base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n var out;\n\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = ((w << off | carry) & 0xffffff).toString(16);\n carry = w >>> 24 - off & 0xffffff;\n\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n\n off += 2;\n\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n\n if (this.negative !== 0) {\n out = '-' + out;\n }\n\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base]; // var groupBase = Math.pow(base, groupSize);\n\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n\n while (!c.isZero()) {\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n\n if (this.isZero()) {\n out = '0' + out;\n }\n\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n\n if (this.negative !== 0) {\n out = '-' + out;\n }\n\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber() {\n var ret = this.words[0];\n\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + this.words[1] * 0x4000000;\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n\n return this.negative !== 0 ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON() {\n return this.toString(16, 2);\n };\n\n if (Buffer) {\n BN.prototype.toBuffer = function toBuffer(endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n }\n\n BN.prototype.toArray = function toArray(endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n var allocate = function allocate(ArrayType, size) {\n if (ArrayType.allocUnsafe) {\n return ArrayType.allocUnsafe(size);\n }\n\n return new ArrayType(size);\n };\n\n BN.prototype.toArrayLike = function toArrayLike(ArrayType, endian, length) {\n this._strip();\n\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === 'le' ? 'LE' : 'BE';\n this['_toArrayLike' + postfix](res, byteLength);\n return res;\n };\n\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE(res, byteLength) {\n var position = 0;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = this.words[i] << shift | carry;\n res[position++] = word & 0xff;\n\n if (position < res.length) {\n res[position++] = word >> 8 & 0xff;\n }\n\n if (position < res.length) {\n res[position++] = word >> 16 & 0xff;\n }\n\n if (shift === 6) {\n if (position < res.length) {\n res[position++] = word >> 24 & 0xff;\n }\n\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position < res.length) {\n res[position++] = carry;\n\n while (position < res.length) {\n res[position++] = 0;\n }\n }\n };\n\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE(res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = this.words[i] << shift | carry;\n res[position--] = word & 0xff;\n\n if (position >= 0) {\n res[position--] = word >> 8 & 0xff;\n }\n\n if (position >= 0) {\n res[position--] = word >> 16 & 0xff;\n }\n\n if (shift === 6) {\n if (position >= 0) {\n res[position--] = word >> 24 & 0xff;\n }\n\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position >= 0) {\n res[position--] = carry;\n\n while (position >= 0) {\n res[position--] = 0;\n }\n }\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits(w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits(w) {\n var t = w;\n var r = 0;\n\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits(w) {\n // Short-cut\n if (w === 0) return 26;\n var t = w;\n var r = 0;\n\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n\n if ((t & 0x1) === 0) {\n r++;\n }\n\n return r;\n }; // Return number of used bits in a BN\n\n\n BN.prototype.bitLength = function bitLength() {\n var w = this.words[this.length - 1];\n\n var hi = this._countBits(w);\n\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray(num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = bit / 26 | 0;\n var wbit = bit % 26;\n w[bit] = num.words[off] >>> wbit & 0x01;\n }\n\n return w;\n } // Number of trailing zero bits\n\n\n BN.prototype.zeroBits = function zeroBits() {\n if (this.isZero()) return 0;\n var r = 0;\n\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n\n r += b;\n if (b !== 26) break;\n }\n\n return r;\n };\n\n BN.prototype.byteLength = function byteLength() {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos(width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos(width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg() {\n return this.negative !== 0;\n }; // Return negative clone of `this`\n\n\n BN.prototype.neg = function neg() {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg() {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n }; // Or `num` with `this` in-place\n\n\n BN.prototype.iuor = function iuor(num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this._strip();\n };\n\n BN.prototype.ior = function ior(num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n }; // Or `num` with `this`\n\n\n BN.prototype.or = function or(num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor(num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n }; // And `num` with `this` in-place\n\n\n BN.prototype.iuand = function iuand(num) {\n // b = min-length(num, this)\n var b;\n\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n return this._strip();\n };\n\n BN.prototype.iand = function iand(num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n }; // And `num` with `this`\n\n\n BN.prototype.and = function and(num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand(num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n }; // Xor `num` with `this` in-place\n\n\n BN.prototype.iuxor = function iuxor(num) {\n // a.length > b.length\n var a;\n var b;\n\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n return this._strip();\n };\n\n BN.prototype.ixor = function ixor(num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n }; // Xor `num` with `this`\n\n\n BN.prototype.xor = function xor(num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor(num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n }; // Not ``this`` with ``width`` bitwidth\n\n\n BN.prototype.inotn = function inotn(width) {\n assert(typeof width === 'number' && width >= 0);\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26; // Extend the buffer with leading zeroes\n\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n } // Handle complete words\n\n\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n } // Handle the residue\n\n\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & 0x3ffffff >> 26 - bitsLeft;\n } // And remove leading zeroes\n\n\n return this._strip();\n };\n\n BN.prototype.notn = function notn(width) {\n return this.clone().inotn(width);\n }; // Set `bit` of `this`\n\n\n BN.prototype.setn = function setn(bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n var off = bit / 26 | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | 1 << wbit;\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this._strip();\n }; // Add `num` to `this` in-place\n\n\n BN.prototype.iadd = function iadd(num) {\n var r; // negative + positive\n\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign(); // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n } // a.length > b.length\n\n\n var a, b;\n\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++; // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n }; // Add `num` to `this`\n\n\n BN.prototype.add = function add(num) {\n var res;\n\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n return num.clone().iadd(this);\n }; // Subtract `num` from `this` in-place\n\n\n BN.prototype.isub = function isub(num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign(); // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n } // At this point both numbers are positive\n\n\n var cmp = this.cmp(num); // Optimization - zeroify\n\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n } // a > b\n\n\n var a, b;\n\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n } // Copy rest of the words\n\n\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this._strip();\n }; // Subtract `num` from `this`\n\n\n BN.prototype.sub = function sub(num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo(self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = self.length + num.length | 0;\n out.length = len;\n len = len - 1 | 0; // Peel one iteration (compiler can't do it, because of code complexity)\n\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n var lo = r & 0x3ffffff;\n var carry = r / 0x4000000 | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += r / 0x4000000 | 0;\n rword = r & 0x3ffffff;\n }\n\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out._strip();\n } // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n\n\n var comb10MulTo = function comb10MulTo(self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = mid + Math.imul(ah0, bl0) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w0 >>> 26) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = mid + Math.imul(ah1, bl0) | 0;\n hi = Math.imul(ah1, bh0);\n lo = lo + Math.imul(al0, bl1) | 0;\n mid = mid + Math.imul(al0, bh1) | 0;\n mid = mid + Math.imul(ah0, bl1) | 0;\n hi = hi + Math.imul(ah0, bh1) | 0;\n var w1 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w1 >>> 26) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = mid + Math.imul(ah2, bl0) | 0;\n hi = Math.imul(ah2, bh0);\n lo = lo + Math.imul(al1, bl1) | 0;\n mid = mid + Math.imul(al1, bh1) | 0;\n mid = mid + Math.imul(ah1, bl1) | 0;\n hi = hi + Math.imul(ah1, bh1) | 0;\n lo = lo + Math.imul(al0, bl2) | 0;\n mid = mid + Math.imul(al0, bh2) | 0;\n mid = mid + Math.imul(ah0, bl2) | 0;\n hi = hi + Math.imul(ah0, bh2) | 0;\n var w2 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w2 >>> 26) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = mid + Math.imul(ah3, bl0) | 0;\n hi = Math.imul(ah3, bh0);\n lo = lo + Math.imul(al2, bl1) | 0;\n mid = mid + Math.imul(al2, bh1) | 0;\n mid = mid + Math.imul(ah2, bl1) | 0;\n hi = hi + Math.imul(ah2, bh1) | 0;\n lo = lo + Math.imul(al1, bl2) | 0;\n mid = mid + Math.imul(al1, bh2) | 0;\n mid = mid + Math.imul(ah1, bl2) | 0;\n hi = hi + Math.imul(ah1, bh2) | 0;\n lo = lo + Math.imul(al0, bl3) | 0;\n mid = mid + Math.imul(al0, bh3) | 0;\n mid = mid + Math.imul(ah0, bl3) | 0;\n hi = hi + Math.imul(ah0, bh3) | 0;\n var w3 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w3 >>> 26) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = mid + Math.imul(ah4, bl0) | 0;\n hi = Math.imul(ah4, bh0);\n lo = lo + Math.imul(al3, bl1) | 0;\n mid = mid + Math.imul(al3, bh1) | 0;\n mid = mid + Math.imul(ah3, bl1) | 0;\n hi = hi + Math.imul(ah3, bh1) | 0;\n lo = lo + Math.imul(al2, bl2) | 0;\n mid = mid + Math.imul(al2, bh2) | 0;\n mid = mid + Math.imul(ah2, bl2) | 0;\n hi = hi + Math.imul(ah2, bh2) | 0;\n lo = lo + Math.imul(al1, bl3) | 0;\n mid = mid + Math.imul(al1, bh3) | 0;\n mid = mid + Math.imul(ah1, bl3) | 0;\n hi = hi + Math.imul(ah1, bh3) | 0;\n lo = lo + Math.imul(al0, bl4) | 0;\n mid = mid + Math.imul(al0, bh4) | 0;\n mid = mid + Math.imul(ah0, bl4) | 0;\n hi = hi + Math.imul(ah0, bh4) | 0;\n var w4 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w4 >>> 26) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = mid + Math.imul(ah5, bl0) | 0;\n hi = Math.imul(ah5, bh0);\n lo = lo + Math.imul(al4, bl1) | 0;\n mid = mid + Math.imul(al4, bh1) | 0;\n mid = mid + Math.imul(ah4, bl1) | 0;\n hi = hi + Math.imul(ah4, bh1) | 0;\n lo = lo + Math.imul(al3, bl2) | 0;\n mid = mid + Math.imul(al3, bh2) | 0;\n mid = mid + Math.imul(ah3, bl2) | 0;\n hi = hi + Math.imul(ah3, bh2) | 0;\n lo = lo + Math.imul(al2, bl3) | 0;\n mid = mid + Math.imul(al2, bh3) | 0;\n mid = mid + Math.imul(ah2, bl3) | 0;\n hi = hi + Math.imul(ah2, bh3) | 0;\n lo = lo + Math.imul(al1, bl4) | 0;\n mid = mid + Math.imul(al1, bh4) | 0;\n mid = mid + Math.imul(ah1, bl4) | 0;\n hi = hi + Math.imul(ah1, bh4) | 0;\n lo = lo + Math.imul(al0, bl5) | 0;\n mid = mid + Math.imul(al0, bh5) | 0;\n mid = mid + Math.imul(ah0, bl5) | 0;\n hi = hi + Math.imul(ah0, bh5) | 0;\n var w5 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w5 >>> 26) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = mid + Math.imul(ah6, bl0) | 0;\n hi = Math.imul(ah6, bh0);\n lo = lo + Math.imul(al5, bl1) | 0;\n mid = mid + Math.imul(al5, bh1) | 0;\n mid = mid + Math.imul(ah5, bl1) | 0;\n hi = hi + Math.imul(ah5, bh1) | 0;\n lo = lo + Math.imul(al4, bl2) | 0;\n mid = mid + Math.imul(al4, bh2) | 0;\n mid = mid + Math.imul(ah4, bl2) | 0;\n hi = hi + Math.imul(ah4, bh2) | 0;\n lo = lo + Math.imul(al3, bl3) | 0;\n mid = mid + Math.imul(al3, bh3) | 0;\n mid = mid + Math.imul(ah3, bl3) | 0;\n hi = hi + Math.imul(ah3, bh3) | 0;\n lo = lo + Math.imul(al2, bl4) | 0;\n mid = mid + Math.imul(al2, bh4) | 0;\n mid = mid + Math.imul(ah2, bl4) | 0;\n hi = hi + Math.imul(ah2, bh4) | 0;\n lo = lo + Math.imul(al1, bl5) | 0;\n mid = mid + Math.imul(al1, bh5) | 0;\n mid = mid + Math.imul(ah1, bl5) | 0;\n hi = hi + Math.imul(ah1, bh5) | 0;\n lo = lo + Math.imul(al0, bl6) | 0;\n mid = mid + Math.imul(al0, bh6) | 0;\n mid = mid + Math.imul(ah0, bl6) | 0;\n hi = hi + Math.imul(ah0, bh6) | 0;\n var w6 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w6 >>> 26) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = mid + Math.imul(ah7, bl0) | 0;\n hi = Math.imul(ah7, bh0);\n lo = lo + Math.imul(al6, bl1) | 0;\n mid = mid + Math.imul(al6, bh1) | 0;\n mid = mid + Math.imul(ah6, bl1) | 0;\n hi = hi + Math.imul(ah6, bh1) | 0;\n lo = lo + Math.imul(al5, bl2) | 0;\n mid = mid + Math.imul(al5, bh2) | 0;\n mid = mid + Math.imul(ah5, bl2) | 0;\n hi = hi + Math.imul(ah5, bh2) | 0;\n lo = lo + Math.imul(al4, bl3) | 0;\n mid = mid + Math.imul(al4, bh3) | 0;\n mid = mid + Math.imul(ah4, bl3) | 0;\n hi = hi + Math.imul(ah4, bh3) | 0;\n lo = lo + Math.imul(al3, bl4) | 0;\n mid = mid + Math.imul(al3, bh4) | 0;\n mid = mid + Math.imul(ah3, bl4) | 0;\n hi = hi + Math.imul(ah3, bh4) | 0;\n lo = lo + Math.imul(al2, bl5) | 0;\n mid = mid + Math.imul(al2, bh5) | 0;\n mid = mid + Math.imul(ah2, bl5) | 0;\n hi = hi + Math.imul(ah2, bh5) | 0;\n lo = lo + Math.imul(al1, bl6) | 0;\n mid = mid + Math.imul(al1, bh6) | 0;\n mid = mid + Math.imul(ah1, bl6) | 0;\n hi = hi + Math.imul(ah1, bh6) | 0;\n lo = lo + Math.imul(al0, bl7) | 0;\n mid = mid + Math.imul(al0, bh7) | 0;\n mid = mid + Math.imul(ah0, bl7) | 0;\n hi = hi + Math.imul(ah0, bh7) | 0;\n var w7 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w7 >>> 26) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = mid + Math.imul(ah8, bl0) | 0;\n hi = Math.imul(ah8, bh0);\n lo = lo + Math.imul(al7, bl1) | 0;\n mid = mid + Math.imul(al7, bh1) | 0;\n mid = mid + Math.imul(ah7, bl1) | 0;\n hi = hi + Math.imul(ah7, bh1) | 0;\n lo = lo + Math.imul(al6, bl2) | 0;\n mid = mid + Math.imul(al6, bh2) | 0;\n mid = mid + Math.imul(ah6, bl2) | 0;\n hi = hi + Math.imul(ah6, bh2) | 0;\n lo = lo + Math.imul(al5, bl3) | 0;\n mid = mid + Math.imul(al5, bh3) | 0;\n mid = mid + Math.imul(ah5, bl3) | 0;\n hi = hi + Math.imul(ah5, bh3) | 0;\n lo = lo + Math.imul(al4, bl4) | 0;\n mid = mid + Math.imul(al4, bh4) | 0;\n mid = mid + Math.imul(ah4, bl4) | 0;\n hi = hi + Math.imul(ah4, bh4) | 0;\n lo = lo + Math.imul(al3, bl5) | 0;\n mid = mid + Math.imul(al3, bh5) | 0;\n mid = mid + Math.imul(ah3, bl5) | 0;\n hi = hi + Math.imul(ah3, bh5) | 0;\n lo = lo + Math.imul(al2, bl6) | 0;\n mid = mid + Math.imul(al2, bh6) | 0;\n mid = mid + Math.imul(ah2, bl6) | 0;\n hi = hi + Math.imul(ah2, bh6) | 0;\n lo = lo + Math.imul(al1, bl7) | 0;\n mid = mid + Math.imul(al1, bh7) | 0;\n mid = mid + Math.imul(ah1, bl7) | 0;\n hi = hi + Math.imul(ah1, bh7) | 0;\n lo = lo + Math.imul(al0, bl8) | 0;\n mid = mid + Math.imul(al0, bh8) | 0;\n mid = mid + Math.imul(ah0, bl8) | 0;\n hi = hi + Math.imul(ah0, bh8) | 0;\n var w8 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w8 >>> 26) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = mid + Math.imul(ah9, bl0) | 0;\n hi = Math.imul(ah9, bh0);\n lo = lo + Math.imul(al8, bl1) | 0;\n mid = mid + Math.imul(al8, bh1) | 0;\n mid = mid + Math.imul(ah8, bl1) | 0;\n hi = hi + Math.imul(ah8, bh1) | 0;\n lo = lo + Math.imul(al7, bl2) | 0;\n mid = mid + Math.imul(al7, bh2) | 0;\n mid = mid + Math.imul(ah7, bl2) | 0;\n hi = hi + Math.imul(ah7, bh2) | 0;\n lo = lo + Math.imul(al6, bl3) | 0;\n mid = mid + Math.imul(al6, bh3) | 0;\n mid = mid + Math.imul(ah6, bl3) | 0;\n hi = hi + Math.imul(ah6, bh3) | 0;\n lo = lo + Math.imul(al5, bl4) | 0;\n mid = mid + Math.imul(al5, bh4) | 0;\n mid = mid + Math.imul(ah5, bl4) | 0;\n hi = hi + Math.imul(ah5, bh4) | 0;\n lo = lo + Math.imul(al4, bl5) | 0;\n mid = mid + Math.imul(al4, bh5) | 0;\n mid = mid + Math.imul(ah4, bl5) | 0;\n hi = hi + Math.imul(ah4, bh5) | 0;\n lo = lo + Math.imul(al3, bl6) | 0;\n mid = mid + Math.imul(al3, bh6) | 0;\n mid = mid + Math.imul(ah3, bl6) | 0;\n hi = hi + Math.imul(ah3, bh6) | 0;\n lo = lo + Math.imul(al2, bl7) | 0;\n mid = mid + Math.imul(al2, bh7) | 0;\n mid = mid + Math.imul(ah2, bl7) | 0;\n hi = hi + Math.imul(ah2, bh7) | 0;\n lo = lo + Math.imul(al1, bl8) | 0;\n mid = mid + Math.imul(al1, bh8) | 0;\n mid = mid + Math.imul(ah1, bl8) | 0;\n hi = hi + Math.imul(ah1, bh8) | 0;\n lo = lo + Math.imul(al0, bl9) | 0;\n mid = mid + Math.imul(al0, bh9) | 0;\n mid = mid + Math.imul(ah0, bl9) | 0;\n hi = hi + Math.imul(ah0, bh9) | 0;\n var w9 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w9 >>> 26) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = mid + Math.imul(ah9, bl1) | 0;\n hi = Math.imul(ah9, bh1);\n lo = lo + Math.imul(al8, bl2) | 0;\n mid = mid + Math.imul(al8, bh2) | 0;\n mid = mid + Math.imul(ah8, bl2) | 0;\n hi = hi + Math.imul(ah8, bh2) | 0;\n lo = lo + Math.imul(al7, bl3) | 0;\n mid = mid + Math.imul(al7, bh3) | 0;\n mid = mid + Math.imul(ah7, bl3) | 0;\n hi = hi + Math.imul(ah7, bh3) | 0;\n lo = lo + Math.imul(al6, bl4) | 0;\n mid = mid + Math.imul(al6, bh4) | 0;\n mid = mid + Math.imul(ah6, bl4) | 0;\n hi = hi + Math.imul(ah6, bh4) | 0;\n lo = lo + Math.imul(al5, bl5) | 0;\n mid = mid + Math.imul(al5, bh5) | 0;\n mid = mid + Math.imul(ah5, bl5) | 0;\n hi = hi + Math.imul(ah5, bh5) | 0;\n lo = lo + Math.imul(al4, bl6) | 0;\n mid = mid + Math.imul(al4, bh6) | 0;\n mid = mid + Math.imul(ah4, bl6) | 0;\n hi = hi + Math.imul(ah4, bh6) | 0;\n lo = lo + Math.imul(al3, bl7) | 0;\n mid = mid + Math.imul(al3, bh7) | 0;\n mid = mid + Math.imul(ah3, bl7) | 0;\n hi = hi + Math.imul(ah3, bh7) | 0;\n lo = lo + Math.imul(al2, bl8) | 0;\n mid = mid + Math.imul(al2, bh8) | 0;\n mid = mid + Math.imul(ah2, bl8) | 0;\n hi = hi + Math.imul(ah2, bh8) | 0;\n lo = lo + Math.imul(al1, bl9) | 0;\n mid = mid + Math.imul(al1, bh9) | 0;\n mid = mid + Math.imul(ah1, bl9) | 0;\n hi = hi + Math.imul(ah1, bh9) | 0;\n var w10 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w10 >>> 26) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = mid + Math.imul(ah9, bl2) | 0;\n hi = Math.imul(ah9, bh2);\n lo = lo + Math.imul(al8, bl3) | 0;\n mid = mid + Math.imul(al8, bh3) | 0;\n mid = mid + Math.imul(ah8, bl3) | 0;\n hi = hi + Math.imul(ah8, bh3) | 0;\n lo = lo + Math.imul(al7, bl4) | 0;\n mid = mid + Math.imul(al7, bh4) | 0;\n mid = mid + Math.imul(ah7, bl4) | 0;\n hi = hi + Math.imul(ah7, bh4) | 0;\n lo = lo + Math.imul(al6, bl5) | 0;\n mid = mid + Math.imul(al6, bh5) | 0;\n mid = mid + Math.imul(ah6, bl5) | 0;\n hi = hi + Math.imul(ah6, bh5) | 0;\n lo = lo + Math.imul(al5, bl6) | 0;\n mid = mid + Math.imul(al5, bh6) | 0;\n mid = mid + Math.imul(ah5, bl6) | 0;\n hi = hi + Math.imul(ah5, bh6) | 0;\n lo = lo + Math.imul(al4, bl7) | 0;\n mid = mid + Math.imul(al4, bh7) | 0;\n mid = mid + Math.imul(ah4, bl7) | 0;\n hi = hi + Math.imul(ah4, bh7) | 0;\n lo = lo + Math.imul(al3, bl8) | 0;\n mid = mid + Math.imul(al3, bh8) | 0;\n mid = mid + Math.imul(ah3, bl8) | 0;\n hi = hi + Math.imul(ah3, bh8) | 0;\n lo = lo + Math.imul(al2, bl9) | 0;\n mid = mid + Math.imul(al2, bh9) | 0;\n mid = mid + Math.imul(ah2, bl9) | 0;\n hi = hi + Math.imul(ah2, bh9) | 0;\n var w11 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w11 >>> 26) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = mid + Math.imul(ah9, bl3) | 0;\n hi = Math.imul(ah9, bh3);\n lo = lo + Math.imul(al8, bl4) | 0;\n mid = mid + Math.imul(al8, bh4) | 0;\n mid = mid + Math.imul(ah8, bl4) | 0;\n hi = hi + Math.imul(ah8, bh4) | 0;\n lo = lo + Math.imul(al7, bl5) | 0;\n mid = mid + Math.imul(al7, bh5) | 0;\n mid = mid + Math.imul(ah7, bl5) | 0;\n hi = hi + Math.imul(ah7, bh5) | 0;\n lo = lo + Math.imul(al6, bl6) | 0;\n mid = mid + Math.imul(al6, bh6) | 0;\n mid = mid + Math.imul(ah6, bl6) | 0;\n hi = hi + Math.imul(ah6, bh6) | 0;\n lo = lo + Math.imul(al5, bl7) | 0;\n mid = mid + Math.imul(al5, bh7) | 0;\n mid = mid + Math.imul(ah5, bl7) | 0;\n hi = hi + Math.imul(ah5, bh7) | 0;\n lo = lo + Math.imul(al4, bl8) | 0;\n mid = mid + Math.imul(al4, bh8) | 0;\n mid = mid + Math.imul(ah4, bl8) | 0;\n hi = hi + Math.imul(ah4, bh8) | 0;\n lo = lo + Math.imul(al3, bl9) | 0;\n mid = mid + Math.imul(al3, bh9) | 0;\n mid = mid + Math.imul(ah3, bl9) | 0;\n hi = hi + Math.imul(ah3, bh9) | 0;\n var w12 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w12 >>> 26) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = mid + Math.imul(ah9, bl4) | 0;\n hi = Math.imul(ah9, bh4);\n lo = lo + Math.imul(al8, bl5) | 0;\n mid = mid + Math.imul(al8, bh5) | 0;\n mid = mid + Math.imul(ah8, bl5) | 0;\n hi = hi + Math.imul(ah8, bh5) | 0;\n lo = lo + Math.imul(al7, bl6) | 0;\n mid = mid + Math.imul(al7, bh6) | 0;\n mid = mid + Math.imul(ah7, bl6) | 0;\n hi = hi + Math.imul(ah7, bh6) | 0;\n lo = lo + Math.imul(al6, bl7) | 0;\n mid = mid + Math.imul(al6, bh7) | 0;\n mid = mid + Math.imul(ah6, bl7) | 0;\n hi = hi + Math.imul(ah6, bh7) | 0;\n lo = lo + Math.imul(al5, bl8) | 0;\n mid = mid + Math.imul(al5, bh8) | 0;\n mid = mid + Math.imul(ah5, bl8) | 0;\n hi = hi + Math.imul(ah5, bh8) | 0;\n lo = lo + Math.imul(al4, bl9) | 0;\n mid = mid + Math.imul(al4, bh9) | 0;\n mid = mid + Math.imul(ah4, bl9) | 0;\n hi = hi + Math.imul(ah4, bh9) | 0;\n var w13 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w13 >>> 26) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = mid + Math.imul(ah9, bl5) | 0;\n hi = Math.imul(ah9, bh5);\n lo = lo + Math.imul(al8, bl6) | 0;\n mid = mid + Math.imul(al8, bh6) | 0;\n mid = mid + Math.imul(ah8, bl6) | 0;\n hi = hi + Math.imul(ah8, bh6) | 0;\n lo = lo + Math.imul(al7, bl7) | 0;\n mid = mid + Math.imul(al7, bh7) | 0;\n mid = mid + Math.imul(ah7, bl7) | 0;\n hi = hi + Math.imul(ah7, bh7) | 0;\n lo = lo + Math.imul(al6, bl8) | 0;\n mid = mid + Math.imul(al6, bh8) | 0;\n mid = mid + Math.imul(ah6, bl8) | 0;\n hi = hi + Math.imul(ah6, bh8) | 0;\n lo = lo + Math.imul(al5, bl9) | 0;\n mid = mid + Math.imul(al5, bh9) | 0;\n mid = mid + Math.imul(ah5, bl9) | 0;\n hi = hi + Math.imul(ah5, bh9) | 0;\n var w14 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w14 >>> 26) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = mid + Math.imul(ah9, bl6) | 0;\n hi = Math.imul(ah9, bh6);\n lo = lo + Math.imul(al8, bl7) | 0;\n mid = mid + Math.imul(al8, bh7) | 0;\n mid = mid + Math.imul(ah8, bl7) | 0;\n hi = hi + Math.imul(ah8, bh7) | 0;\n lo = lo + Math.imul(al7, bl8) | 0;\n mid = mid + Math.imul(al7, bh8) | 0;\n mid = mid + Math.imul(ah7, bl8) | 0;\n hi = hi + Math.imul(ah7, bh8) | 0;\n lo = lo + Math.imul(al6, bl9) | 0;\n mid = mid + Math.imul(al6, bh9) | 0;\n mid = mid + Math.imul(ah6, bl9) | 0;\n hi = hi + Math.imul(ah6, bh9) | 0;\n var w15 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w15 >>> 26) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = mid + Math.imul(ah9, bl7) | 0;\n hi = Math.imul(ah9, bh7);\n lo = lo + Math.imul(al8, bl8) | 0;\n mid = mid + Math.imul(al8, bh8) | 0;\n mid = mid + Math.imul(ah8, bl8) | 0;\n hi = hi + Math.imul(ah8, bh8) | 0;\n lo = lo + Math.imul(al7, bl9) | 0;\n mid = mid + Math.imul(al7, bh9) | 0;\n mid = mid + Math.imul(ah7, bl9) | 0;\n hi = hi + Math.imul(ah7, bh9) | 0;\n var w16 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w16 >>> 26) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = mid + Math.imul(ah9, bl8) | 0;\n hi = Math.imul(ah9, bh8);\n lo = lo + Math.imul(al8, bl9) | 0;\n mid = mid + Math.imul(al8, bh9) | 0;\n mid = mid + Math.imul(ah8, bl9) | 0;\n hi = hi + Math.imul(ah8, bh9) | 0;\n var w17 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w17 >>> 26) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = mid + Math.imul(ah9, bl9) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w18 >>> 26) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n\n return out;\n }; // Polyfill comb\n\n\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo(self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n var carry = 0;\n var hncarry = 0;\n\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n var lo = r & 0x3ffffff;\n ncarry = ncarry + (r / 0x4000000 | 0) | 0;\n lo = lo + rword | 0;\n rword = lo & 0x3ffffff;\n ncarry = ncarry + (lo >>> 26) | 0;\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n function jumboMulTo(self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo(num, out) {\n var res;\n var len = this.length + num.length;\n\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n }; // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n\n function FFTM(x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT(N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n }; // Returns binary-reversed representation of `x`\n\n\n FFTM.prototype.revBin = function revBin(x, l, N) {\n if (x === 0 || x === N - 1) return x;\n var rb = 0;\n\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << l - i - 1;\n x >>= 1;\n }\n\n return rb;\n }; // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n\n\n FFTM.prototype.permute = function permute(rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform(rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n var rx = rtwdf_ * ro - itwdf_ * io;\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n /* jshint maxdepth : false */\n\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b(n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate(rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n t = iws[i];\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b(ws, N) {\n var carry = 0;\n\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 + Math.round(ws[2 * i] / N) + carry;\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b(ws, len, rws, N) {\n var carry = 0;\n\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n rws[2 * i] = carry & 0x1fff;\n carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff;\n carry = carry >>> 13;\n } // Pad with zeroes\n\n\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub(N) {\n var ph = new Array(N);\n\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp(x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n var rmws = out.words;\n rmws.length = N;\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n }; // Multiply `this` by `num`\n\n\n BN.prototype.mul = function mul(num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n }; // Multiply employing FFT\n\n\n BN.prototype.mulf = function mulf(num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n }; // In-place Multiplication\n\n\n BN.prototype.imul = function imul(num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln(num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n assert(typeof num === 'number');\n assert(num < 0x4000000); // Carry\n\n var carry = 0;\n\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += w / 0x4000000 | 0; // NOTE: lo is 27bit maximum\n\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.muln = function muln(num) {\n return this.clone().imuln(num);\n }; // `this` * `this`\n\n\n BN.prototype.sqr = function sqr() {\n return this.mul(this);\n }; // `this` * `this` in-place\n\n\n BN.prototype.isqr = function isqr() {\n return this.imul(this.clone());\n }; // Math.pow(`this`, `num`)\n\n\n BN.prototype.pow = function pow(num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1); // Skip leading zeroes\n\n var res = this;\n\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n res = res.mul(q);\n }\n }\n\n return res;\n }; // Shift-left in-place\n\n\n BN.prototype.iushln = function iushln(bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = 0x3ffffff >>> 26 - r << 26 - r;\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = (this.words[i] | 0) - newCarry << r;\n this.words[i] = c | carry;\n carry = newCarry >>> 26 - r;\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishln = function ishln(bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n }; // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n\n\n BN.prototype.iushrn = function iushrn(bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n\n if (hint) {\n h = (hint - hint % 26) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ 0x3ffffff >>> r << r;\n var maskedWords = extended;\n h -= s;\n h = Math.max(0, h); // Extended mode, copy masked part\n\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n\n maskedWords.length = s;\n }\n\n if (s === 0) {// No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = carry << 26 - r | word >>> r;\n carry = word & mask;\n } // Push carried bits as a mask\n\n\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishrn = function ishrn(bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n }; // Shift-left\n\n\n BN.prototype.shln = function shln(bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln(bits) {\n return this.clone().iushln(bits);\n }; // Shift-right\n\n\n BN.prototype.shrn = function shrn(bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn(bits) {\n return this.clone().iushrn(bits);\n }; // Test if n bit is set\n\n\n BN.prototype.testn = function testn(bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r; // Fast case: bit is much higher than all existing words\n\n if (this.length <= s) return false; // Check bit and return\n\n var w = this.words[s];\n return !!(w & q);\n }; // Return only lowers bits of number (in-place)\n\n\n BN.prototype.imaskn = function imaskn(bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ 0x3ffffff >>> r << r;\n this.words[this.length - 1] &= mask;\n }\n\n return this._strip();\n }; // Return only lowers bits of number\n\n\n BN.prototype.maskn = function maskn(bits) {\n return this.clone().imaskn(bits);\n }; // Add plain number `num` to `this`\n\n\n BN.prototype.iaddn = function iaddn(num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num); // Possible sign change\n\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n } // Add without checks\n\n\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn(num) {\n this.words[0] += num; // Carry\n\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n\n this.length = Math.max(this.length, i + 1);\n return this;\n }; // Subtract plain number `num` from `this`\n\n\n BN.prototype.isubn = function isubn(num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this._strip();\n };\n\n BN.prototype.addn = function addn(num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn(num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs() {\n this.negative = 0;\n return this;\n };\n\n BN.prototype.abs = function abs() {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul(num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - (right / 0x4000000 | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this._strip(); // Subtraction overflow\n\n assert(carry === -1);\n carry = 0;\n\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n\n this.negative = 1;\n return this._strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv(num, mode) {\n var shift = this.length - num.length;\n var a = this.clone();\n var b = num; // Normalize\n\n var bhi = b.words[b.length - 1] | 0;\n\n var bhiBits = this._countBits(bhi);\n\n shift = 26 - bhiBits;\n\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n } // Initialize quotient\n\n\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n\n if (diff.negative === 0) {\n a = diff;\n\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 + (a.words[b.length + j - 1] | 0); // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n\n qj = Math.min(qj / bhi | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n\n a._ishlnsubmul(b, 1, j);\n\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n\n if (q) {\n q.words[j] = qj;\n }\n }\n\n if (q) {\n q._strip();\n }\n\n a._strip(); // Denormalize\n\n\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n }; // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n\n\n BN.prototype.divmod = function divmod(num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n } // Both numbers are positive at this point\n // Strip both numbers to approximate shift value\n\n\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n } // Very short reduction\n\n\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n }; // Find `this` / `num`\n\n\n BN.prototype.div = function div(num) {\n return this.divmod(num, 'div', false).div;\n }; // Find `this` % `num`\n\n\n BN.prototype.mod = function mod(num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod(num) {\n return this.divmod(num, 'mod', true).mod;\n }; // Find Round(`this` / `num`)\n\n\n BN.prototype.divRound = function divRound(num) {\n var dm = this.divmod(num); // Fast case - exact division\n\n if (dm.mod.isZero()) return dm.div;\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half); // Round down\n\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div; // Round up\n\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modrn = function modrn(num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n var acc = 0;\n\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return isNegNum ? -acc : acc;\n }; // WARNING: DEPRECATED\n\n\n BN.prototype.modn = function modn(num) {\n return this.modrn(num);\n }; // In-place division by number\n\n\n BN.prototype.idivn = function idivn(num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n assert(num <= 0x3ffffff);\n var carry = 0;\n\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = w / num | 0;\n carry = w % num;\n }\n\n this._strip();\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.divn = function divn(num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd(p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n } // A * x + B * y = x\n\n\n var A = new BN(1);\n var B = new BN(0); // C * x + D * y = y\n\n var C = new BN(0);\n var D = new BN(1);\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1) {\n ;\n }\n\n if (i > 0) {\n x.iushrn(i);\n\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1) {\n ;\n }\n\n if (j > 0) {\n y.iushrn(j);\n\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n }; // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n\n\n BN.prototype._invmp = function _invmp(p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1) {\n ;\n }\n\n if (i > 0) {\n a.iushrn(i);\n\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1) {\n ;\n }\n\n if (j > 0) {\n b.iushrn(j);\n\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd(num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0; // Remove common factor of two\n\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n }; // Invert number in the field F(num)\n\n\n BN.prototype.invm = function invm(num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven() {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd() {\n return (this.words[0] & 1) === 1;\n }; // And first word and num\n\n\n BN.prototype.andln = function andln(num) {\n return this.words[0] & num;\n }; // Increment at the bit position in-line\n\n\n BN.prototype.bincn = function bincn(bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r; // Fast case: bit is much higher than all existing words\n\n if (this.length <= s) {\n this._expand(s + 1);\n\n this.words[s] |= q;\n return this;\n } // Add bit and propagate, if needed\n\n\n var carry = q;\n\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.isZero = function isZero() {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn(num) {\n var negative = num < 0;\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this._strip();\n\n var res;\n\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n\n if (this.negative !== 0) return -res | 0;\n return res;\n }; // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n\n\n BN.prototype.cmp = function cmp(num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n }; // Unsigned comparison\n\n\n BN.prototype.ucmp = function ucmp(num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n var res = 0;\n\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n if (a === b) continue;\n\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n\n break;\n }\n\n return res;\n };\n\n BN.prototype.gtn = function gtn(num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt(num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten(num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte(num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn(num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt(num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten(num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte(num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn(num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq(num) {\n return this.cmp(num) === 0;\n }; //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n\n\n BN.red = function red(num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed(ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed() {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed(ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed(ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd(num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd(num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub(num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub(num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl(num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul(num) {\n assert(this.red, 'redMul works only with red numbers');\n\n this.red._verify2(this, num);\n\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul(num) {\n assert(this.red, 'redMul works only with red numbers');\n\n this.red._verify2(this, num);\n\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr() {\n assert(this.red, 'redSqr works only with red numbers');\n\n this.red._verify1(this);\n\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr() {\n assert(this.red, 'redISqr works only with red numbers');\n\n this.red._verify1(this);\n\n return this.red.isqr(this);\n }; // Square root over p\n\n\n BN.prototype.redSqrt = function redSqrt() {\n assert(this.red, 'redSqrt works only with red numbers');\n\n this.red._verify1(this);\n\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm() {\n assert(this.red, 'redInvm works only with red numbers');\n\n this.red._verify1(this);\n\n return this.red.invm(this);\n }; // Return negative clone of `this` % `red modulo`\n\n\n BN.prototype.redNeg = function redNeg() {\n assert(this.red, 'redNeg works only with red numbers');\n\n this.red._verify1(this);\n\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow(num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n\n this.red._verify1(this);\n\n return this.red.pow(this, num);\n }; // Prime numbers with efficient reduction\n\n\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n }; // Pseudo-Mersenne prime\n\n function MPrime(name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp() {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce(num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is a BN v4 instance\n r.strip();\n } else {\n // r is a BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split(input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK(num) {\n return num.imul(this.k);\n };\n\n function K256() {\n MPrime.call(this, 'k256', 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n\n inherits(K256, MPrime);\n\n K256.prototype.split = function split(input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n var outLen = Math.min(input.length, 9);\n\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n } // Shift by 9 limbs\n\n\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = (next & mask) << 4 | prev >>> 22;\n prev = next;\n }\n\n prev >>>= 22;\n input.words[i - 10] = prev;\n\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK(num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2; // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n\n var lo = 0;\n\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + (lo / 0x4000000 | 0);\n } // Fast length reduction\n\n\n if (num.words[num.length - 1] === 0) {\n num.length--;\n\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n\n return num;\n };\n\n function P224() {\n MPrime.call(this, 'p224', 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n\n inherits(P224, MPrime);\n\n function P192() {\n MPrime.call(this, 'p192', 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n\n inherits(P192, MPrime);\n\n function P25519() {\n // 2 ^ 255 - 19\n MPrime.call(this, '25519', '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK(num) {\n // K = 0x13\n var carry = 0;\n\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n num.words[i] = lo;\n carry = hi;\n }\n\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n\n return num;\n }; // Exported mostly for testing purposes, use plain name instead\n\n\n BN._prime = function prime(name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n var prime;\n\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n\n primes[name] = prime;\n return prime;\n }; //\n // Base reduction engine\n //\n\n\n function Red(m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1(a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2(a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red, 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod(a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n\n Red.prototype.neg = function neg(a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add(a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd(a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n\n return res;\n };\n\n Red.prototype.sub = function sub(a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub(a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n\n return res;\n };\n\n Red.prototype.shl = function shl(a, num) {\n this._verify1(a);\n\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul(a, b) {\n this._verify2(a, b);\n\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul(a, b) {\n this._verify2(a, b);\n\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr(a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr(a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt(a) {\n if (a.isZero()) return a.clone();\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1); // Fast case\n\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n } // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n\n\n var q = this.m.subn(1);\n var s = 0;\n\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n\n assert(!q.isZero());\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg(); // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n\n while (t.cmp(one) !== 0) {\n var tmp = t;\n\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm(a) {\n var inv = a._invmp(this.m);\n\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow(a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n\n for (var j = start - 1; j >= 0; j--) {\n var bit = word >> j & 1;\n\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo(num) {\n var r = num.umod(this.m);\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom(num) {\n var res = num.clone();\n res.red = null;\n return res;\n }; //\n // Montgomery method engine\n //\n\n\n BN.mont = function mont(num) {\n return new Mont(num);\n };\n\n function Mont(m) {\n Red.call(this, m);\n this.shift = this.m.bitLength();\n\n if (this.shift % 26 !== 0) {\n this.shift += 26 - this.shift % 26;\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo(num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom(num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul(a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul(a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm(a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);","\"use strict\";\n\nvar _defineProperty = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/defineProperty.js\");\n\nvar _slicedToArray = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/slicedToArray.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nvar _wrapNativeSuper = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/wrapNativeSuper.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n});\n\nvar __decorate = this && this.__decorate || function (decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {\n if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n }\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\nvar __importStar = this && this.__importStar || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) {\n if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n }\n\n __setModuleDefault(result, mod);\n\n return result;\n};\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.deserializeUnchecked = exports.deserialize = exports.serialize = exports.BinaryReader = exports.BinaryWriter = exports.BorshError = exports.baseDecode = exports.baseEncode = void 0;\n\nvar bn_js_1 = __importDefault(require(\"bn.js\"));\n\nvar bs58_1 = __importDefault(require(\"bs58\")); // TODO: Make sure this polyfill not included when not required\n\n\nvar encoding = __importStar(require(\"text-encoding-utf-8\"));\n\nvar ResolvedTextDecoder = typeof TextDecoder !== \"function\" ? encoding.TextDecoder : TextDecoder;\nvar textDecoder = new ResolvedTextDecoder(\"utf-8\", {\n fatal: true\n});\n\nfunction baseEncode(value) {\n if (typeof value === \"string\") {\n value = Buffer.from(value, \"utf8\");\n }\n\n return bs58_1.default.encode(Buffer.from(value));\n}\n\nexports.baseEncode = baseEncode;\n\nfunction baseDecode(value) {\n return Buffer.from(bs58_1.default.decode(value));\n}\n\nexports.baseDecode = baseDecode;\nvar INITIAL_LENGTH = 1024;\n\nvar BorshError = /*#__PURE__*/function (_Error) {\n _inherits(BorshError, _Error);\n\n var _super = _createSuper(BorshError);\n\n function BorshError(message) {\n var _this;\n\n _classCallCheck(this, BorshError);\n\n _this = _super.call(this, message);\n _this.fieldPath = [];\n _this.originalMessage = message;\n return _this;\n }\n\n _createClass(BorshError, [{\n key: \"addToFieldPath\",\n value: function addToFieldPath(fieldName) {\n this.fieldPath.splice(0, 0, fieldName); // NOTE: Modifying message directly as jest doesn't use .toString()\n\n this.message = this.originalMessage + \": \" + this.fieldPath.join(\".\");\n }\n }]);\n\n return BorshError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nexports.BorshError = BorshError; /// Binary encoder.\n\nvar BinaryWriter = /*#__PURE__*/function () {\n function BinaryWriter() {\n _classCallCheck(this, BinaryWriter);\n\n this.buf = Buffer.alloc(INITIAL_LENGTH);\n this.length = 0;\n }\n\n _createClass(BinaryWriter, [{\n key: \"maybeResize\",\n value: function maybeResize() {\n if (this.buf.length < 16 + this.length) {\n this.buf = Buffer.concat([this.buf, Buffer.alloc(INITIAL_LENGTH)]);\n }\n }\n }, {\n key: \"writeU8\",\n value: function writeU8(value) {\n this.maybeResize();\n this.buf.writeUInt8(value, this.length);\n this.length += 1;\n }\n }, {\n key: \"writeU16\",\n value: function writeU16(value) {\n this.maybeResize();\n this.buf.writeUInt16LE(value, this.length);\n this.length += 2;\n }\n }, {\n key: \"writeU32\",\n value: function writeU32(value) {\n this.maybeResize();\n this.buf.writeUInt32LE(value, this.length);\n this.length += 4;\n }\n }, {\n key: \"writeU64\",\n value: function writeU64(value) {\n this.maybeResize();\n this.writeBuffer(Buffer.from(new bn_js_1.default(value).toArray(\"le\", 8)));\n }\n }, {\n key: \"writeU128\",\n value: function writeU128(value) {\n this.maybeResize();\n this.writeBuffer(Buffer.from(new bn_js_1.default(value).toArray(\"le\", 16)));\n }\n }, {\n key: \"writeU256\",\n value: function writeU256(value) {\n this.maybeResize();\n this.writeBuffer(Buffer.from(new bn_js_1.default(value).toArray(\"le\", 32)));\n }\n }, {\n key: \"writeU512\",\n value: function writeU512(value) {\n this.maybeResize();\n this.writeBuffer(Buffer.from(new bn_js_1.default(value).toArray(\"le\", 64)));\n }\n }, {\n key: \"writeBuffer\",\n value: function writeBuffer(buffer) {\n // Buffer.from is needed as this.buf.subarray can return plain Uint8Array in browser\n this.buf = Buffer.concat([Buffer.from(this.buf.subarray(0, this.length)), buffer, Buffer.alloc(INITIAL_LENGTH)]);\n this.length += buffer.length;\n }\n }, {\n key: \"writeString\",\n value: function writeString(str) {\n this.maybeResize();\n var b = Buffer.from(str, \"utf8\");\n this.writeU32(b.length);\n this.writeBuffer(b);\n }\n }, {\n key: \"writeFixedArray\",\n value: function writeFixedArray(array) {\n this.writeBuffer(Buffer.from(array));\n }\n }, {\n key: \"writeArray\",\n value: function writeArray(array, fn) {\n this.maybeResize();\n this.writeU32(array.length);\n\n var _iterator = _createForOfIteratorHelper(array),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var elem = _step.value;\n this.maybeResize();\n fn(elem);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }, {\n key: \"toArray\",\n value: function toArray() {\n return this.buf.subarray(0, this.length);\n }\n }]);\n\n return BinaryWriter;\n}();\n\nexports.BinaryWriter = BinaryWriter;\n\nfunction handlingRangeError(target, propertyKey, propertyDescriptor) {\n var originalMethod = propertyDescriptor.value;\n\n propertyDescriptor.value = function () {\n try {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return originalMethod.apply(this, args);\n } catch (e) {\n if (e instanceof RangeError) {\n var code = e.code;\n\n if ([\"ERR_BUFFER_OUT_OF_BOUNDS\", \"ERR_OUT_OF_RANGE\"].indexOf(code) >= 0) {\n throw new BorshError(\"Reached the end of buffer when deserializing\");\n }\n }\n\n throw e;\n }\n };\n}\n\nvar BinaryReader = /*#__PURE__*/function () {\n function BinaryReader(buf) {\n _classCallCheck(this, BinaryReader);\n\n this.buf = buf;\n this.offset = 0;\n }\n\n _createClass(BinaryReader, [{\n key: \"readU8\",\n value: function readU8() {\n var value = this.buf.readUInt8(this.offset);\n this.offset += 1;\n return value;\n }\n }, {\n key: \"readU16\",\n value: function readU16() {\n var value = this.buf.readUInt16LE(this.offset);\n this.offset += 2;\n return value;\n }\n }, {\n key: \"readU32\",\n value: function readU32() {\n var value = this.buf.readUInt32LE(this.offset);\n this.offset += 4;\n return value;\n }\n }, {\n key: \"readU64\",\n value: function readU64() {\n var buf = this.readBuffer(8);\n return new bn_js_1.default(buf, \"le\");\n }\n }, {\n key: \"readU128\",\n value: function readU128() {\n var buf = this.readBuffer(16);\n return new bn_js_1.default(buf, \"le\");\n }\n }, {\n key: \"readU256\",\n value: function readU256() {\n var buf = this.readBuffer(32);\n return new bn_js_1.default(buf, \"le\");\n }\n }, {\n key: \"readU512\",\n value: function readU512() {\n var buf = this.readBuffer(64);\n return new bn_js_1.default(buf, \"le\");\n }\n }, {\n key: \"readBuffer\",\n value: function readBuffer(len) {\n if (this.offset + len > this.buf.length) {\n throw new BorshError(\"Expected buffer length \".concat(len, \" isn't within bounds\"));\n }\n\n var result = this.buf.slice(this.offset, this.offset + len);\n this.offset += len;\n return result;\n }\n }, {\n key: \"readString\",\n value: function readString() {\n var len = this.readU32();\n var buf = this.readBuffer(len);\n\n try {\n // NOTE: Using TextDecoder to fail on invalid UTF-8\n return textDecoder.decode(buf);\n } catch (e) {\n throw new BorshError(\"Error decoding UTF-8 string: \".concat(e));\n }\n }\n }, {\n key: \"readFixedArray\",\n value: function readFixedArray(len) {\n return new Uint8Array(this.readBuffer(len));\n }\n }, {\n key: \"readArray\",\n value: function readArray(fn) {\n var len = this.readU32();\n var result = Array();\n\n for (var i = 0; i < len; ++i) {\n result.push(fn());\n }\n\n return result;\n }\n }]);\n\n return BinaryReader;\n}();\n\n__decorate([handlingRangeError], BinaryReader.prototype, \"readU8\", null);\n\n__decorate([handlingRangeError], BinaryReader.prototype, \"readU16\", null);\n\n__decorate([handlingRangeError], BinaryReader.prototype, \"readU32\", null);\n\n__decorate([handlingRangeError], BinaryReader.prototype, \"readU64\", null);\n\n__decorate([handlingRangeError], BinaryReader.prototype, \"readU128\", null);\n\n__decorate([handlingRangeError], BinaryReader.prototype, \"readU256\", null);\n\n__decorate([handlingRangeError], BinaryReader.prototype, \"readU512\", null);\n\n__decorate([handlingRangeError], BinaryReader.prototype, \"readString\", null);\n\n__decorate([handlingRangeError], BinaryReader.prototype, \"readFixedArray\", null);\n\n__decorate([handlingRangeError], BinaryReader.prototype, \"readArray\", null);\n\nexports.BinaryReader = BinaryReader;\n\nfunction capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nfunction serializeField(schema, fieldName, value, fieldType, writer) {\n try {\n // TODO: Handle missing values properly (make sure they never result in just skipped write)\n if (typeof fieldType === \"string\") {\n writer[\"write\".concat(capitalizeFirstLetter(fieldType))](value);\n } else if (fieldType instanceof Array) {\n if (typeof fieldType[0] === \"number\") {\n if (value.length !== fieldType[0]) {\n throw new BorshError(\"Expecting byte array of length \".concat(fieldType[0], \", but got \").concat(value.length, \" bytes\"));\n }\n\n writer.writeFixedArray(value);\n } else if (fieldType.length === 2 && typeof fieldType[1] === \"number\") {\n if (value.length !== fieldType[1]) {\n throw new BorshError(\"Expecting byte array of length \".concat(fieldType[1], \", but got \").concat(value.length, \" bytes\"));\n }\n\n for (var i = 0; i < fieldType[1]; i++) {\n serializeField(schema, null, value[i], fieldType[0], writer);\n }\n } else {\n writer.writeArray(value, function (item) {\n serializeField(schema, fieldName, item, fieldType[0], writer);\n });\n }\n } else if (fieldType.kind !== undefined) {\n switch (fieldType.kind) {\n case \"option\":\n {\n if (value === null || value === undefined) {\n writer.writeU8(0);\n } else {\n writer.writeU8(1);\n serializeField(schema, fieldName, value, fieldType.type, writer);\n }\n\n break;\n }\n\n case \"map\":\n {\n writer.writeU32(value.size);\n value.forEach(function (val, key) {\n serializeField(schema, fieldName, key, fieldType.key, writer);\n serializeField(schema, fieldName, val, fieldType.value, writer);\n });\n break;\n }\n\n default:\n throw new BorshError(\"FieldType \".concat(fieldType, \" unrecognized\"));\n }\n } else {\n serializeStruct(schema, value, writer);\n }\n } catch (error) {\n if (error instanceof BorshError) {\n error.addToFieldPath(fieldName);\n }\n\n throw error;\n }\n}\n\nfunction serializeStruct(schema, obj, writer) {\n if (typeof obj.borshSerialize === \"function\") {\n obj.borshSerialize(writer);\n return;\n }\n\n var structSchema = schema.get(obj.constructor);\n\n if (!structSchema) {\n throw new BorshError(\"Class \".concat(obj.constructor.name, \" is missing in schema\"));\n }\n\n if (structSchema.kind === \"struct\") {\n structSchema.fields.map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n fieldName = _ref2[0],\n fieldType = _ref2[1];\n\n serializeField(schema, fieldName, obj[fieldName], fieldType, writer);\n });\n } else if (structSchema.kind === \"enum\") {\n var name = obj[structSchema.field];\n\n for (var idx = 0; idx < structSchema.values.length; ++idx) {\n var _structSchema$values$ = _slicedToArray(structSchema.values[idx], 2),\n fieldName = _structSchema$values$[0],\n fieldType = _structSchema$values$[1];\n\n if (fieldName === name) {\n writer.writeU8(idx);\n serializeField(schema, fieldName, obj[fieldName], fieldType, writer);\n break;\n }\n }\n } else {\n throw new BorshError(\"Unexpected schema kind: \".concat(structSchema.kind, \" for \").concat(obj.constructor.name));\n }\n} /// Serialize given object using schema of the form:\n/// { class_name -> [ [field_name, field_type], .. ], .. }\n\n\nfunction serialize(schema, obj) {\n var Writer = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : BinaryWriter;\n var writer = new Writer();\n serializeStruct(schema, obj, writer);\n return writer.toArray();\n}\n\nexports.serialize = serialize;\n\nfunction deserializeField(schema, fieldName, fieldType, reader) {\n try {\n if (typeof fieldType === \"string\") {\n return reader[\"read\".concat(capitalizeFirstLetter(fieldType))]();\n }\n\n if (fieldType instanceof Array) {\n if (typeof fieldType[0] === \"number\") {\n return reader.readFixedArray(fieldType[0]);\n } else if (typeof fieldType[1] === \"number\") {\n var arr = [];\n\n for (var i = 0; i < fieldType[1]; i++) {\n arr.push(deserializeField(schema, null, fieldType[0], reader));\n }\n\n return arr;\n } else {\n return reader.readArray(function () {\n return deserializeField(schema, fieldName, fieldType[0], reader);\n });\n }\n }\n\n if (fieldType.kind === \"option\") {\n var option = reader.readU8();\n\n if (option) {\n return deserializeField(schema, fieldName, fieldType.type, reader);\n }\n\n return undefined;\n }\n\n if (fieldType.kind === \"map\") {\n var map = new Map();\n var length = reader.readU32();\n\n for (var _i = 0; _i < length; _i++) {\n var key = deserializeField(schema, fieldName, fieldType.key, reader);\n var val = deserializeField(schema, fieldName, fieldType.value, reader);\n map.set(key, val);\n }\n\n return map;\n }\n\n return deserializeStruct(schema, fieldType, reader);\n } catch (error) {\n if (error instanceof BorshError) {\n error.addToFieldPath(fieldName);\n }\n\n throw error;\n }\n}\n\nfunction deserializeStruct(schema, classType, reader) {\n if (typeof classType.borshDeserialize === \"function\") {\n return classType.borshDeserialize(reader);\n }\n\n var structSchema = schema.get(classType);\n\n if (!structSchema) {\n throw new BorshError(\"Class \".concat(classType.name, \" is missing in schema\"));\n }\n\n if (structSchema.kind === \"struct\") {\n var result = {};\n\n var _iterator2 = _createForOfIteratorHelper(schema.get(classType).fields),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _step2$value = _slicedToArray(_step2.value, 2),\n fieldName = _step2$value[0],\n fieldType = _step2$value[1];\n\n result[fieldName] = deserializeField(schema, fieldName, fieldType, reader);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return new classType(result);\n }\n\n if (structSchema.kind === \"enum\") {\n var idx = reader.readU8();\n\n if (idx >= structSchema.values.length) {\n throw new BorshError(\"Enum index: \".concat(idx, \" is out of range\"));\n }\n\n var _structSchema$values$2 = _slicedToArray(structSchema.values[idx], 2),\n _fieldName = _structSchema$values$2[0],\n _fieldType = _structSchema$values$2[1];\n\n var fieldValue = deserializeField(schema, _fieldName, _fieldType, reader);\n return new classType(_defineProperty({}, _fieldName, fieldValue));\n }\n\n throw new BorshError(\"Unexpected schema kind: \".concat(structSchema.kind, \" for \").concat(classType.constructor.name));\n} /// Deserializes object from bytes using schema.\n\n\nfunction deserialize(schema, classType, buffer) {\n var Reader = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : BinaryReader;\n var reader = new Reader(buffer);\n var result = deserializeStruct(schema, classType, reader);\n\n if (reader.offset < buffer.length) {\n throw new BorshError(\"Unexpected \".concat(buffer.length - reader.offset, \" bytes after deserialized data\"));\n }\n\n return result;\n}\n\nexports.deserialize = deserialize; /// Deserializes object from bytes using schema, without checking the length read\n\nfunction deserializeUnchecked(schema, classType, buffer) {\n var Reader = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : BinaryReader;\n var reader = new Reader(buffer);\n return deserializeStruct(schema, classType, reader);\n}\n\nexports.deserializeUnchecked = deserializeUnchecked;","var basex = require('base-x');\n\nvar ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';\nmodule.exports = basex(ALPHABET);","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n/* eslint-disable no-proto */\n'use strict';\n\nvar base64 = require('base64-js');\n\nvar ieee754 = require('ieee754');\n\nvar customInspectSymbol = typeof Symbol === 'function' && typeof Symbol['for'] === 'function' // eslint-disable-line dot-notation\n? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n: null;\nexports.Buffer = Buffer;\nexports.SlowBuffer = SlowBuffer;\nexports.INSPECT_MAX_BYTES = 50;\nvar K_MAX_LENGTH = 0x7fffffff;\nexports.kMaxLength = K_MAX_LENGTH;\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\n\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error('This browser lacks typed array (Uint8Array) support which is required by ' + '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.');\n}\n\nfunction typedArraySupport() {\n // Can typed array instances can be augmented?\n try {\n var arr = new Uint8Array(1);\n var proto = {\n foo: function foo() {\n return 42;\n }\n };\n Object.setPrototypeOf(proto, Uint8Array.prototype);\n Object.setPrototypeOf(arr, proto);\n return arr.foo() === 42;\n } catch (e) {\n return false;\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function get() {\n if (!Buffer.isBuffer(this)) return undefined;\n return this.buffer;\n }\n});\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function get() {\n if (!Buffer.isBuffer(this)) return undefined;\n return this.byteOffset;\n }\n});\n\nfunction createBuffer(length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"');\n } // Return an augmented `Uint8Array` instance\n\n\n var buf = new Uint8Array(length);\n Object.setPrototypeOf(buf, Buffer.prototype);\n return buf;\n}\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\n\nfunction Buffer(arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError('The \"string\" argument must be of type string. Received type number');\n }\n\n return allocUnsafe(arg);\n }\n\n return from(arg, encodingOrOffset, length);\n}\n\nBuffer.poolSize = 8192; // not used by this implementation\n\nfunction from(value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset);\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value);\n }\n\n if (value == null) {\n throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' + 'or Array-like Object. Received type ' + typeof value);\n }\n\n if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' && (isInstance(value, SharedArrayBuffer) || value && isInstance(value.buffer, SharedArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n\n if (typeof value === 'number') {\n throw new TypeError('The \"value\" argument must not be of type number. Received type number');\n }\n\n var valueOf = value.valueOf && value.valueOf();\n\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length);\n }\n\n var b = fromObject(value);\n if (b) return b;\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length);\n }\n\n throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' + 'or Array-like Object. Received type ' + typeof value);\n}\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\n\n\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length);\n}; // Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\n\n\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype);\nObject.setPrototypeOf(Buffer, Uint8Array);\n\nfunction assertSize(size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number');\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"');\n }\n}\n\nfunction alloc(size, fill, encoding) {\n assertSize(size);\n\n if (size <= 0) {\n return createBuffer(size);\n }\n\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string' ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill);\n }\n\n return createBuffer(size);\n}\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\n\n\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding);\n};\n\nfunction allocUnsafe(size) {\n assertSize(size);\n return createBuffer(size < 0 ? 0 : checked(size) | 0);\n}\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\n\n\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size);\n};\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\n\n\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size);\n};\n\nfunction fromString(string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8';\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding);\n }\n\n var length = byteLength(string, encoding) | 0;\n var buf = createBuffer(length);\n var actual = buf.write(string, encoding);\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual);\n }\n\n return buf;\n}\n\nfunction fromArrayLike(array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0;\n var buf = createBuffer(length);\n\n for (var i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255;\n }\n\n return buf;\n}\n\nfunction fromArrayView(arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n var copy = new Uint8Array(arrayView);\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength);\n }\n\n return fromArrayLike(arrayView);\n}\n\nfunction fromArrayBuffer(array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds');\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds');\n }\n\n var buf;\n\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array);\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset);\n } else {\n buf = new Uint8Array(array, byteOffset, length);\n } // Return an augmented `Uint8Array` instance\n\n\n Object.setPrototypeOf(buf, Buffer.prototype);\n return buf;\n}\n\nfunction fromObject(obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0;\n var buf = createBuffer(len);\n\n if (buf.length === 0) {\n return buf;\n }\n\n obj.copy(buf, 0, 0, len);\n return buf;\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0);\n }\n\n return fromArrayLike(obj);\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data);\n }\n}\n\nfunction checked(length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' + 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes');\n }\n\n return length | 0;\n}\n\nfunction SlowBuffer(length) {\n if (+length != length) {\n // eslint-disable-line eqeqeq\n length = 0;\n }\n\n return Buffer.alloc(+length);\n}\n\nBuffer.isBuffer = function isBuffer(b) {\n return b != null && b._isBuffer === true && b !== Buffer.prototype; // so Buffer.isBuffer(Buffer.prototype) will be false\n};\n\nBuffer.compare = function compare(a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');\n }\n\n if (a === b) return 0;\n var x = a.length;\n var y = b.length;\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n};\n\nBuffer.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true;\n\n default:\n return false;\n }\n};\n\nBuffer.concat = function concat(list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0);\n }\n\n var i;\n\n if (length === undefined) {\n length = 0;\n\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n\n var buffer = Buffer.allocUnsafe(length);\n var pos = 0;\n\n for (i = 0; i < list.length; ++i) {\n var buf = list[i];\n\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n Buffer.from(buf).copy(buffer, pos);\n } else {\n Uint8Array.prototype.set.call(buffer, buf, pos);\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n } else {\n buf.copy(buffer, pos);\n }\n\n pos += buf.length;\n }\n\n return buffer;\n};\n\nfunction byteLength(string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length;\n }\n\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength;\n }\n\n if (typeof string !== 'string') {\n throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' + 'Received type ' + typeof string);\n }\n\n var len = string.length;\n var mustMatch = arguments.length > 2 && arguments[2] === true;\n if (!mustMatch && len === 0) return 0; // Use a for loop to avoid recursion\n\n var loweredCase = false;\n\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len;\n\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length;\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2;\n\n case 'hex':\n return len >>> 1;\n\n case 'base64':\n return base64ToBytes(string).length;\n\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length; // assume utf8\n }\n\n encoding = ('' + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n}\n\nBuffer.byteLength = byteLength;\n\nfunction slowToString(encoding, start, end) {\n var loweredCase = false; // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\n if (start === undefined || start < 0) {\n start = 0;\n } // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n\n\n if (start > this.length) {\n return '';\n }\n\n if (end === undefined || end > this.length) {\n end = this.length;\n }\n\n if (end <= 0) {\n return '';\n } // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n\n\n end >>>= 0;\n start >>>= 0;\n\n if (end <= start) {\n return '';\n }\n\n if (!encoding) encoding = 'utf8';\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end);\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end);\n\n case 'ascii':\n return asciiSlice(this, start, end);\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end);\n\n case 'base64':\n return base64Slice(this, start, end);\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end);\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);\n encoding = (encoding + '').toLowerCase();\n loweredCase = true;\n }\n }\n} // This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\n\n\nBuffer.prototype._isBuffer = true;\n\nfunction swap(b, n, m) {\n var i = b[n];\n b[n] = b[m];\n b[m] = i;\n}\n\nBuffer.prototype.swap16 = function swap16() {\n var len = this.length;\n\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits');\n }\n\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1);\n }\n\n return this;\n};\n\nBuffer.prototype.swap32 = function swap32() {\n var len = this.length;\n\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits');\n }\n\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n\n return this;\n};\n\nBuffer.prototype.swap64 = function swap64() {\n var len = this.length;\n\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits');\n }\n\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n\n return this;\n};\n\nBuffer.prototype.toString = function toString() {\n var length = this.length;\n if (length === 0) return '';\n if (arguments.length === 0) return utf8Slice(this, 0, length);\n return slowToString.apply(this, arguments);\n};\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString;\n\nBuffer.prototype.equals = function equals(b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer');\n if (this === b) return true;\n return Buffer.compare(this, b) === 0;\n};\n\nBuffer.prototype.inspect = function inspect() {\n var str = '';\n var max = exports.INSPECT_MAX_BYTES;\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim();\n if (this.length > max) str += ' ... ';\n return '';\n};\n\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n}\n\nBuffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength);\n }\n\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. ' + 'Received type ' + typeof target);\n }\n\n if (start === undefined) {\n start = 0;\n }\n\n if (end === undefined) {\n end = target ? target.length : 0;\n }\n\n if (thisStart === undefined) {\n thisStart = 0;\n }\n\n if (thisEnd === undefined) {\n thisEnd = this.length;\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index');\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0;\n }\n\n if (thisStart >= thisEnd) {\n return -1;\n }\n\n if (start >= end) {\n return 1;\n }\n\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n if (this === target) return 0;\n var x = thisEnd - thisStart;\n var y = end - start;\n var len = Math.min(x, y);\n var thisCopy = this.slice(thisStart, thisEnd);\n var targetCopy = target.slice(start, end);\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n }\n\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n}; // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\n\n\nfunction bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1; // Normalize byteOffset\n\n if (typeof byteOffset === 'string') {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff;\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000;\n }\n\n byteOffset = +byteOffset; // Coerce to Number.\n\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : buffer.length - 1;\n } // Normalize byteOffset: negative offsets start from the end of the buffer\n\n\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\n if (byteOffset >= buffer.length) {\n if (dir) return -1;else byteOffset = buffer.length - 1;\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0;else return -1;\n } // Normalize val\n\n\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding);\n } // Finally, search either indexOf (if dir is true) or lastIndexOf\n\n\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1;\n }\n\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === 'number') {\n val = val & 0xFF; // Search for a byte value [0-255]\n\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n }\n }\n\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);\n }\n\n throw new TypeError('val must be string, number or Buffer');\n}\n\nfunction arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n var indexSize = 1;\n var arrLength = arr.length;\n var valLength = val.length;\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase();\n\n if (encoding === 'ucs2' || encoding === 'ucs-2' || encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1;\n }\n\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n\n function read(buf, i) {\n if (indexSize === 1) {\n return buf[i];\n } else {\n return buf.readUInt16BE(i * indexSize);\n }\n }\n\n var i;\n\n if (dir) {\n var foundIndex = -1;\n\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i;\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1) i -= i - foundIndex;\n foundIndex = -1;\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\n for (i = byteOffset; i >= 0; i--) {\n var found = true;\n\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false;\n break;\n }\n }\n\n if (found) return i;\n }\n }\n\n return -1;\n}\n\nBuffer.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n};\n\nBuffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n};\n\nBuffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n};\n\nfunction hexWrite(buf, string, offset, length) {\n offset = Number(offset) || 0;\n var remaining = buf.length - offset;\n\n if (!length) {\n length = remaining;\n } else {\n length = Number(length);\n\n if (length > remaining) {\n length = remaining;\n }\n }\n\n var strLen = string.length;\n\n if (length > strLen / 2) {\n length = strLen / 2;\n }\n\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16);\n if (numberIsNaN(parsed)) return i;\n buf[offset + i] = parsed;\n }\n\n return i;\n}\n\nfunction utf8Write(buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length);\n}\n\nfunction asciiWrite(buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length);\n}\n\nfunction base64Write(buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length);\n}\n\nfunction ucs2Write(buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length);\n}\n\nBuffer.prototype.write = function write(string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8';\n length = this.length;\n offset = 0; // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset;\n length = this.length;\n offset = 0; // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0;\n\n if (isFinite(length)) {\n length = length >>> 0;\n if (encoding === undefined) encoding = 'utf8';\n } else {\n encoding = length;\n length = undefined;\n }\n } else {\n throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported');\n }\n\n var remaining = this.length - offset;\n if (length === undefined || length > remaining) length = remaining;\n\n if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds');\n }\n\n if (!encoding) encoding = 'utf8';\n var loweredCase = false;\n\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length);\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length);\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length);\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length);\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length);\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);\n encoding = ('' + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n};\n\nBuffer.prototype.toJSON = function toJSON() {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n};\n\nfunction base64Slice(buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf);\n } else {\n return base64.fromByteArray(buf.slice(start, end));\n }\n}\n\nfunction utf8Slice(buf, start, end) {\n end = Math.min(buf.length, end);\n var res = [];\n var i = start;\n\n while (i < end) {\n var firstByte = buf[i];\n var codePoint = null;\n var bytesPerSequence = firstByte > 0xEF ? 4 : firstByte > 0xDF ? 3 : firstByte > 0xBF ? 2 : 1;\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint;\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte;\n }\n\n break;\n\n case 2:\n secondByte = buf[i + 1];\n\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | secondByte & 0x3F;\n\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint;\n }\n }\n\n break;\n\n case 3:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | thirdByte & 0x3F;\n\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint;\n }\n }\n\n break;\n\n case 4:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n fourthByte = buf[i + 3];\n\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | fourthByte & 0x3F;\n\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint;\n }\n }\n\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD;\n bytesPerSequence = 1;\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000;\n res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n codePoint = 0xDC00 | codePoint & 0x3FF;\n }\n\n res.push(codePoint);\n i += bytesPerSequence;\n }\n\n return decodeCodePointsArray(res);\n} // Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\n\n\nvar MAX_ARGUMENTS_LENGTH = 0x1000;\n\nfunction decodeCodePointsArray(codePoints) {\n var len = codePoints.length;\n\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints); // avoid extra slice()\n } // Decode in chunks to avoid \"call stack size exceeded\".\n\n\n var res = '';\n var i = 0;\n\n while (i < len) {\n res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));\n }\n\n return res;\n}\n\nfunction asciiSlice(buf, start, end) {\n var ret = '';\n end = Math.min(buf.length, end);\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F);\n }\n\n return ret;\n}\n\nfunction latin1Slice(buf, start, end) {\n var ret = '';\n end = Math.min(buf.length, end);\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i]);\n }\n\n return ret;\n}\n\nfunction hexSlice(buf, start, end) {\n var len = buf.length;\n if (!start || start < 0) start = 0;\n if (!end || end < 0 || end > len) end = len;\n var out = '';\n\n for (var i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]];\n }\n\n return out;\n}\n\nfunction utf16leSlice(buf, start, end) {\n var bytes = buf.slice(start, end);\n var res = ''; // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n\n for (var i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n }\n\n return res;\n}\n\nBuffer.prototype.slice = function slice(start, end) {\n var len = this.length;\n start = ~~start;\n end = end === undefined ? len : ~~end;\n\n if (start < 0) {\n start += len;\n if (start < 0) start = 0;\n } else if (start > len) {\n start = len;\n }\n\n if (end < 0) {\n end += len;\n if (end < 0) end = 0;\n } else if (end > len) {\n end = len;\n }\n\n if (end < start) end = start;\n var newBuf = this.subarray(start, end); // Return an augmented `Uint8Array` instance\n\n Object.setPrototypeOf(newBuf, Buffer.prototype);\n return newBuf;\n};\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\n\n\nfunction checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0) throw new RangeError('offset is not uint');\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length');\n}\n\nBuffer.prototype.readUintLE = Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n var val = this[offset];\n var mul = 1;\n var i = 0;\n\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul;\n }\n\n return val;\n};\n\nBuffer.prototype.readUintBE = Buffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length);\n }\n\n var val = this[offset + --byteLength];\n var mul = 1;\n\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul;\n }\n\n return val;\n};\n\nBuffer.prototype.readUint8 = Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 1, this.length);\n return this[offset];\n};\n\nBuffer.prototype.readUint16LE = Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] | this[offset + 1] << 8;\n};\n\nBuffer.prototype.readUint16BE = Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] << 8 | this[offset + 1];\n};\n\nBuffer.prototype.readUint32LE = Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 0x1000000;\n};\n\nBuffer.prototype.readUint32BE = Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] * 0x1000000 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n};\n\nBuffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n var val = this[offset];\n var mul = 1;\n var i = 0;\n\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul;\n }\n\n mul *= 0x80;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n};\n\nBuffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n var i = byteLength;\n var mul = 1;\n var val = this[offset + --i];\n\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul;\n }\n\n mul *= 0x80;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n};\n\nBuffer.prototype.readInt8 = function readInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 1, this.length);\n if (!(this[offset] & 0x80)) return this[offset];\n return (0xff - this[offset] + 1) * -1;\n};\n\nBuffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n var val = this[offset] | this[offset + 1] << 8;\n return val & 0x8000 ? val | 0xFFFF0000 : val;\n};\n\nBuffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n var val = this[offset + 1] | this[offset] << 8;\n return val & 0x8000 ? val | 0xFFFF0000 : val;\n};\n\nBuffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n};\n\nBuffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n};\n\nBuffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, true, 23, 4);\n};\n\nBuffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, false, 23, 4);\n};\n\nBuffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, true, 52, 8);\n};\n\nBuffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, false, 52, 8);\n};\n\nfunction checkInt(buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance');\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds');\n if (offset + ext > buf.length) throw new RangeError('Index out of range');\n}\n\nBuffer.prototype.writeUintLE = Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n\n var mul = 1;\n var i = 0;\n this[offset] = value & 0xFF;\n\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = value / mul & 0xFF;\n }\n\n return offset + byteLength;\n};\n\nBuffer.prototype.writeUintBE = Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n\n var i = byteLength - 1;\n var mul = 1;\n this[offset + i] = value & 0xFF;\n\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = value / mul & 0xFF;\n }\n\n return offset + byteLength;\n};\n\nBuffer.prototype.writeUint8 = Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n this[offset] = value & 0xff;\n return offset + 1;\n};\n\nBuffer.prototype.writeUint16LE = Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n};\n\nBuffer.prototype.writeUint16BE = Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n return offset + 2;\n};\n\nBuffer.prototype.writeUint32LE = Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 0xff;\n return offset + 4;\n};\n\nBuffer.prototype.writeUint32BE = Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n return offset + 4;\n};\n\nBuffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1);\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n\n var i = 0;\n var mul = 1;\n var sub = 0;\n this[offset] = value & 0xFF;\n\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1;\n }\n\n this[offset + i] = (value / mul >> 0) - sub & 0xFF;\n }\n\n return offset + byteLength;\n};\n\nBuffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1);\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n\n var i = byteLength - 1;\n var mul = 1;\n var sub = 0;\n this[offset + i] = value & 0xFF;\n\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1;\n }\n\n this[offset + i] = (value / mul >> 0) - sub & 0xFF;\n }\n\n return offset + byteLength;\n};\n\nBuffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n if (value < 0) value = 0xff + value + 1;\n this[offset] = value & 0xff;\n return offset + 1;\n};\n\nBuffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n};\n\nBuffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n return offset + 2;\n};\n\nBuffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n return offset + 4;\n};\n\nBuffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n if (value < 0) value = 0xffffffff + value + 1;\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n return offset + 4;\n};\n\nfunction checkIEEE754(buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range');\n if (offset < 0) throw new RangeError('Index out of range');\n}\n\nfunction writeFloat(buf, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38);\n }\n\n ieee754.write(buf, value, offset, littleEndian, 23, 4);\n return offset + 4;\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert);\n};\n\nBuffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert);\n};\n\nfunction writeDouble(buf, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308);\n }\n\n ieee754.write(buf, value, offset, littleEndian, 52, 8);\n return offset + 8;\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert);\n};\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert);\n}; // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\n\nBuffer.prototype.copy = function copy(target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer');\n if (!start) start = 0;\n if (!end && end !== 0) end = this.length;\n if (targetStart >= target.length) targetStart = target.length;\n if (!targetStart) targetStart = 0;\n if (end > 0 && end < start) end = start; // Copy 0 bytes; we're done\n\n if (end === start) return 0;\n if (target.length === 0 || this.length === 0) return 0; // Fatal error conditions\n\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds');\n }\n\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range');\n if (end < 0) throw new RangeError('sourceEnd out of bounds'); // Are we oob?\n\n if (end > this.length) end = this.length;\n\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n\n var len = end - start;\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end);\n } else {\n Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart);\n }\n\n return len;\n}; // Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\n\n\nBuffer.prototype.fill = function fill(val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === 'string') {\n encoding = end;\n end = this.length;\n }\n\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string');\n }\n\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding);\n }\n\n if (val.length === 1) {\n var code = val.charCodeAt(0);\n\n if (encoding === 'utf8' && code < 128 || encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code;\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255;\n } else if (typeof val === 'boolean') {\n val = Number(val);\n } // Invalid ranges are not set to a default, so can range check early.\n\n\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index');\n }\n\n if (end <= start) {\n return this;\n }\n\n start = start >>> 0;\n end = end === undefined ? this.length : end >>> 0;\n if (!val) val = 0;\n var i;\n\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n var bytes = Buffer.isBuffer(val) ? val : Buffer.from(val, encoding);\n var len = bytes.length;\n\n if (len === 0) {\n throw new TypeError('The value \"' + val + '\" is invalid for argument \"value\"');\n }\n\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n\n return this;\n}; // HELPER FUNCTIONS\n// ================\n\n\nvar INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\nfunction base64clean(str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]; // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n\n str = str.trim().replace(INVALID_BASE64_RE, ''); // Node converts strings with length < 2 to ''\n\n if (str.length < 2) return ''; // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\n while (str.length % 4 !== 0) {\n str = str + '=';\n }\n\n return str;\n}\n\nfunction utf8ToBytes(string, units) {\n units = units || Infinity;\n var codePoint;\n var length = string.length;\n var leadSurrogate = null;\n var bytes = [];\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i); // is surrogate component\n\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue;\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue;\n } // valid lead\n\n\n leadSurrogate = codePoint;\n continue;\n } // 2 leads in a row\n\n\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n leadSurrogate = codePoint;\n continue;\n } // valid surrogate pair\n\n\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n }\n\n leadSurrogate = null; // encode utf8\n\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break;\n bytes.push(codePoint);\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break;\n bytes.push(codePoint >> 0x6 | 0xC0, codePoint & 0x3F | 0x80);\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break;\n bytes.push(codePoint >> 0xC | 0xE0, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break;\n bytes.push(codePoint >> 0x12 | 0xF0, codePoint >> 0xC & 0x3F | 0x80, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);\n } else {\n throw new Error('Invalid code point');\n }\n }\n\n return bytes;\n}\n\nfunction asciiToBytes(str) {\n var byteArray = [];\n\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF);\n }\n\n return byteArray;\n}\n\nfunction utf16leToBytes(str, units) {\n var c, hi, lo;\n var byteArray = [];\n\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break;\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n\n return byteArray;\n}\n\nfunction base64ToBytes(str) {\n return base64.toByteArray(base64clean(str));\n}\n\nfunction blitBuffer(src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length) break;\n dst[i + offset] = src[i];\n }\n\n return i;\n} // ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\n\n\nfunction isInstance(obj, type) {\n return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name;\n}\n\nfunction numberIsNaN(obj) {\n // For IE11 support\n return obj !== obj; // eslint-disable-line no-self-compare\n} // Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\n\n\nvar hexSliceLookupTable = function () {\n var alphabet = '0123456789abcdef';\n var table = new Array(256);\n\n for (var i = 0; i < 16; ++i) {\n var i16 = i * 16;\n\n for (var j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j];\n }\n }\n\n return table;\n}();","require(\".\").check(\"es5\");","require(\"./lib/definitions\");\n\nmodule.exports = require(\"./lib\");","var CapabilityDetector = function CapabilityDetector() {\n this.tests = {};\n this.cache = {};\n};\n\nCapabilityDetector.prototype = {\n constructor: CapabilityDetector,\n define: function define(name, test) {\n if (typeof name != \"string\" || !(test instanceof Function)) throw new Error(\"Invalid capability definition.\");\n if (this.tests[name]) throw new Error('Duplicated capability definition by \"' + name + '\".');\n this.tests[name] = test;\n },\n check: function check(name) {\n if (!this.test(name)) throw new Error('The current environment does not support \"' + name + '\", therefore we cannot continue.');\n },\n test: function test(name) {\n if (this.cache[name] !== undefined) return this.cache[name];\n if (!this.tests[name]) throw new Error('Unknown capability with name \"' + name + '\".');\n var test = this.tests[name];\n this.cache[name] = !!test();\n return this.cache[name];\n }\n};\nmodule.exports = CapabilityDetector;","var capability = require(\".\"),\n define = capability.define,\n test = capability.test;\n\ndefine(\"strict mode\", function () {\n return this === undefined;\n});\ndefine(\"arguments.callee.caller\", function () {\n try {\n return function () {\n return arguments.callee.caller;\n }() === arguments.callee;\n } catch (strictModeIsEnforced) {\n return false;\n }\n});\ndefine(\"es5\", function () {\n return test(\"Array.prototype.forEach\") && test(\"Array.prototype.map\") && test(\"Function.prototype.bind\") && test(\"Object.create\") && test(\"Object.defineProperties\") && test(\"Object.defineProperty\") && test(\"Object.prototype.hasOwnProperty\");\n});\ndefine(\"Array.prototype.forEach\", function () {\n return Array.prototype.forEach;\n});\ndefine(\"Array.prototype.map\", function () {\n return Array.prototype.map;\n});\ndefine(\"Function.prototype.bind\", function () {\n return Function.prototype.bind;\n});\ndefine(\"Object.create\", function () {\n return Object.create;\n});\ndefine(\"Object.defineProperties\", function () {\n return Object.defineProperties;\n});\ndefine(\"Object.defineProperty\", function () {\n return Object.defineProperty;\n});\ndefine(\"Object.prototype.hasOwnProperty\", function () {\n return Object.prototype.hasOwnProperty;\n});\ndefine(\"Error.captureStackTrace\", function () {\n return Error.captureStackTrace;\n});\ndefine(\"Error.prototype.stack\", function () {\n try {\n throw new Error();\n } catch (e) {\n return e.stack || e.stacktrace;\n }\n});","var CapabilityDetector = require(\"./CapabilityDetector\");\n\nvar detector = new CapabilityDetector();\n\nvar capability = function capability(name) {\n return detector.test(name);\n};\n\ncapability.define = function (name, test) {\n detector.define(name, test);\n};\n\ncapability.check = function (name) {\n detector.check(name);\n};\n\ncapability.test = capability;\nmodule.exports = capability;","/*!\n * depd\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n'use strict';\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = depd;\n/**\n * Create deprecate for namespace in caller.\n */\n\nfunction depd(namespace) {\n if (!namespace) {\n throw new TypeError('argument namespace is required');\n }\n\n function deprecate(message) {// no-op in browser\n }\n\n deprecate._file = undefined;\n deprecate._ignored = true;\n deprecate._namespace = namespace;\n deprecate._traced = false;\n deprecate._warned = Object.create(null);\n deprecate.function = wrapfunction;\n deprecate.property = wrapproperty;\n return deprecate;\n}\n/**\n * Return a wrapped function in a deprecation message.\n *\n * This is a no-op version of the wrapper, which does nothing but call\n * validation.\n */\n\n\nfunction wrapfunction(fn, message) {\n if (typeof fn !== 'function') {\n throw new TypeError('argument fn must be a function');\n }\n\n return fn;\n}\n/**\n * Wrap property in a deprecation message.\n *\n * This is a no-op version of the wrapper, which does nothing but call\n * validation.\n */\n\n\nfunction wrapproperty(obj, prop, message) {\n if (!obj || typeof obj !== 'object' && typeof obj !== 'function') {\n throw new TypeError('argument obj must be object');\n }\n\n var descriptor = Object.getOwnPropertyDescriptor(obj, prop);\n\n if (!descriptor) {\n throw new TypeError('must call property on owner object');\n }\n\n if (!descriptor.configurable) {\n throw new TypeError('property must be configurable');\n }\n}","module.exports = require(\"./lib\");","require(\"capability/es5\");\n\nvar capability = require(\"capability\");\n\nvar polyfill;\nif (capability(\"Error.captureStackTrace\")) polyfill = require(\"./v8\");else if (capability(\"Error.prototype.stack\")) polyfill = require(\"./non-v8/index\");else polyfill = require(\"./unsupported\");\nmodule.exports = polyfill();","var Class = require(\"o3\").Class,\n abstractMethod = require(\"o3\").abstractMethod;\n\nvar Frame = Class(Object, {\n prototype: {\n init: Class.prototype.merge,\n frameString: undefined,\n toString: function toString() {\n return this.frameString;\n },\n functionValue: undefined,\n getThis: abstractMethod,\n getTypeName: abstractMethod,\n getFunction: function getFunction() {\n return this.functionValue;\n },\n getFunctionName: abstractMethod,\n getMethodName: abstractMethod,\n getFileName: abstractMethod,\n getLineNumber: abstractMethod,\n getColumnNumber: abstractMethod,\n getEvalOrigin: abstractMethod,\n isTopLevel: abstractMethod,\n isEval: abstractMethod,\n isNative: abstractMethod,\n isConstructor: abstractMethod\n }\n});\nmodule.exports = Frame;","var Class = require(\"o3\").Class,\n Frame = require(\"./Frame\"),\n cache = require(\"u3\").cache;\n\nvar FrameStringParser = Class(Object, {\n prototype: {\n stackParser: null,\n frameParser: null,\n locationParsers: null,\n constructor: function constructor(options) {\n Class.prototype.merge.call(this, options);\n },\n getFrames: function getFrames(frameStrings, functionValues) {\n var frames = [];\n\n for (var index = 0, length = frameStrings.length; index < length; ++index) {\n frames[index] = this.getFrame(frameStrings[index], functionValues[index]);\n }\n\n return frames;\n },\n getFrame: function getFrame(frameString, functionValue) {\n var config = {\n frameString: frameString,\n functionValue: functionValue\n };\n return new Frame(config);\n }\n }\n});\nmodule.exports = {\n getClass: cache(function () {\n return FrameStringParser;\n }),\n getInstance: cache(function () {\n var FrameStringParser = this.getClass();\n var instance = new FrameStringParser();\n return instance;\n })\n};","var Class = require(\"o3\").Class,\n abstractMethod = require(\"o3\").abstractMethod,\n eachCombination = require(\"u3\").eachCombination,\n cache = require(\"u3\").cache,\n capability = require(\"capability\");\n\nvar AbstractFrameStringSource = Class(Object, {\n prototype: {\n captureFrameStrings: function captureFrameStrings(frameShifts) {\n var error = this.createError();\n frameShifts.unshift(this.captureFrameStrings);\n frameShifts.unshift(this.createError);\n var capturedFrameStrings = this.getFrameStrings(error);\n var frameStrings = capturedFrameStrings.slice(frameShifts.length),\n functionValues = [];\n\n if (capability(\"arguments.callee.caller\")) {\n var capturedFunctionValues = [this.createError, this.captureFrameStrings];\n\n try {\n var aCaller = arguments.callee;\n\n while (aCaller = aCaller.caller) {\n capturedFunctionValues.push(aCaller);\n }\n } catch (useStrictError) {}\n\n functionValues = capturedFunctionValues.slice(frameShifts.length);\n }\n\n return {\n frameStrings: frameStrings,\n functionValues: functionValues\n };\n },\n getFrameStrings: function getFrameStrings(error) {\n var message = error.message || \"\";\n var name = error.name || \"\";\n var stackString = this.getStackString(error);\n if (stackString === undefined) return;\n var stackStringChunks = stackString.split(\"\\n\");\n var fromPosition = 0;\n var toPosition = stackStringChunks.length;\n if (this.hasHeader) fromPosition += name.split(\"\\n\").length + message.split(\"\\n\").length - 1;\n if (this.hasFooter) toPosition -= 1;\n return stackStringChunks.slice(fromPosition, toPosition);\n },\n createError: abstractMethod,\n getStackString: abstractMethod,\n hasHeader: undefined,\n hasFooter: undefined\n }\n});\nvar FrameStringSourceCalibrator = Class(Object, {\n prototype: {\n calibrateClass: function calibrateClass(FrameStringSource) {\n return this.calibrateMethods(FrameStringSource) && this.calibrateEnvelope(FrameStringSource);\n },\n calibrateMethods: function calibrateMethods(FrameStringSource) {\n try {\n eachCombination([[function (message) {\n return new Error(message);\n }, function (message) {\n try {\n throw new Error(message);\n } catch (error) {\n return error;\n }\n }], [function (error) {\n return error.stack;\n }, function (error) {\n return error.stacktrace;\n }]], function (createError, getStackString) {\n if (getStackString(createError())) throw {\n getStackString: getStackString,\n createError: createError\n };\n });\n } catch (workingImplementation) {\n Class.merge.call(FrameStringSource, {\n prototype: workingImplementation\n });\n return true;\n }\n\n return false;\n },\n calibrateEnvelope: function calibrateEnvelope(FrameStringSource) {\n var getStackString = FrameStringSource.prototype.getStackString;\n var createError = FrameStringSource.prototype.createError;\n var calibratorStackString = getStackString(createError(\"marker\"));\n var calibratorFrameStrings = calibratorStackString.split(\"\\n\");\n Class.merge.call(FrameStringSource, {\n prototype: {\n hasHeader: /marker/.test(calibratorFrameStrings[0]),\n hasFooter: calibratorFrameStrings[calibratorFrameStrings.length - 1] === \"\"\n }\n });\n return true;\n }\n }\n});\nmodule.exports = {\n getClass: cache(function () {\n var FrameStringSource;\n if (FrameStringSource) return FrameStringSource;\n FrameStringSource = Class(AbstractFrameStringSource, {});\n var calibrator = new FrameStringSourceCalibrator();\n if (!calibrator.calibrateClass(FrameStringSource)) throw new Error(\"Cannot read Error.prototype.stack in this environment.\");\n return FrameStringSource;\n }),\n getInstance: cache(function () {\n var FrameStringSource = this.getClass();\n var instance = new FrameStringSource();\n return instance;\n })\n};","var FrameStringSource = require(\"./FrameStringSource\"),\n FrameStringParser = require(\"./FrameStringParser\"),\n cache = require(\"u3\").cache,\n prepareStackTrace = require(\"../prepareStackTrace\");\n\nmodule.exports = function () {\n Error.captureStackTrace = function captureStackTrace(throwable, terminator) {\n var warnings;\n var frameShifts = [captureStackTrace];\n\n if (terminator) {\n // additional frames can come here if arguments.callee.caller is supported\n // otherwise it is hard to identify the terminator\n frameShifts.push(terminator);\n }\n\n var captured = FrameStringSource.getInstance().captureFrameStrings(frameShifts);\n Object.defineProperties(throwable, {\n stack: {\n configurable: true,\n get: cache(function () {\n var frames = FrameStringParser.getInstance().getFrames(captured.frameStrings, captured.functionValues);\n return (Error.prepareStackTrace || prepareStackTrace)(throwable, frames, warnings);\n })\n },\n cachedStack: {\n configurable: true,\n writable: true,\n enumerable: false,\n value: true\n }\n });\n };\n\n Error.getStackTrace = function (throwable) {\n if (throwable.cachedStack) return throwable.stack;\n var frameStrings = FrameStringSource.getInstance().getFrameStrings(throwable),\n frames = [],\n warnings;\n if (frameStrings) frames = FrameStringParser.getInstance().getFrames(frameStrings, []);else warnings = [\"The stack is not readable by unthrown errors in this environment.\"];\n var stack = (Error.prepareStackTrace || prepareStackTrace)(throwable, frames, warnings);\n if (frameStrings) try {\n Object.defineProperties(throwable, {\n stack: {\n configurable: true,\n writable: true,\n enumerable: false,\n value: stack\n },\n cachedStack: {\n configurable: true,\n writable: true,\n enumerable: false,\n value: true\n }\n });\n } catch (nonConfigurableError) {}\n return stack;\n };\n\n return {\n prepareStackTrace: prepareStackTrace\n };\n};","var prepareStackTrace = function prepareStackTrace(throwable, frames, warnings) {\n var string = \"\";\n string += throwable.name || \"Error\";\n string += \": \" + (throwable.message || \"\");\n if (warnings instanceof Array) for (var warningIndex in warnings) {\n var warning = warnings[warningIndex];\n string += \"\\n # \" + warning;\n }\n\n for (var frameIndex in frames) {\n var frame = frames[frameIndex];\n string += \"\\n at \" + frame.toString();\n }\n\n return string;\n};\n\nmodule.exports = prepareStackTrace;","var cache = require(\"u3\").cache,\n prepareStackTrace = require(\"./prepareStackTrace\");\n\nmodule.exports = function () {\n Error.captureStackTrace = function (throwable, terminator) {\n Object.defineProperties(throwable, {\n stack: {\n configurable: true,\n get: cache(function () {\n return (Error.prepareStackTrace || prepareStackTrace)(throwable, []);\n })\n },\n cachedStack: {\n configurable: true,\n writable: true,\n enumerable: false,\n value: true\n }\n });\n };\n\n Error.getStackTrace = function (throwable) {\n if (throwable.cachedStack) return throwable.stack;\n var stack = (Error.prepareStackTrace || prepareStackTrace)(throwable, []);\n\n try {\n Object.defineProperties(throwable, {\n stack: {\n configurable: true,\n writable: true,\n enumerable: false,\n value: stack\n },\n cachedStack: {\n configurable: true,\n writable: true,\n enumerable: false,\n value: true\n }\n });\n } catch (nonConfigurableError) {}\n\n return stack;\n };\n\n return {\n prepareStackTrace: prepareStackTrace\n };\n};","var prepareStackTrace = require(\"./prepareStackTrace\");\n\nmodule.exports = function () {\n Error.getStackTrace = function (throwable) {\n return throwable.stack;\n };\n\n return {\n prepareStackTrace: prepareStackTrace\n };\n};","/*!\n * http-errors\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2016 Douglas Christopher Wilson\n * MIT Licensed\n */\n'use strict';\n/**\n * Module dependencies.\n * @private\n */\n\nvar deprecate = require('depd')('http-errors');\n\nvar setPrototypeOf = require('setprototypeof');\n\nvar statuses = require('statuses');\n\nvar inherits = require('inherits');\n\nvar toIdentifier = require('toidentifier');\n/**\n * Module exports.\n * @public\n */\n\n\nmodule.exports = createError;\nmodule.exports.HttpError = createHttpErrorConstructor();\nmodule.exports.isHttpError = createIsHttpErrorFunction(module.exports.HttpError); // Populate exports for all constructors\n\npopulateConstructorExports(module.exports, statuses.codes, module.exports.HttpError);\n/**\n * Get the code class of a status code.\n * @private\n */\n\nfunction codeClass(status) {\n return Number(String(status).charAt(0) + '00');\n}\n/**\n * Create a new HTTP Error.\n *\n * @returns {Error}\n * @public\n */\n\n\nfunction createError() {\n // so much arity going on ~_~\n var err;\n var msg;\n var status = 500;\n var props = {};\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n\n if (arg instanceof Error) {\n err = arg;\n status = err.status || err.statusCode || status;\n continue;\n }\n\n switch (typeof arg) {\n case 'string':\n msg = arg;\n break;\n\n case 'number':\n status = arg;\n\n if (i !== 0) {\n deprecate('non-first-argument status code; replace with createError(' + arg + ', ...)');\n }\n\n break;\n\n case 'object':\n props = arg;\n break;\n }\n }\n\n if (typeof status === 'number' && (status < 400 || status >= 600)) {\n deprecate('non-error status code; use only 4xx or 5xx status codes');\n }\n\n if (typeof status !== 'number' || !statuses[status] && (status < 400 || status >= 600)) {\n status = 500;\n } // constructor\n\n\n var HttpError = createError[status] || createError[codeClass(status)];\n\n if (!err) {\n // create error\n err = HttpError ? new HttpError(msg) : new Error(msg || statuses[status]);\n Error.captureStackTrace(err, createError);\n }\n\n if (!HttpError || !(err instanceof HttpError) || err.status !== status) {\n // add properties to generic error\n err.expose = status < 500;\n err.status = err.statusCode = status;\n }\n\n for (var key in props) {\n if (key !== 'status' && key !== 'statusCode') {\n err[key] = props[key];\n }\n }\n\n return err;\n}\n/**\n * Create HTTP error abstract base class.\n * @private\n */\n\n\nfunction createHttpErrorConstructor() {\n function HttpError() {\n throw new TypeError('cannot construct abstract class');\n }\n\n inherits(HttpError, Error);\n return HttpError;\n}\n/**\n * Create a constructor for a client error.\n * @private\n */\n\n\nfunction createClientErrorConstructor(HttpError, name, code) {\n var className = toClassName(name);\n\n function ClientError(message) {\n // create the error object\n var msg = message != null ? message : statuses[code];\n var err = new Error(msg); // capture a stack trace to the construction point\n\n Error.captureStackTrace(err, ClientError); // adjust the [[Prototype]]\n\n setPrototypeOf(err, ClientError.prototype); // redefine the error message\n\n Object.defineProperty(err, 'message', {\n enumerable: true,\n configurable: true,\n value: msg,\n writable: true\n }); // redefine the error name\n\n Object.defineProperty(err, 'name', {\n enumerable: false,\n configurable: true,\n value: className,\n writable: true\n });\n return err;\n }\n\n inherits(ClientError, HttpError);\n nameFunc(ClientError, className);\n ClientError.prototype.status = code;\n ClientError.prototype.statusCode = code;\n ClientError.prototype.expose = true;\n return ClientError;\n}\n/**\n * Create function to test is a value is a HttpError.\n * @private\n */\n\n\nfunction createIsHttpErrorFunction(HttpError) {\n return function isHttpError(val) {\n if (!val || typeof val !== 'object') {\n return false;\n }\n\n if (val instanceof HttpError) {\n return true;\n }\n\n return val instanceof Error && typeof val.expose === 'boolean' && typeof val.statusCode === 'number' && val.status === val.statusCode;\n };\n}\n/**\n * Create a constructor for a server error.\n * @private\n */\n\n\nfunction createServerErrorConstructor(HttpError, name, code) {\n var className = toClassName(name);\n\n function ServerError(message) {\n // create the error object\n var msg = message != null ? message : statuses[code];\n var err = new Error(msg); // capture a stack trace to the construction point\n\n Error.captureStackTrace(err, ServerError); // adjust the [[Prototype]]\n\n setPrototypeOf(err, ServerError.prototype); // redefine the error message\n\n Object.defineProperty(err, 'message', {\n enumerable: true,\n configurable: true,\n value: msg,\n writable: true\n }); // redefine the error name\n\n Object.defineProperty(err, 'name', {\n enumerable: false,\n configurable: true,\n value: className,\n writable: true\n });\n return err;\n }\n\n inherits(ServerError, HttpError);\n nameFunc(ServerError, className);\n ServerError.prototype.status = code;\n ServerError.prototype.statusCode = code;\n ServerError.prototype.expose = false;\n return ServerError;\n}\n/**\n * Set the name of a function, if possible.\n * @private\n */\n\n\nfunction nameFunc(func, name) {\n var desc = Object.getOwnPropertyDescriptor(func, 'name');\n\n if (desc && desc.configurable) {\n desc.value = name;\n Object.defineProperty(func, 'name', desc);\n }\n}\n/**\n * Populate the exports object with constructors for every error class.\n * @private\n */\n\n\nfunction populateConstructorExports(exports, codes, HttpError) {\n codes.forEach(function forEachCode(code) {\n var CodeError;\n var name = toIdentifier(statuses[code]);\n\n switch (codeClass(code)) {\n case 400:\n CodeError = createClientErrorConstructor(HttpError, name, code);\n break;\n\n case 500:\n CodeError = createServerErrorConstructor(HttpError, name, code);\n break;\n }\n\n if (CodeError) {\n // export the constructor\n exports[code] = CodeError;\n exports[name] = CodeError;\n }\n }); // backwards-compatibility\n\n exports[\"I'mateapot\"] = deprecate.function(exports.ImATeapot, '\"I\\'mateapot\"; use \"ImATeapot\" instead');\n}\n/**\n * Get a class name from a name identifier.\n * @private\n */\n\n\nfunction toClassName(name) {\n return name.substr(-5) !== 'Error' ? name + 'Error' : name;\n}","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? nBytes - 1 : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n i += d;\n e = s & (1 << -nBits) - 1;\n s >>= -nBits;\n nBits += eLen;\n\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity;\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n};\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n var i = isLE ? 0 : nBytes - 1;\n var d = isLE ? 1 : -1;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n value = Math.abs(value);\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = e << mLen | m;\n eLen += mLen;\n\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128;\n};","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n\n var TempCtor = function TempCtor() {};\n\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n };\n}","/**\n * [js-sha256]{@link https://github.com/emn178/js-sha256}\n *\n * @version 0.9.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2017\n * @license MIT\n */\n\n/*jslint bitwise: true */\n(function () {\n 'use strict';\n\n var ERROR = 'input is invalid type';\n var WINDOW = typeof window === 'object';\n var root = WINDOW ? window : {};\n\n if (root.JS_SHA256_NO_WINDOW) {\n WINDOW = false;\n }\n\n var WEB_WORKER = !WINDOW && typeof self === 'object';\n var NODE_JS = !root.JS_SHA256_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n\n if (NODE_JS) {\n root = global;\n } else if (WEB_WORKER) {\n root = self;\n }\n\n var COMMON_JS = !root.JS_SHA256_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var ARRAY_BUFFER = !root.JS_SHA256_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';\n var HEX_CHARS = '0123456789abcdef'.split('');\n var EXTRA = [-2147483648, 8388608, 32768, 128];\n var SHIFT = [24, 16, 8, 0];\n var K = [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2];\n var OUTPUT_TYPES = ['hex', 'array', 'digest', 'arrayBuffer'];\n var blocks = [];\n\n if (root.JS_SHA256_NO_NODE_JS || !Array.isArray) {\n Array.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n };\n }\n\n if (ARRAY_BUFFER && (root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {\n ArrayBuffer.isView = function (obj) {\n return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;\n };\n }\n\n var createOutputMethod = function createOutputMethod(outputType, is224) {\n return function (message) {\n return new Sha256(is224, true).update(message)[outputType]();\n };\n };\n\n var createMethod = function createMethod(is224) {\n var method = createOutputMethod('hex', is224);\n\n if (NODE_JS) {\n method = nodeWrap(method, is224);\n }\n\n method.create = function () {\n return new Sha256(is224);\n };\n\n method.update = function (message) {\n return method.create().update(message);\n };\n\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createOutputMethod(type, is224);\n }\n\n return method;\n };\n\n var nodeWrap = function nodeWrap(method, is224) {\n var crypto = eval(\"require('crypto')\");\n var Buffer = eval(\"require('buffer').Buffer\");\n var algorithm = is224 ? 'sha224' : 'sha256';\n\n var nodeMethod = function nodeMethod(message) {\n if (typeof message === 'string') {\n return crypto.createHash(algorithm).update(message, 'utf8').digest('hex');\n } else {\n if (message === null || message === undefined) {\n throw new Error(ERROR);\n } else if (message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n }\n }\n\n if (Array.isArray(message) || ArrayBuffer.isView(message) || message.constructor === Buffer) {\n return crypto.createHash(algorithm).update(new Buffer(message)).digest('hex');\n } else {\n return method(message);\n }\n };\n\n return nodeMethod;\n };\n\n var createHmacOutputMethod = function createHmacOutputMethod(outputType, is224) {\n return function (key, message) {\n return new HmacSha256(key, is224, true).update(message)[outputType]();\n };\n };\n\n var createHmacMethod = function createHmacMethod(is224) {\n var method = createHmacOutputMethod('hex', is224);\n\n method.create = function (key) {\n return new HmacSha256(key, is224);\n };\n\n method.update = function (key, message) {\n return method.create(key).update(message);\n };\n\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createHmacOutputMethod(type, is224);\n }\n\n return method;\n };\n\n function Sha256(is224, sharedMemory) {\n if (sharedMemory) {\n blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] = blocks[4] = blocks[5] = blocks[6] = blocks[7] = blocks[8] = blocks[9] = blocks[10] = blocks[11] = blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n this.blocks = blocks;\n } else {\n this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n }\n\n if (is224) {\n this.h0 = 0xc1059ed8;\n this.h1 = 0x367cd507;\n this.h2 = 0x3070dd17;\n this.h3 = 0xf70e5939;\n this.h4 = 0xffc00b31;\n this.h5 = 0x68581511;\n this.h6 = 0x64f98fa7;\n this.h7 = 0xbefa4fa4;\n } else {\n // 256\n this.h0 = 0x6a09e667;\n this.h1 = 0xbb67ae85;\n this.h2 = 0x3c6ef372;\n this.h3 = 0xa54ff53a;\n this.h4 = 0x510e527f;\n this.h5 = 0x9b05688c;\n this.h6 = 0x1f83d9ab;\n this.h7 = 0x5be0cd19;\n }\n\n this.block = this.start = this.bytes = this.hBytes = 0;\n this.finalized = this.hashed = false;\n this.first = true;\n this.is224 = is224;\n }\n\n Sha256.prototype.update = function (message) {\n if (this.finalized) {\n return;\n }\n\n var notString,\n type = typeof message;\n\n if (type !== 'string') {\n if (type === 'object') {\n if (message === null) {\n throw new Error(ERROR);\n } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (!Array.isArray(message)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {\n throw new Error(ERROR);\n }\n }\n } else {\n throw new Error(ERROR);\n }\n\n notString = true;\n }\n\n var code,\n index = 0,\n i,\n length = message.length,\n blocks = this.blocks;\n\n while (index < length) {\n if (this.hashed) {\n this.hashed = false;\n blocks[0] = this.block;\n blocks[16] = blocks[1] = blocks[2] = blocks[3] = blocks[4] = blocks[5] = blocks[6] = blocks[7] = blocks[8] = blocks[9] = blocks[10] = blocks[11] = blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n\n if (notString) {\n for (i = this.start; index < length && i < 64; ++index) {\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n }\n } else {\n for (i = this.start; index < length && i < 64; ++index) {\n code = message.charCodeAt(index);\n\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | code >> 6) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | code >> 12) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code >> 6 & 0x3f) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + ((code & 0x3ff) << 10 | message.charCodeAt(++index) & 0x3ff);\n blocks[i >> 2] |= (0xf0 | code >> 18) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code >> 12 & 0x3f) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code >> 6 & 0x3f) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3];\n }\n }\n }\n\n this.lastByteIndex = i;\n this.bytes += i - this.start;\n\n if (i >= 64) {\n this.block = blocks[16];\n this.start = i - 64;\n this.hash();\n this.hashed = true;\n } else {\n this.start = i;\n }\n }\n\n if (this.bytes > 4294967295) {\n this.hBytes += this.bytes / 4294967296 << 0;\n this.bytes = this.bytes % 4294967296;\n }\n\n return this;\n };\n\n Sha256.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n\n this.finalized = true;\n var blocks = this.blocks,\n i = this.lastByteIndex;\n blocks[16] = this.block;\n blocks[i >> 2] |= EXTRA[i & 3];\n this.block = blocks[16];\n\n if (i >= 56) {\n if (!this.hashed) {\n this.hash();\n }\n\n blocks[0] = this.block;\n blocks[16] = blocks[1] = blocks[2] = blocks[3] = blocks[4] = blocks[5] = blocks[6] = blocks[7] = blocks[8] = blocks[9] = blocks[10] = blocks[11] = blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n\n blocks[14] = this.hBytes << 3 | this.bytes >>> 29;\n blocks[15] = this.bytes << 3;\n this.hash();\n };\n\n Sha256.prototype.hash = function () {\n var a = this.h0,\n b = this.h1,\n c = this.h2,\n d = this.h3,\n e = this.h4,\n f = this.h5,\n g = this.h6,\n h = this.h7,\n blocks = this.blocks,\n j,\n s0,\n s1,\n maj,\n t1,\n t2,\n ch,\n ab,\n da,\n cd,\n bc;\n\n for (j = 16; j < 64; ++j) {\n // rightrotate\n t1 = blocks[j - 15];\n s0 = (t1 >>> 7 | t1 << 25) ^ (t1 >>> 18 | t1 << 14) ^ t1 >>> 3;\n t1 = blocks[j - 2];\n s1 = (t1 >>> 17 | t1 << 15) ^ (t1 >>> 19 | t1 << 13) ^ t1 >>> 10;\n blocks[j] = blocks[j - 16] + s0 + blocks[j - 7] + s1 << 0;\n }\n\n bc = b & c;\n\n for (j = 0; j < 64; j += 4) {\n if (this.first) {\n if (this.is224) {\n ab = 300032;\n t1 = blocks[0] - 1413257819;\n h = t1 - 150054599 << 0;\n d = t1 + 24177077 << 0;\n } else {\n ab = 704751109;\n t1 = blocks[0] - 210244248;\n h = t1 - 1521486534 << 0;\n d = t1 + 143694565 << 0;\n }\n\n this.first = false;\n } else {\n s0 = (a >>> 2 | a << 30) ^ (a >>> 13 | a << 19) ^ (a >>> 22 | a << 10);\n s1 = (e >>> 6 | e << 26) ^ (e >>> 11 | e << 21) ^ (e >>> 25 | e << 7);\n ab = a & b;\n maj = ab ^ a & c ^ bc;\n ch = e & f ^ ~e & g;\n t1 = h + s1 + ch + K[j] + blocks[j];\n t2 = s0 + maj;\n h = d + t1 << 0;\n d = t1 + t2 << 0;\n }\n\n s0 = (d >>> 2 | d << 30) ^ (d >>> 13 | d << 19) ^ (d >>> 22 | d << 10);\n s1 = (h >>> 6 | h << 26) ^ (h >>> 11 | h << 21) ^ (h >>> 25 | h << 7);\n da = d & a;\n maj = da ^ d & b ^ ab;\n ch = h & e ^ ~h & f;\n t1 = g + s1 + ch + K[j + 1] + blocks[j + 1];\n t2 = s0 + maj;\n g = c + t1 << 0;\n c = t1 + t2 << 0;\n s0 = (c >>> 2 | c << 30) ^ (c >>> 13 | c << 19) ^ (c >>> 22 | c << 10);\n s1 = (g >>> 6 | g << 26) ^ (g >>> 11 | g << 21) ^ (g >>> 25 | g << 7);\n cd = c & d;\n maj = cd ^ c & a ^ da;\n ch = g & h ^ ~g & e;\n t1 = f + s1 + ch + K[j + 2] + blocks[j + 2];\n t2 = s0 + maj;\n f = b + t1 << 0;\n b = t1 + t2 << 0;\n s0 = (b >>> 2 | b << 30) ^ (b >>> 13 | b << 19) ^ (b >>> 22 | b << 10);\n s1 = (f >>> 6 | f << 26) ^ (f >>> 11 | f << 21) ^ (f >>> 25 | f << 7);\n bc = b & c;\n maj = bc ^ b & d ^ cd;\n ch = f & g ^ ~f & h;\n t1 = e + s1 + ch + K[j + 3] + blocks[j + 3];\n t2 = s0 + maj;\n e = a + t1 << 0;\n a = t1 + t2 << 0;\n }\n\n this.h0 = this.h0 + a << 0;\n this.h1 = this.h1 + b << 0;\n this.h2 = this.h2 + c << 0;\n this.h3 = this.h3 + d << 0;\n this.h4 = this.h4 + e << 0;\n this.h5 = this.h5 + f << 0;\n this.h6 = this.h6 + g << 0;\n this.h7 = this.h7 + h << 0;\n };\n\n Sha256.prototype.hex = function () {\n this.finalize();\n var h0 = this.h0,\n h1 = this.h1,\n h2 = this.h2,\n h3 = this.h3,\n h4 = this.h4,\n h5 = this.h5,\n h6 = this.h6,\n h7 = this.h7;\n var hex = HEX_CHARS[h0 >> 28 & 0x0F] + HEX_CHARS[h0 >> 24 & 0x0F] + HEX_CHARS[h0 >> 20 & 0x0F] + HEX_CHARS[h0 >> 16 & 0x0F] + HEX_CHARS[h0 >> 12 & 0x0F] + HEX_CHARS[h0 >> 8 & 0x0F] + HEX_CHARS[h0 >> 4 & 0x0F] + HEX_CHARS[h0 & 0x0F] + HEX_CHARS[h1 >> 28 & 0x0F] + HEX_CHARS[h1 >> 24 & 0x0F] + HEX_CHARS[h1 >> 20 & 0x0F] + HEX_CHARS[h1 >> 16 & 0x0F] + HEX_CHARS[h1 >> 12 & 0x0F] + HEX_CHARS[h1 >> 8 & 0x0F] + HEX_CHARS[h1 >> 4 & 0x0F] + HEX_CHARS[h1 & 0x0F] + HEX_CHARS[h2 >> 28 & 0x0F] + HEX_CHARS[h2 >> 24 & 0x0F] + HEX_CHARS[h2 >> 20 & 0x0F] + HEX_CHARS[h2 >> 16 & 0x0F] + HEX_CHARS[h2 >> 12 & 0x0F] + HEX_CHARS[h2 >> 8 & 0x0F] + HEX_CHARS[h2 >> 4 & 0x0F] + HEX_CHARS[h2 & 0x0F] + HEX_CHARS[h3 >> 28 & 0x0F] + HEX_CHARS[h3 >> 24 & 0x0F] + HEX_CHARS[h3 >> 20 & 0x0F] + HEX_CHARS[h3 >> 16 & 0x0F] + HEX_CHARS[h3 >> 12 & 0x0F] + HEX_CHARS[h3 >> 8 & 0x0F] + HEX_CHARS[h3 >> 4 & 0x0F] + HEX_CHARS[h3 & 0x0F] + HEX_CHARS[h4 >> 28 & 0x0F] + HEX_CHARS[h4 >> 24 & 0x0F] + HEX_CHARS[h4 >> 20 & 0x0F] + HEX_CHARS[h4 >> 16 & 0x0F] + HEX_CHARS[h4 >> 12 & 0x0F] + HEX_CHARS[h4 >> 8 & 0x0F] + HEX_CHARS[h4 >> 4 & 0x0F] + HEX_CHARS[h4 & 0x0F] + HEX_CHARS[h5 >> 28 & 0x0F] + HEX_CHARS[h5 >> 24 & 0x0F] + HEX_CHARS[h5 >> 20 & 0x0F] + HEX_CHARS[h5 >> 16 & 0x0F] + HEX_CHARS[h5 >> 12 & 0x0F] + HEX_CHARS[h5 >> 8 & 0x0F] + HEX_CHARS[h5 >> 4 & 0x0F] + HEX_CHARS[h5 & 0x0F] + HEX_CHARS[h6 >> 28 & 0x0F] + HEX_CHARS[h6 >> 24 & 0x0F] + HEX_CHARS[h6 >> 20 & 0x0F] + HEX_CHARS[h6 >> 16 & 0x0F] + HEX_CHARS[h6 >> 12 & 0x0F] + HEX_CHARS[h6 >> 8 & 0x0F] + HEX_CHARS[h6 >> 4 & 0x0F] + HEX_CHARS[h6 & 0x0F];\n\n if (!this.is224) {\n hex += HEX_CHARS[h7 >> 28 & 0x0F] + HEX_CHARS[h7 >> 24 & 0x0F] + HEX_CHARS[h7 >> 20 & 0x0F] + HEX_CHARS[h7 >> 16 & 0x0F] + HEX_CHARS[h7 >> 12 & 0x0F] + HEX_CHARS[h7 >> 8 & 0x0F] + HEX_CHARS[h7 >> 4 & 0x0F] + HEX_CHARS[h7 & 0x0F];\n }\n\n return hex;\n };\n\n Sha256.prototype.toString = Sha256.prototype.hex;\n\n Sha256.prototype.digest = function () {\n this.finalize();\n var h0 = this.h0,\n h1 = this.h1,\n h2 = this.h2,\n h3 = this.h3,\n h4 = this.h4,\n h5 = this.h5,\n h6 = this.h6,\n h7 = this.h7;\n var arr = [h0 >> 24 & 0xFF, h0 >> 16 & 0xFF, h0 >> 8 & 0xFF, h0 & 0xFF, h1 >> 24 & 0xFF, h1 >> 16 & 0xFF, h1 >> 8 & 0xFF, h1 & 0xFF, h2 >> 24 & 0xFF, h2 >> 16 & 0xFF, h2 >> 8 & 0xFF, h2 & 0xFF, h3 >> 24 & 0xFF, h3 >> 16 & 0xFF, h3 >> 8 & 0xFF, h3 & 0xFF, h4 >> 24 & 0xFF, h4 >> 16 & 0xFF, h4 >> 8 & 0xFF, h4 & 0xFF, h5 >> 24 & 0xFF, h5 >> 16 & 0xFF, h5 >> 8 & 0xFF, h5 & 0xFF, h6 >> 24 & 0xFF, h6 >> 16 & 0xFF, h6 >> 8 & 0xFF, h6 & 0xFF];\n\n if (!this.is224) {\n arr.push(h7 >> 24 & 0xFF, h7 >> 16 & 0xFF, h7 >> 8 & 0xFF, h7 & 0xFF);\n }\n\n return arr;\n };\n\n Sha256.prototype.array = Sha256.prototype.digest;\n\n Sha256.prototype.arrayBuffer = function () {\n this.finalize();\n var buffer = new ArrayBuffer(this.is224 ? 28 : 32);\n var dataView = new DataView(buffer);\n dataView.setUint32(0, this.h0);\n dataView.setUint32(4, this.h1);\n dataView.setUint32(8, this.h2);\n dataView.setUint32(12, this.h3);\n dataView.setUint32(16, this.h4);\n dataView.setUint32(20, this.h5);\n dataView.setUint32(24, this.h6);\n\n if (!this.is224) {\n dataView.setUint32(28, this.h7);\n }\n\n return buffer;\n };\n\n function HmacSha256(key, is224, sharedMemory) {\n var i,\n type = typeof key;\n\n if (type === 'string') {\n var bytes = [],\n length = key.length,\n index = 0,\n code;\n\n for (i = 0; i < length; ++i) {\n code = key.charCodeAt(i);\n\n if (code < 0x80) {\n bytes[index++] = code;\n } else if (code < 0x800) {\n bytes[index++] = 0xc0 | code >> 6;\n bytes[index++] = 0x80 | code & 0x3f;\n } else if (code < 0xd800 || code >= 0xe000) {\n bytes[index++] = 0xe0 | code >> 12;\n bytes[index++] = 0x80 | code >> 6 & 0x3f;\n bytes[index++] = 0x80 | code & 0x3f;\n } else {\n code = 0x10000 + ((code & 0x3ff) << 10 | key.charCodeAt(++i) & 0x3ff);\n bytes[index++] = 0xf0 | code >> 18;\n bytes[index++] = 0x80 | code >> 12 & 0x3f;\n bytes[index++] = 0x80 | code >> 6 & 0x3f;\n bytes[index++] = 0x80 | code & 0x3f;\n }\n }\n\n key = bytes;\n } else {\n if (type === 'object') {\n if (key === null) {\n throw new Error(ERROR);\n } else if (ARRAY_BUFFER && key.constructor === ArrayBuffer) {\n key = new Uint8Array(key);\n } else if (!Array.isArray(key)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(key)) {\n throw new Error(ERROR);\n }\n }\n } else {\n throw new Error(ERROR);\n }\n }\n\n if (key.length > 64) {\n key = new Sha256(is224, true).update(key).array();\n }\n\n var oKeyPad = [],\n iKeyPad = [];\n\n for (i = 0; i < 64; ++i) {\n var b = key[i] || 0;\n oKeyPad[i] = 0x5c ^ b;\n iKeyPad[i] = 0x36 ^ b;\n }\n\n Sha256.call(this, is224, sharedMemory);\n this.update(iKeyPad);\n this.oKeyPad = oKeyPad;\n this.inner = true;\n this.sharedMemory = sharedMemory;\n }\n\n HmacSha256.prototype = new Sha256();\n\n HmacSha256.prototype.finalize = function () {\n Sha256.prototype.finalize.call(this);\n\n if (this.inner) {\n this.inner = false;\n var innerHash = this.array();\n Sha256.call(this, this.is224, this.sharedMemory);\n this.update(this.oKeyPad);\n this.update(innerHash);\n Sha256.prototype.finalize.call(this);\n }\n };\n\n var exports = createMethod();\n exports.sha256 = exports;\n exports.sha224 = createMethod(true);\n exports.sha256.hmac = createHmacMethod();\n exports.sha224.hmac = createHmacMethod(true);\n\n if (COMMON_JS) {\n module.exports = exports;\n } else {\n root.sha256 = exports.sha256;\n root.sha224 = exports.sha224;\n\n if (AMD) {\n define(function () {\n return exports;\n });\n }\n }\n})();","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = global || self, global.Mustache = factory());\n})(this, function () {\n 'use strict';\n /*!\n * mustache.js - Logic-less {{mustache}} templates with JavaScript\n * http://github.com/janl/mustache.js\n */\n\n var objectToString = Object.prototype.toString;\n\n var isArray = Array.isArray || function isArrayPolyfill(object) {\n return objectToString.call(object) === '[object Array]';\n };\n\n function isFunction(object) {\n return typeof object === 'function';\n }\n /**\n * More correct typeof string handling array\n * which normally returns typeof 'object'\n */\n\n\n function typeStr(obj) {\n return isArray(obj) ? 'array' : typeof obj;\n }\n\n function escapeRegExp(string) {\n return string.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, '\\\\$&');\n }\n /**\n * Null safe way of checking whether or not an object,\n * including its prototype, has a given property\n */\n\n\n function hasProperty(obj, propName) {\n return obj != null && typeof obj === 'object' && propName in obj;\n }\n /**\n * Safe way of detecting whether or not the given thing is a primitive and\n * whether it has the given property\n */\n\n\n function primitiveHasOwnProperty(primitive, propName) {\n return primitive != null && typeof primitive !== 'object' && primitive.hasOwnProperty && primitive.hasOwnProperty(propName);\n } // Workaround for https://issues.apache.org/jira/browse/COUCHDB-577\n // See https://github.com/janl/mustache.js/issues/189\n\n\n var regExpTest = RegExp.prototype.test;\n\n function testRegExp(re, string) {\n return regExpTest.call(re, string);\n }\n\n var nonSpaceRe = /\\S/;\n\n function isWhitespace(string) {\n return !testRegExp(nonSpaceRe, string);\n }\n\n var entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/',\n '`': '`',\n '=': '='\n };\n\n function escapeHtml(string) {\n return String(string).replace(/[&<>\"'`=\\/]/g, function fromEntityMap(s) {\n return entityMap[s];\n });\n }\n\n var whiteRe = /\\s*/;\n var spaceRe = /\\s+/;\n var equalsRe = /\\s*=/;\n var curlyRe = /\\s*\\}/;\n var tagRe = /#|\\^|\\/|>|\\{|&|=|!/;\n /**\n * Breaks up the given `template` string into a tree of tokens. If the `tags`\n * argument is given here it must be an array with two string values: the\n * opening and closing tags used in the template (e.g. [ \"<%\", \"%>\" ]). Of\n * course, the default is to use mustaches (i.e. mustache.tags).\n *\n * A token is an array with at least 4 elements. The first element is the\n * mustache symbol that was used inside the tag, e.g. \"#\" or \"&\". If the tag\n * did not contain a symbol (i.e. {{myValue}}) this element is \"name\". For\n * all text that appears outside a symbol this element is \"text\".\n *\n * The second element of a token is its \"value\". For mustache tags this is\n * whatever else was inside the tag besides the opening symbol. For text tokens\n * this is the text itself.\n *\n * The third and fourth elements of the token are the start and end indices,\n * respectively, of the token in the original template.\n *\n * Tokens that are the root node of a subtree contain two more elements: 1) an\n * array of tokens in the subtree and 2) the index in the original template at\n * which the closing tag for that section begins.\n *\n * Tokens for partials also contain two more elements: 1) a string value of\n * indendation prior to that tag and 2) the index of that tag on that line -\n * eg a value of 2 indicates the partial is the third tag on this line.\n */\n\n function parseTemplate(template, tags) {\n if (!template) return [];\n var lineHasNonSpace = false;\n var sections = []; // Stack to hold section tokens\n\n var tokens = []; // Buffer to hold the tokens\n\n var spaces = []; // Indices of whitespace tokens on the current line\n\n var hasTag = false; // Is there a {{tag}} on the current line?\n\n var nonSpace = false; // Is there a non-space char on the current line?\n\n var indentation = ''; // Tracks indentation for tags that use it\n\n var tagIndex = 0; // Stores a count of number of tags encountered on a line\n // Strips all whitespace tokens array for the current line\n // if there was a {{#tag}} on it and otherwise only space.\n\n function stripSpace() {\n if (hasTag && !nonSpace) {\n while (spaces.length) {\n delete tokens[spaces.pop()];\n }\n } else {\n spaces = [];\n }\n\n hasTag = false;\n nonSpace = false;\n }\n\n var openingTagRe, closingTagRe, closingCurlyRe;\n\n function compileTags(tagsToCompile) {\n if (typeof tagsToCompile === 'string') tagsToCompile = tagsToCompile.split(spaceRe, 2);\n if (!isArray(tagsToCompile) || tagsToCompile.length !== 2) throw new Error('Invalid tags: ' + tagsToCompile);\n openingTagRe = new RegExp(escapeRegExp(tagsToCompile[0]) + '\\\\s*');\n closingTagRe = new RegExp('\\\\s*' + escapeRegExp(tagsToCompile[1]));\n closingCurlyRe = new RegExp('\\\\s*' + escapeRegExp('}' + tagsToCompile[1]));\n }\n\n compileTags(tags || mustache.tags);\n var scanner = new Scanner(template);\n var start, type, value, chr, token, openSection;\n\n while (!scanner.eos()) {\n start = scanner.pos; // Match any text between tags.\n\n value = scanner.scanUntil(openingTagRe);\n\n if (value) {\n for (var i = 0, valueLength = value.length; i < valueLength; ++i) {\n chr = value.charAt(i);\n\n if (isWhitespace(chr)) {\n spaces.push(tokens.length);\n indentation += chr;\n } else {\n nonSpace = true;\n lineHasNonSpace = true;\n indentation += ' ';\n }\n\n tokens.push(['text', chr, start, start + 1]);\n start += 1; // Check for whitespace on the current line.\n\n if (chr === '\\n') {\n stripSpace();\n indentation = '';\n tagIndex = 0;\n lineHasNonSpace = false;\n }\n }\n } // Match the opening tag.\n\n\n if (!scanner.scan(openingTagRe)) break;\n hasTag = true; // Get the tag type.\n\n type = scanner.scan(tagRe) || 'name';\n scanner.scan(whiteRe); // Get the tag value.\n\n if (type === '=') {\n value = scanner.scanUntil(equalsRe);\n scanner.scan(equalsRe);\n scanner.scanUntil(closingTagRe);\n } else if (type === '{') {\n value = scanner.scanUntil(closingCurlyRe);\n scanner.scan(curlyRe);\n scanner.scanUntil(closingTagRe);\n type = '&';\n } else {\n value = scanner.scanUntil(closingTagRe);\n } // Match the closing tag.\n\n\n if (!scanner.scan(closingTagRe)) throw new Error('Unclosed tag at ' + scanner.pos);\n\n if (type == '>') {\n token = [type, value, start, scanner.pos, indentation, tagIndex, lineHasNonSpace];\n } else {\n token = [type, value, start, scanner.pos];\n }\n\n tagIndex++;\n tokens.push(token);\n\n if (type === '#' || type === '^') {\n sections.push(token);\n } else if (type === '/') {\n // Check section nesting.\n openSection = sections.pop();\n if (!openSection) throw new Error('Unopened section \"' + value + '\" at ' + start);\n if (openSection[1] !== value) throw new Error('Unclosed section \"' + openSection[1] + '\" at ' + start);\n } else if (type === 'name' || type === '{' || type === '&') {\n nonSpace = true;\n } else if (type === '=') {\n // Set the tags for the next time around.\n compileTags(value);\n }\n }\n\n stripSpace(); // Make sure there are no open sections when we're done.\n\n openSection = sections.pop();\n if (openSection) throw new Error('Unclosed section \"' + openSection[1] + '\" at ' + scanner.pos);\n return nestTokens(squashTokens(tokens));\n }\n /**\n * Combines the values of consecutive text tokens in the given `tokens` array\n * to a single token.\n */\n\n\n function squashTokens(tokens) {\n var squashedTokens = [];\n var token, lastToken;\n\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n token = tokens[i];\n\n if (token) {\n if (token[0] === 'text' && lastToken && lastToken[0] === 'text') {\n lastToken[1] += token[1];\n lastToken[3] = token[3];\n } else {\n squashedTokens.push(token);\n lastToken = token;\n }\n }\n }\n\n return squashedTokens;\n }\n /**\n * Forms the given array of `tokens` into a nested tree structure where\n * tokens that represent a section have two additional items: 1) an array of\n * all tokens that appear in that section and 2) the index in the original\n * template that represents the end of that section.\n */\n\n\n function nestTokens(tokens) {\n var nestedTokens = [];\n var collector = nestedTokens;\n var sections = [];\n var token, section;\n\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n token = tokens[i];\n\n switch (token[0]) {\n case '#':\n case '^':\n collector.push(token);\n sections.push(token);\n collector = token[4] = [];\n break;\n\n case '/':\n section = sections.pop();\n section[5] = token[2];\n collector = sections.length > 0 ? sections[sections.length - 1][4] : nestedTokens;\n break;\n\n default:\n collector.push(token);\n }\n }\n\n return nestedTokens;\n }\n /**\n * A simple string scanner that is used by the template parser to find\n * tokens in template strings.\n */\n\n\n function Scanner(string) {\n this.string = string;\n this.tail = string;\n this.pos = 0;\n }\n /**\n * Returns `true` if the tail is empty (end of string).\n */\n\n\n Scanner.prototype.eos = function eos() {\n return this.tail === '';\n };\n /**\n * Tries to match the given regular expression at the current position.\n * Returns the matched text if it can match, the empty string otherwise.\n */\n\n\n Scanner.prototype.scan = function scan(re) {\n var match = this.tail.match(re);\n if (!match || match.index !== 0) return '';\n var string = match[0];\n this.tail = this.tail.substring(string.length);\n this.pos += string.length;\n return string;\n };\n /**\n * Skips all text until the given regular expression can be matched. Returns\n * the skipped string, which is the entire tail if no match can be made.\n */\n\n\n Scanner.prototype.scanUntil = function scanUntil(re) {\n var index = this.tail.search(re),\n match;\n\n switch (index) {\n case -1:\n match = this.tail;\n this.tail = '';\n break;\n\n case 0:\n match = '';\n break;\n\n default:\n match = this.tail.substring(0, index);\n this.tail = this.tail.substring(index);\n }\n\n this.pos += match.length;\n return match;\n };\n /**\n * Represents a rendering context by wrapping a view object and\n * maintaining a reference to the parent context.\n */\n\n\n function Context(view, parentContext) {\n this.view = view;\n this.cache = {\n '.': this.view\n };\n this.parent = parentContext;\n }\n /**\n * Creates a new context using the given view with this context\n * as the parent.\n */\n\n\n Context.prototype.push = function push(view) {\n return new Context(view, this);\n };\n /**\n * Returns the value of the given name in this context, traversing\n * up the context hierarchy if the value is absent in this context's view.\n */\n\n\n Context.prototype.lookup = function lookup(name) {\n var cache = this.cache;\n var value;\n\n if (cache.hasOwnProperty(name)) {\n value = cache[name];\n } else {\n var context = this,\n intermediateValue,\n names,\n index,\n lookupHit = false;\n\n while (context) {\n if (name.indexOf('.') > 0) {\n intermediateValue = context.view;\n names = name.split('.');\n index = 0;\n /**\n * Using the dot notion path in `name`, we descend through the\n * nested objects.\n *\n * To be certain that the lookup has been successful, we have to\n * check if the last object in the path actually has the property\n * we are looking for. We store the result in `lookupHit`.\n *\n * This is specially necessary for when the value has been set to\n * `undefined` and we want to avoid looking up parent contexts.\n *\n * In the case where dot notation is used, we consider the lookup\n * to be successful even if the last \"object\" in the path is\n * not actually an object but a primitive (e.g., a string, or an\n * integer), because it is sometimes useful to access a property\n * of an autoboxed primitive, such as the length of a string.\n **/\n\n while (intermediateValue != null && index < names.length) {\n if (index === names.length - 1) lookupHit = hasProperty(intermediateValue, names[index]) || primitiveHasOwnProperty(intermediateValue, names[index]);\n intermediateValue = intermediateValue[names[index++]];\n }\n } else {\n intermediateValue = context.view[name];\n /**\n * Only checking against `hasProperty`, which always returns `false` if\n * `context.view` is not an object. Deliberately omitting the check\n * against `primitiveHasOwnProperty` if dot notation is not used.\n *\n * Consider this example:\n * ```\n * Mustache.render(\"The length of a football field is {{#length}}{{length}}{{/length}}.\", {length: \"100 yards\"})\n * ```\n *\n * If we were to check also against `primitiveHasOwnProperty`, as we do\n * in the dot notation case, then render call would return:\n *\n * \"The length of a football field is 9.\"\n *\n * rather than the expected:\n *\n * \"The length of a football field is 100 yards.\"\n **/\n\n lookupHit = hasProperty(context.view, name);\n }\n\n if (lookupHit) {\n value = intermediateValue;\n break;\n }\n\n context = context.parent;\n }\n\n cache[name] = value;\n }\n\n if (isFunction(value)) value = value.call(this.view);\n return value;\n };\n /**\n * A Writer knows how to take a stream of tokens and render them to a\n * string, given a context. It also maintains a cache of templates to\n * avoid the need to parse the same template twice.\n */\n\n\n function Writer() {\n this.templateCache = {\n _cache: {},\n set: function set(key, value) {\n this._cache[key] = value;\n },\n get: function get(key) {\n return this._cache[key];\n },\n clear: function clear() {\n this._cache = {};\n }\n };\n }\n /**\n * Clears all cached templates in this writer.\n */\n\n\n Writer.prototype.clearCache = function clearCache() {\n if (typeof this.templateCache !== 'undefined') {\n this.templateCache.clear();\n }\n };\n /**\n * Parses and caches the given `template` according to the given `tags` or\n * `mustache.tags` if `tags` is omitted, and returns the array of tokens\n * that is generated from the parse.\n */\n\n\n Writer.prototype.parse = function parse(template, tags) {\n var cache = this.templateCache;\n var cacheKey = template + ':' + (tags || mustache.tags).join(':');\n var isCacheEnabled = typeof cache !== 'undefined';\n var tokens = isCacheEnabled ? cache.get(cacheKey) : undefined;\n\n if (tokens == undefined) {\n tokens = parseTemplate(template, tags);\n isCacheEnabled && cache.set(cacheKey, tokens);\n }\n\n return tokens;\n };\n /**\n * High-level method that is used to render the given `template` with\n * the given `view`.\n *\n * The optional `partials` argument may be an object that contains the\n * names and templates of partials that are used in the template. It may\n * also be a function that is used to load partial templates on the fly\n * that takes a single argument: the name of the partial.\n *\n * If the optional `config` argument is given here, then it should be an\n * object with a `tags` attribute or an `escape` attribute or both.\n * If an array is passed, then it will be interpreted the same way as\n * a `tags` attribute on a `config` object.\n *\n * The `tags` attribute of a `config` object must be an array with two\n * string values: the opening and closing tags used in the template (e.g.\n * [ \"<%\", \"%>\" ]). The default is to mustache.tags.\n *\n * The `escape` attribute of a `config` object must be a function which\n * accepts a string as input and outputs a safely escaped string.\n * If an `escape` function is not provided, then an HTML-safe string\n * escaping function is used as the default.\n */\n\n\n Writer.prototype.render = function render(template, view, partials, config) {\n var tags = this.getConfigTags(config);\n var tokens = this.parse(template, tags);\n var context = view instanceof Context ? view : new Context(view, undefined);\n return this.renderTokens(tokens, context, partials, template, config);\n };\n /**\n * Low-level method that renders the given array of `tokens` using\n * the given `context` and `partials`.\n *\n * Note: The `originalTemplate` is only ever used to extract the portion\n * of the original template that was contained in a higher-order section.\n * If the template doesn't use higher-order sections, this argument may\n * be omitted.\n */\n\n\n Writer.prototype.renderTokens = function renderTokens(tokens, context, partials, originalTemplate, config) {\n var buffer = '';\n var token, symbol, value;\n\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n value = undefined;\n token = tokens[i];\n symbol = token[0];\n if (symbol === '#') value = this.renderSection(token, context, partials, originalTemplate, config);else if (symbol === '^') value = this.renderInverted(token, context, partials, originalTemplate, config);else if (symbol === '>') value = this.renderPartial(token, context, partials, config);else if (symbol === '&') value = this.unescapedValue(token, context);else if (symbol === 'name') value = this.escapedValue(token, context, config);else if (symbol === 'text') value = this.rawValue(token);\n if (value !== undefined) buffer += value;\n }\n\n return buffer;\n };\n\n Writer.prototype.renderSection = function renderSection(token, context, partials, originalTemplate, config) {\n var self = this;\n var buffer = '';\n var value = context.lookup(token[1]); // This function is used to render an arbitrary template\n // in the current context by higher-order sections.\n\n function subRender(template) {\n return self.render(template, context, partials, config);\n }\n\n if (!value) return;\n\n if (isArray(value)) {\n for (var j = 0, valueLength = value.length; j < valueLength; ++j) {\n buffer += this.renderTokens(token[4], context.push(value[j]), partials, originalTemplate, config);\n }\n } else if (typeof value === 'object' || typeof value === 'string' || typeof value === 'number') {\n buffer += this.renderTokens(token[4], context.push(value), partials, originalTemplate, config);\n } else if (isFunction(value)) {\n if (typeof originalTemplate !== 'string') throw new Error('Cannot use higher-order sections without the original template'); // Extract the portion of the original template that the section contains.\n\n value = value.call(context.view, originalTemplate.slice(token[3], token[5]), subRender);\n if (value != null) buffer += value;\n } else {\n buffer += this.renderTokens(token[4], context, partials, originalTemplate, config);\n }\n\n return buffer;\n };\n\n Writer.prototype.renderInverted = function renderInverted(token, context, partials, originalTemplate, config) {\n var value = context.lookup(token[1]); // Use JavaScript's definition of falsy. Include empty arrays.\n // See https://github.com/janl/mustache.js/issues/186\n\n if (!value || isArray(value) && value.length === 0) return this.renderTokens(token[4], context, partials, originalTemplate, config);\n };\n\n Writer.prototype.indentPartial = function indentPartial(partial, indentation, lineHasNonSpace) {\n var filteredIndentation = indentation.replace(/[^ \\t]/g, '');\n var partialByNl = partial.split('\\n');\n\n for (var i = 0; i < partialByNl.length; i++) {\n if (partialByNl[i].length && (i > 0 || !lineHasNonSpace)) {\n partialByNl[i] = filteredIndentation + partialByNl[i];\n }\n }\n\n return partialByNl.join('\\n');\n };\n\n Writer.prototype.renderPartial = function renderPartial(token, context, partials, config) {\n if (!partials) return;\n var tags = this.getConfigTags(config);\n var value = isFunction(partials) ? partials(token[1]) : partials[token[1]];\n\n if (value != null) {\n var lineHasNonSpace = token[6];\n var tagIndex = token[5];\n var indentation = token[4];\n var indentedValue = value;\n\n if (tagIndex == 0 && indentation) {\n indentedValue = this.indentPartial(value, indentation, lineHasNonSpace);\n }\n\n var tokens = this.parse(indentedValue, tags);\n return this.renderTokens(tokens, context, partials, indentedValue, config);\n }\n };\n\n Writer.prototype.unescapedValue = function unescapedValue(token, context) {\n var value = context.lookup(token[1]);\n if (value != null) return value;\n };\n\n Writer.prototype.escapedValue = function escapedValue(token, context, config) {\n var escape = this.getConfigEscape(config) || mustache.escape;\n var value = context.lookup(token[1]);\n if (value != null) return typeof value === 'number' && escape === mustache.escape ? String(value) : escape(value);\n };\n\n Writer.prototype.rawValue = function rawValue(token) {\n return token[1];\n };\n\n Writer.prototype.getConfigTags = function getConfigTags(config) {\n if (isArray(config)) {\n return config;\n } else if (config && typeof config === 'object') {\n return config.tags;\n } else {\n return undefined;\n }\n };\n\n Writer.prototype.getConfigEscape = function getConfigEscape(config) {\n if (config && typeof config === 'object' && !isArray(config)) {\n return config.escape;\n } else {\n return undefined;\n }\n };\n\n var mustache = {\n name: 'mustache.js',\n version: '4.2.0',\n tags: ['{{', '}}'],\n clearCache: undefined,\n escape: undefined,\n parse: undefined,\n render: undefined,\n Scanner: undefined,\n Context: undefined,\n Writer: undefined,\n\n /**\n * Allows a user to override the default caching strategy, by providing an\n * object with set, get and clear methods. This can also be used to disable\n * the cache by setting it to the literal `undefined`.\n */\n set templateCache(cache) {\n defaultWriter.templateCache = cache;\n },\n\n /**\n * Gets the default or overridden caching object from the default writer.\n */\n get templateCache() {\n return defaultWriter.templateCache;\n }\n\n }; // All high-level mustache.* functions use this writer.\n\n var defaultWriter = new Writer();\n /**\n * Clears all cached templates in the default writer.\n */\n\n mustache.clearCache = function clearCache() {\n return defaultWriter.clearCache();\n };\n /**\n * Parses and caches the given template in the default writer and returns the\n * array of tokens it contains. Doing this ahead of time avoids the need to\n * parse templates on the fly as they are rendered.\n */\n\n\n mustache.parse = function parse(template, tags) {\n return defaultWriter.parse(template, tags);\n };\n /**\n * Renders the `template` with the given `view`, `partials`, and `config`\n * using the default writer.\n */\n\n\n mustache.render = function render(template, view, partials, config) {\n if (typeof template !== 'string') {\n throw new TypeError('Invalid template! Template should be a \"string\" ' + 'but \"' + typeStr(template) + '\" was given as the first ' + 'argument for mustache#render(template, view, partials)');\n }\n\n return defaultWriter.render(template, view, partials, config);\n }; // Export the escaping function so that the user may override it.\n // See https://github.com/janl/mustache.js/issues/244\n\n\n mustache.escape = escapeHtml; // Export these mainly for testing, but also for advanced usage.\n\n mustache.Scanner = Scanner;\n mustache.Context = Context;\n mustache.Writer = Writer;\n return mustache;\n});","\"use strict\";\n\nvar _defineProperty = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/defineProperty.js\");\n\nvar _toConsumableArray = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/toConsumableArray.js\");\n\nvar _slicedToArray = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/slicedToArray.js\");\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Account = void 0;\n\nvar bn_js_1 = __importDefault(require(\"bn.js\"));\n\nvar depd_1 = __importDefault(require(\"depd\"));\n\nvar transaction_1 = require(\"./transaction\");\n\nvar providers_1 = require(\"./providers\");\n\nvar borsh_1 = require(\"borsh\");\n\nvar key_pair_1 = require(\"./utils/key_pair\");\n\nvar errors_1 = require(\"./utils/errors\");\n\nvar rpc_errors_1 = require(\"./utils/rpc_errors\");\n\nvar constants_1 = require(\"./constants\");\n\nvar exponential_backoff_1 = __importDefault(require(\"./utils/exponential-backoff\")); // Default number of retries with different nonce before giving up on a transaction.\n\n\nvar TX_NONCE_RETRY_NUMBER = 12; // Default wait until next retry in millis.\n\nvar TX_NONCE_RETRY_WAIT = 500; // Exponential back off for waiting to retry.\n\nvar TX_NONCE_RETRY_WAIT_BACKOFF = 1.5;\n\nfunction parseJsonFromRawResponse(response) {\n return JSON.parse(Buffer.from(response).toString());\n}\n\nfunction bytesJsonStringify(input) {\n return Buffer.from(JSON.stringify(input));\n}\n/**\n * This class provides common account related RPC calls including signing transactions with a {@link KeyPair}.\n *\n * @example {@link https://docs.near.org/docs/develop/front-end/naj-quick-reference#account}\n * @hint Use {@link WalletConnection} in the browser to redirect to {@link https://docs.near.org/docs/tools/near-wallet | NEAR Wallet} for Account/key management using the {@link BrowserLocalStorageKeyStore}.\n * @see {@link https://nomicon.io/DataStructures/Account.html | Account Spec}\n */\n\n\nvar Account = /*#__PURE__*/function () {\n function Account(connection, accountId) {\n _classCallCheck(this, Account);\n\n /** @hidden */\n this.accessKeyByPublicKeyCache = {};\n this.connection = connection;\n this.accountId = accountId;\n }\n /** @hidden */\n\n\n _createClass(Account, [{\n key: \"ready\",\n get: function get() {\n var deprecate = depd_1.default('Account.ready()');\n deprecate('not needed anymore, always ready');\n return Promise.resolve();\n }\n }, {\n key: \"fetchState\",\n value: function () {\n var _fetchState = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var deprecate;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n deprecate = depd_1.default('Account.fetchState()');\n deprecate('use `Account.state()` instead');\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n function fetchState() {\n return _fetchState.apply(this, arguments);\n }\n\n return fetchState;\n }()\n /**\n * Returns basic NEAR account information via the `view_account` RPC query method\n * @see {@link https://docs.near.org/docs/develop/front-end/rpc#view-account}\n */\n\n }, {\n key: \"state\",\n value: function () {\n var _state = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt(\"return\", this.connection.provider.query({\n request_type: 'view_account',\n account_id: this.accountId,\n finality: 'optimistic'\n }));\n\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function state() {\n return _state.apply(this, arguments);\n }\n\n return state;\n }()\n /** @hidden */\n\n }, {\n key: \"printLogsAndFailures\",\n value: function printLogsAndFailures(contractId, results) {\n if (!process.env[\"NEAR_NO_LOGS\"]) {\n var _iterator = _createForOfIteratorHelper(results),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var result = _step.value;\n console.log(\"Receipt\".concat(result.receiptIds.length > 1 ? 's' : '', \": \").concat(result.receiptIds.join(', ')));\n this.printLogs(contractId, result.logs, '\\t');\n\n if (result.failure) {\n console.warn(\"\\tFailure [\".concat(contractId, \"]: \").concat(result.failure));\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }\n /** @hidden */\n\n }, {\n key: \"printLogs\",\n value: function printLogs(contractId, logs) {\n var prefix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n\n if (!process.env[\"NEAR_NO_LOGS\"]) {\n var _iterator2 = _createForOfIteratorHelper(logs),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var log = _step2.value;\n console.log(\"\".concat(prefix, \"Log [\").concat(contractId, \"]: \").concat(log));\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }\n /**\n * Create a signed transaction which can be broadcast to the network\n * @param receiverId NEAR account receiving the transaction\n * @param actions list of actions to perform as part of the transaction\n * @see {@link JsonRpcProvider.sendTransaction}\n */\n\n }, {\n key: \"signTransaction\",\n value: function () {\n var _signTransaction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(receiverId, actions) {\n var accessKeyInfo, accessKey, block, blockHash, nonce;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return this.findAccessKey(receiverId, actions);\n\n case 2:\n accessKeyInfo = _context3.sent;\n\n if (accessKeyInfo) {\n _context3.next = 5;\n break;\n }\n\n throw new providers_1.TypedError(\"Can not sign transactions for account \".concat(this.accountId, \" on network \").concat(this.connection.networkId, \", no matching key pair found in \").concat(this.connection.signer, \".\"), 'KeyNotFound');\n\n case 5:\n accessKey = accessKeyInfo.accessKey;\n _context3.next = 8;\n return this.connection.provider.block({\n finality: 'final'\n });\n\n case 8:\n block = _context3.sent;\n blockHash = block.header.hash;\n nonce = ++accessKey.nonce;\n _context3.next = 13;\n return transaction_1.signTransaction(receiverId, nonce, actions, borsh_1.baseDecode(blockHash), this.connection.signer, this.accountId, this.connection.networkId);\n\n case 13:\n return _context3.abrupt(\"return\", _context3.sent);\n\n case 14:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function signTransaction(_x, _x2) {\n return _signTransaction.apply(this, arguments);\n }\n\n return signTransaction;\n }()\n }, {\n key: \"signAndSendTransaction\",\n value: function signAndSendTransaction() {\n if (typeof (arguments.length <= 0 ? undefined : arguments[0]) === 'string') {\n return this.signAndSendTransactionV1(arguments.length <= 0 ? undefined : arguments[0], arguments.length <= 1 ? undefined : arguments[1]);\n } else {\n return this.signAndSendTransactionV2(arguments.length <= 0 ? undefined : arguments[0]);\n }\n }\n }, {\n key: \"signAndSendTransactionV1\",\n value: function signAndSendTransactionV1(receiverId, actions) {\n var deprecate = depd_1.default('Account.signAndSendTransaction(receiverId, actions');\n deprecate('use `Account.signAndSendTransaction(SignAndSendTransactionOptions)` instead');\n return this.signAndSendTransactionV2({\n receiverId: receiverId,\n actions: actions\n });\n }\n }, {\n key: \"signAndSendTransactionV2\",\n value: function () {\n var _signAndSendTransactionV = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(_ref) {\n var _this = this;\n\n var receiverId, actions, returnError, txHash, signedTx, result, flatLogs;\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n receiverId = _ref.receiverId, actions = _ref.actions, returnError = _ref.returnError;\n _context5.next = 3;\n return exponential_backoff_1.default(TX_NONCE_RETRY_WAIT, TX_NONCE_RETRY_NUMBER, TX_NONCE_RETRY_WAIT_BACKOFF, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {\n var _yield$_this$signTran, _yield$_this$signTran2, publicKey;\n\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return _this.signTransaction(receiverId, actions);\n\n case 2:\n _yield$_this$signTran = _context4.sent;\n _yield$_this$signTran2 = _slicedToArray(_yield$_this$signTran, 2);\n txHash = _yield$_this$signTran2[0];\n signedTx = _yield$_this$signTran2[1];\n publicKey = signedTx.transaction.publicKey;\n _context4.prev = 7;\n _context4.next = 10;\n return _this.connection.provider.sendTransaction(signedTx);\n\n case 10:\n return _context4.abrupt(\"return\", _context4.sent);\n\n case 13:\n _context4.prev = 13;\n _context4.t0 = _context4[\"catch\"](7);\n\n if (!(_context4.t0.type === 'InvalidNonce')) {\n _context4.next = 19;\n break;\n }\n\n errors_1.logWarning(\"Retrying transaction \".concat(receiverId, \":\").concat(borsh_1.baseEncode(txHash), \" with new nonce.\"));\n delete _this.accessKeyByPublicKeyCache[publicKey.toString()];\n return _context4.abrupt(\"return\", null);\n\n case 19:\n if (!(_context4.t0.type === 'Expired')) {\n _context4.next = 22;\n break;\n }\n\n errors_1.logWarning(\"Retrying transaction \".concat(receiverId, \":\").concat(borsh_1.baseEncode(txHash), \" due to expired block hash\"));\n return _context4.abrupt(\"return\", null);\n\n case 22:\n _context4.t0.context = new providers_1.ErrorContext(borsh_1.baseEncode(txHash));\n throw _context4.t0;\n\n case 24:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, null, [[7, 13]]);\n })));\n\n case 3:\n result = _context5.sent;\n\n if (result) {\n _context5.next = 6;\n break;\n }\n\n throw new providers_1.TypedError('nonce retries exceeded for transaction. This usually means there are too many parallel requests with the same access key.', 'RetriesExceeded');\n\n case 6:\n flatLogs = [result.transaction_outcome].concat(_toConsumableArray(result.receipts_outcome)).reduce(function (acc, it) {\n if (it.outcome.logs.length || typeof it.outcome.status === 'object' && typeof it.outcome.status.Failure === 'object') {\n return acc.concat({\n 'receiptIds': it.outcome.receipt_ids,\n 'logs': it.outcome.logs,\n 'failure': typeof it.outcome.status.Failure != 'undefined' ? rpc_errors_1.parseRpcError(it.outcome.status.Failure) : null\n });\n } else return acc;\n }, []);\n this.printLogsAndFailures(signedTx.transaction.receiverId, flatLogs);\n\n if (!(!returnError && typeof result.status === 'object' && typeof result.status.Failure === 'object')) {\n _context5.next = 14;\n break;\n }\n\n if (!(result.status.Failure.error_message && result.status.Failure.error_type)) {\n _context5.next = 13;\n break;\n }\n\n throw new providers_1.TypedError(\"Transaction \".concat(result.transaction_outcome.id, \" failed. \").concat(result.status.Failure.error_message), result.status.Failure.error_type);\n\n case 13:\n throw rpc_errors_1.parseResultError(result);\n\n case 14:\n return _context5.abrupt(\"return\", result);\n\n case 15:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function signAndSendTransactionV2(_x3) {\n return _signAndSendTransactionV.apply(this, arguments);\n }\n\n return signAndSendTransactionV2;\n }()\n /**\n * Finds the {@link AccessKeyView} associated with the accounts {@link PublicKey} stored in the {@link KeyStore}.\n *\n * @todo Find matching access key based on transaction (i.e. receiverId and actions)\n *\n * @param receiverId currently unused (see todo)\n * @param actions currently unused (see todo)\n * @returns `{ publicKey PublicKey; accessKey: AccessKeyView }`\n */\n\n }, {\n key: \"findAccessKey\",\n value: function () {\n var _findAccessKey = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(receiverId, actions) {\n var publicKey, cachedAccessKey, accessKey;\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return this.connection.signer.getPublicKey(this.accountId, this.connection.networkId);\n\n case 2:\n publicKey = _context6.sent;\n\n if (publicKey) {\n _context6.next = 5;\n break;\n }\n\n return _context6.abrupt(\"return\", null);\n\n case 5:\n cachedAccessKey = this.accessKeyByPublicKeyCache[publicKey.toString()];\n\n if (!(cachedAccessKey !== undefined)) {\n _context6.next = 8;\n break;\n }\n\n return _context6.abrupt(\"return\", {\n publicKey: publicKey,\n accessKey: cachedAccessKey\n });\n\n case 8:\n _context6.prev = 8;\n _context6.next = 11;\n return this.connection.provider.query({\n request_type: 'view_access_key',\n account_id: this.accountId,\n public_key: publicKey.toString(),\n finality: 'optimistic'\n });\n\n case 11:\n accessKey = _context6.sent;\n\n if (!this.accessKeyByPublicKeyCache[publicKey.toString()]) {\n _context6.next = 14;\n break;\n }\n\n return _context6.abrupt(\"return\", {\n publicKey: publicKey,\n accessKey: this.accessKeyByPublicKeyCache[publicKey.toString()]\n });\n\n case 14:\n this.accessKeyByPublicKeyCache[publicKey.toString()] = accessKey;\n return _context6.abrupt(\"return\", {\n publicKey: publicKey,\n accessKey: accessKey\n });\n\n case 18:\n _context6.prev = 18;\n _context6.t0 = _context6[\"catch\"](8);\n\n if (!(_context6.t0.type == 'AccessKeyDoesNotExist')) {\n _context6.next = 22;\n break;\n }\n\n return _context6.abrupt(\"return\", null);\n\n case 22:\n throw _context6.t0;\n\n case 23:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, this, [[8, 18]]);\n }));\n\n function findAccessKey(_x4, _x5) {\n return _findAccessKey.apply(this, arguments);\n }\n\n return findAccessKey;\n }()\n /**\n * Create a new account and deploy a contract to it\n *\n * @param contractId NEAR account where the contract is deployed\n * @param publicKey The public key to add to the created contract account\n * @param data The compiled contract code\n * @param amount of NEAR to transfer to the created contract account. Transfer enough to pay for storage https://docs.near.org/docs/concepts/storage-staking\n */\n\n }, {\n key: \"createAndDeployContract\",\n value: function () {\n var _createAndDeployContract = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7(contractId, publicKey, data, amount) {\n var accessKey, contractAccount;\n return _regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n accessKey = transaction_1.fullAccessKey();\n _context7.next = 3;\n return this.signAndSendTransaction({\n receiverId: contractId,\n actions: [transaction_1.createAccount(), transaction_1.transfer(amount), transaction_1.addKey(key_pair_1.PublicKey.from(publicKey), accessKey), transaction_1.deployContract(data)]\n });\n\n case 3:\n contractAccount = new Account(this.connection, contractId);\n return _context7.abrupt(\"return\", contractAccount);\n\n case 5:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function createAndDeployContract(_x6, _x7, _x8, _x9) {\n return _createAndDeployContract.apply(this, arguments);\n }\n\n return createAndDeployContract;\n }()\n /**\n * @param receiverId NEAR account receiving Ⓝ\n * @param amount Amount to send in yoctoⓃ\n */\n\n }, {\n key: \"sendMoney\",\n value: function () {\n var _sendMoney = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8(receiverId, amount) {\n return _regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n return _context8.abrupt(\"return\", this.signAndSendTransaction({\n receiverId: receiverId,\n actions: [transaction_1.transfer(amount)]\n }));\n\n case 1:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8, this);\n }));\n\n function sendMoney(_x10, _x11) {\n return _sendMoney.apply(this, arguments);\n }\n\n return sendMoney;\n }()\n /**\n * @param newAccountId NEAR account name to be created\n * @param publicKey A public key created from the masterAccount\n */\n\n }, {\n key: \"createAccount\",\n value: function () {\n var _createAccount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee9(newAccountId, publicKey, amount) {\n var accessKey;\n return _regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n accessKey = transaction_1.fullAccessKey();\n return _context9.abrupt(\"return\", this.signAndSendTransaction({\n receiverId: newAccountId,\n actions: [transaction_1.createAccount(), transaction_1.transfer(amount), transaction_1.addKey(key_pair_1.PublicKey.from(publicKey), accessKey)]\n }));\n\n case 2:\n case \"end\":\n return _context9.stop();\n }\n }\n }, _callee9, this);\n }));\n\n function createAccount(_x12, _x13, _x14) {\n return _createAccount.apply(this, arguments);\n }\n\n return createAccount;\n }()\n /**\n * @param beneficiaryId The NEAR account that will receive the remaining Ⓝ balance from the account being deleted\n */\n\n }, {\n key: \"deleteAccount\",\n value: function () {\n var _deleteAccount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee10(beneficiaryId) {\n return _regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n return _context10.abrupt(\"return\", this.signAndSendTransaction({\n receiverId: this.accountId,\n actions: [transaction_1.deleteAccount(beneficiaryId)]\n }));\n\n case 1:\n case \"end\":\n return _context10.stop();\n }\n }\n }, _callee10, this);\n }));\n\n function deleteAccount(_x15) {\n return _deleteAccount.apply(this, arguments);\n }\n\n return deleteAccount;\n }()\n /**\n * @param data The compiled contract code\n */\n\n }, {\n key: \"deployContract\",\n value: function () {\n var _deployContract = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee11(data) {\n return _regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n return _context11.abrupt(\"return\", this.signAndSendTransaction({\n receiverId: this.accountId,\n actions: [transaction_1.deployContract(data)]\n }));\n\n case 1:\n case \"end\":\n return _context11.stop();\n }\n }\n }, _callee11, this);\n }));\n\n function deployContract(_x16) {\n return _deployContract.apply(this, arguments);\n }\n\n return deployContract;\n }()\n }, {\n key: \"functionCall\",\n value: function () {\n var _functionCall = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee12() {\n var _args12 = arguments;\n return _regeneratorRuntime.wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n if (!(typeof (_args12.length <= 0 ? undefined : _args12[0]) === 'string')) {\n _context12.next = 4;\n break;\n }\n\n return _context12.abrupt(\"return\", this.functionCallV1(_args12.length <= 0 ? undefined : _args12[0], _args12.length <= 1 ? undefined : _args12[1], _args12.length <= 2 ? undefined : _args12[2], _args12.length <= 3 ? undefined : _args12[3], _args12.length <= 4 ? undefined : _args12[4]));\n\n case 4:\n return _context12.abrupt(\"return\", this.functionCallV2(_args12.length <= 0 ? undefined : _args12[0]));\n\n case 5:\n case \"end\":\n return _context12.stop();\n }\n }\n }, _callee12, this);\n }));\n\n function functionCall() {\n return _functionCall.apply(this, arguments);\n }\n\n return functionCall;\n }()\n }, {\n key: \"functionCallV1\",\n value: function functionCallV1(contractId, methodName, args, gas, amount) {\n var deprecate = depd_1.default('Account.functionCall(contractId, methodName, args, gas, amount)');\n deprecate('use `Account.functionCall(FunctionCallOptions)` instead');\n args = args || {};\n this.validateArgs(args);\n return this.signAndSendTransaction({\n receiverId: contractId,\n actions: [transaction_1.functionCall(methodName, args, gas || constants_1.DEFAULT_FUNCTION_CALL_GAS, amount)]\n });\n }\n }, {\n key: \"functionCallV2\",\n value: function functionCallV2(_ref3) {\n var contractId = _ref3.contractId,\n methodName = _ref3.methodName,\n _ref3$args = _ref3.args,\n args = _ref3$args === void 0 ? {} : _ref3$args,\n _ref3$gas = _ref3.gas,\n gas = _ref3$gas === void 0 ? constants_1.DEFAULT_FUNCTION_CALL_GAS : _ref3$gas,\n attachedDeposit = _ref3.attachedDeposit,\n walletMeta = _ref3.walletMeta,\n walletCallbackUrl = _ref3.walletCallbackUrl,\n stringify = _ref3.stringify;\n this.validateArgs(args);\n var stringifyArg = stringify === undefined ? transaction_1.stringifyJsonOrBytes : stringify;\n return this.signAndSendTransaction({\n receiverId: contractId,\n actions: [transaction_1.functionCall(methodName, args, gas, attachedDeposit, stringifyArg)],\n walletMeta: walletMeta,\n walletCallbackUrl: walletCallbackUrl\n });\n }\n /**\n * @see {@link https://docs.near.org/docs/concepts/account#access-keys}\n * @todo expand this API to support more options.\n * @param publicKey A public key to be associated with the contract\n * @param contractId NEAR account where the contract is deployed\n * @param methodNames The method names on the contract that should be allowed to be called. Pass null for no method names and '' or [] for any method names.\n * @param amount Payment in yoctoⓃ that is sent to the contract during this function call\n */\n\n }, {\n key: \"addKey\",\n value: function () {\n var _addKey = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee13(publicKey, contractId, methodNames, amount) {\n var accessKey;\n return _regeneratorRuntime.wrap(function _callee13$(_context13) {\n while (1) {\n switch (_context13.prev = _context13.next) {\n case 0:\n if (!methodNames) {\n methodNames = [];\n }\n\n if (!Array.isArray(methodNames)) {\n methodNames = [methodNames];\n }\n\n if (!contractId) {\n accessKey = transaction_1.fullAccessKey();\n } else {\n accessKey = transaction_1.functionCallAccessKey(contractId, methodNames, amount);\n }\n\n return _context13.abrupt(\"return\", this.signAndSendTransaction({\n receiverId: this.accountId,\n actions: [transaction_1.addKey(key_pair_1.PublicKey.from(publicKey), accessKey)]\n }));\n\n case 4:\n case \"end\":\n return _context13.stop();\n }\n }\n }, _callee13, this);\n }));\n\n function addKey(_x17, _x18, _x19, _x20) {\n return _addKey.apply(this, arguments);\n }\n\n return addKey;\n }()\n /**\n * @param publicKey The public key to be deleted\n * @returns {Promise}\n */\n\n }, {\n key: \"deleteKey\",\n value: function () {\n var _deleteKey = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee14(publicKey) {\n return _regeneratorRuntime.wrap(function _callee14$(_context14) {\n while (1) {\n switch (_context14.prev = _context14.next) {\n case 0:\n return _context14.abrupt(\"return\", this.signAndSendTransaction({\n receiverId: this.accountId,\n actions: [transaction_1.deleteKey(key_pair_1.PublicKey.from(publicKey))]\n }));\n\n case 1:\n case \"end\":\n return _context14.stop();\n }\n }\n }, _callee14, this);\n }));\n\n function deleteKey(_x21) {\n return _deleteKey.apply(this, arguments);\n }\n\n return deleteKey;\n }()\n /**\n * @see {@link https://docs.near.org/docs/validator/staking-overview}\n *\n * @param publicKey The public key for the account that's staking\n * @param amount The account to stake in yoctoⓃ\n */\n\n }, {\n key: \"stake\",\n value: function () {\n var _stake = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee15(publicKey, amount) {\n return _regeneratorRuntime.wrap(function _callee15$(_context15) {\n while (1) {\n switch (_context15.prev = _context15.next) {\n case 0:\n return _context15.abrupt(\"return\", this.signAndSendTransaction({\n receiverId: this.accountId,\n actions: [transaction_1.stake(amount, key_pair_1.PublicKey.from(publicKey))]\n }));\n\n case 1:\n case \"end\":\n return _context15.stop();\n }\n }\n }, _callee15, this);\n }));\n\n function stake(_x22, _x23) {\n return _stake.apply(this, arguments);\n }\n\n return stake;\n }()\n /** @hidden */\n\n }, {\n key: \"validateArgs\",\n value: function validateArgs(args) {\n var isUint8Array = args.byteLength !== undefined && args.byteLength === args.length;\n\n if (isUint8Array) {\n return;\n }\n\n if (Array.isArray(args) || typeof args !== 'object') {\n throw new errors_1.PositionalArgsError();\n }\n }\n /**\n * Invoke a contract view function using the RPC API.\n * @see {@link https://docs.near.org/docs/develop/front-end/rpc#call-a-contract-function}\n *\n * @param contractId NEAR account where the contract is deployed\n * @param methodName The view-only method (no state mutations) name on the contract as it is written in the contract code\n * @param args Any arguments to the view contract method, wrapped in JSON\n * @param options.parse Parse the result of the call. Receives a Buffer (bytes array) and converts it to any object. By default result will be treated as json.\n * @param options.stringify Convert input arguments into a bytes array. By default the input is treated as a JSON.\n * @returns {Promise}\n */\n\n }, {\n key: \"viewFunction\",\n value: function () {\n var _viewFunction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee16(contractId, methodName) {\n var args,\n _ref4,\n _ref4$parse,\n parse,\n _ref4$stringify,\n stringify,\n serializedArgs,\n result,\n _args16 = arguments;\n\n return _regeneratorRuntime.wrap(function _callee16$(_context16) {\n while (1) {\n switch (_context16.prev = _context16.next) {\n case 0:\n args = _args16.length > 2 && _args16[2] !== undefined ? _args16[2] : {};\n _ref4 = _args16.length > 3 && _args16[3] !== undefined ? _args16[3] : {}, _ref4$parse = _ref4.parse, parse = _ref4$parse === void 0 ? parseJsonFromRawResponse : _ref4$parse, _ref4$stringify = _ref4.stringify, stringify = _ref4$stringify === void 0 ? bytesJsonStringify : _ref4$stringify;\n this.validateArgs(args);\n serializedArgs = stringify(args).toString('base64');\n _context16.next = 6;\n return this.connection.provider.query({\n request_type: 'call_function',\n account_id: contractId,\n method_name: methodName,\n args_base64: serializedArgs,\n finality: 'optimistic'\n });\n\n case 6:\n result = _context16.sent;\n\n if (result.logs) {\n this.printLogs(contractId, result.logs);\n }\n\n return _context16.abrupt(\"return\", result.result && result.result.length > 0 && parse(Buffer.from(result.result)));\n\n case 9:\n case \"end\":\n return _context16.stop();\n }\n }\n }, _callee16, this);\n }));\n\n function viewFunction(_x24, _x25) {\n return _viewFunction.apply(this, arguments);\n }\n\n return viewFunction;\n }()\n /**\n * Returns the state (key value pairs) of this account's contract based on the key prefix.\n * Pass an empty string for prefix if you would like to return the entire state.\n * @see {@link https://docs.near.org/docs/develop/front-end/rpc#view-contract-state}\n *\n * @param prefix allows to filter which keys should be returned. Empty prefix means all keys. String prefix is utf-8 encoded.\n * @param blockQuery specifies which block to query state at. By default returns last \"optimistic\" block (i.e. not necessarily finalized).\n */\n\n }, {\n key: \"viewState\",\n value: function () {\n var _viewState = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee17(prefix) {\n var blockQuery,\n _yield$this$connectio,\n values,\n _args17 = arguments;\n\n return _regeneratorRuntime.wrap(function _callee17$(_context17) {\n while (1) {\n switch (_context17.prev = _context17.next) {\n case 0:\n blockQuery = _args17.length > 1 && _args17[1] !== undefined ? _args17[1] : {\n finality: 'optimistic'\n };\n _context17.next = 3;\n return this.connection.provider.query(_objectSpread(_objectSpread({\n request_type: 'view_state'\n }, blockQuery), {}, {\n account_id: this.accountId,\n prefix_base64: Buffer.from(prefix).toString('base64')\n }));\n\n case 3:\n _yield$this$connectio = _context17.sent;\n values = _yield$this$connectio.values;\n return _context17.abrupt(\"return\", values.map(function (_ref5) {\n var key = _ref5.key,\n value = _ref5.value;\n return {\n key: Buffer.from(key, 'base64'),\n value: Buffer.from(value, 'base64')\n };\n }));\n\n case 6:\n case \"end\":\n return _context17.stop();\n }\n }\n }, _callee17, this);\n }));\n\n function viewState(_x26) {\n return _viewState.apply(this, arguments);\n }\n\n return viewState;\n }()\n /**\n * Get all access keys for the account\n * @see {@link https://docs.near.org/docs/develop/front-end/rpc#view-access-key-list}\n */\n\n }, {\n key: \"getAccessKeys\",\n value: function () {\n var _getAccessKeys = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee18() {\n var response;\n return _regeneratorRuntime.wrap(function _callee18$(_context18) {\n while (1) {\n switch (_context18.prev = _context18.next) {\n case 0:\n _context18.next = 2;\n return this.connection.provider.query({\n request_type: 'view_access_key_list',\n account_id: this.accountId,\n finality: 'optimistic'\n });\n\n case 2:\n response = _context18.sent;\n\n if (!Array.isArray(response)) {\n _context18.next = 5;\n break;\n }\n\n return _context18.abrupt(\"return\", response);\n\n case 5:\n return _context18.abrupt(\"return\", response.keys);\n\n case 6:\n case \"end\":\n return _context18.stop();\n }\n }\n }, _callee18, this);\n }));\n\n function getAccessKeys() {\n return _getAccessKeys.apply(this, arguments);\n }\n\n return getAccessKeys;\n }()\n /**\n * Returns a list of authorized apps\n * @todo update the response value to return all the different keys, not just app keys.\n */\n\n }, {\n key: \"getAccountDetails\",\n value: function () {\n var _getAccountDetails = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee19() {\n var accessKeys, authorizedApps;\n return _regeneratorRuntime.wrap(function _callee19$(_context19) {\n while (1) {\n switch (_context19.prev = _context19.next) {\n case 0:\n _context19.next = 2;\n return this.getAccessKeys();\n\n case 2:\n accessKeys = _context19.sent;\n authorizedApps = accessKeys.filter(function (item) {\n return item.access_key.permission !== 'FullAccess';\n }).map(function (item) {\n var perm = item.access_key.permission;\n return {\n contractId: perm.FunctionCall.receiver_id,\n amount: perm.FunctionCall.allowance,\n publicKey: item.public_key\n };\n });\n return _context19.abrupt(\"return\", {\n authorizedApps: authorizedApps\n });\n\n case 5:\n case \"end\":\n return _context19.stop();\n }\n }\n }, _callee19, this);\n }));\n\n function getAccountDetails() {\n return _getAccountDetails.apply(this, arguments);\n }\n\n return getAccountDetails;\n }()\n /**\n * Returns calculated account balance\n */\n\n }, {\n key: \"getAccountBalance\",\n value: function () {\n var _getAccountBalance = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee20() {\n var protocolConfig, state, costPerByte, stateStaked, staked, totalBalance, availableBalance;\n return _regeneratorRuntime.wrap(function _callee20$(_context20) {\n while (1) {\n switch (_context20.prev = _context20.next) {\n case 0:\n _context20.next = 2;\n return this.connection.provider.experimental_protocolConfig({\n finality: 'final'\n });\n\n case 2:\n protocolConfig = _context20.sent;\n _context20.next = 5;\n return this.state();\n\n case 5:\n state = _context20.sent;\n costPerByte = new bn_js_1.default(protocolConfig.runtime_config.storage_amount_per_byte);\n stateStaked = new bn_js_1.default(state.storage_usage).mul(costPerByte);\n staked = new bn_js_1.default(state.locked);\n totalBalance = new bn_js_1.default(state.amount).add(staked);\n availableBalance = totalBalance.sub(bn_js_1.default.max(staked, stateStaked));\n return _context20.abrupt(\"return\", {\n total: totalBalance.toString(),\n stateStaked: stateStaked.toString(),\n staked: staked.toString(),\n available: availableBalance.toString()\n });\n\n case 12:\n case \"end\":\n return _context20.stop();\n }\n }\n }, _callee20, this);\n }));\n\n function getAccountBalance() {\n return _getAccountBalance.apply(this, arguments);\n }\n\n return getAccountBalance;\n }()\n }]);\n\n return Account;\n}();\n\nexports.Account = Account;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.UrlAccountCreator = exports.LocalAccountCreator = exports.AccountCreator = void 0;\n\nvar web_1 = require(\"./utils/web\");\n/**\n * Account creator provides an interface for implementations to actually create accounts\n */\n\n\nvar AccountCreator = /*#__PURE__*/_createClass(function AccountCreator() {\n _classCallCheck(this, AccountCreator);\n});\n\nexports.AccountCreator = AccountCreator;\n\nvar LocalAccountCreator = /*#__PURE__*/function (_AccountCreator) {\n _inherits(LocalAccountCreator, _AccountCreator);\n\n var _super = _createSuper(LocalAccountCreator);\n\n function LocalAccountCreator(masterAccount, initialBalance) {\n var _this;\n\n _classCallCheck(this, LocalAccountCreator);\n\n _this = _super.call(this);\n _this.masterAccount = masterAccount;\n _this.initialBalance = initialBalance;\n return _this;\n }\n /**\n * Creates an account using a masterAccount, meaning the new account is created from an existing account\n * @param newAccountId The name of the NEAR account to be created\n * @param publicKey The public key from the masterAccount used to create this account\n * @returns {Promise}\n */\n\n\n _createClass(LocalAccountCreator, [{\n key: \"createAccount\",\n value: function () {\n var _createAccount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(newAccountId, publicKey) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this.masterAccount.createAccount(newAccountId, publicKey, this.initialBalance);\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function createAccount(_x, _x2) {\n return _createAccount.apply(this, arguments);\n }\n\n return createAccount;\n }()\n }]);\n\n return LocalAccountCreator;\n}(AccountCreator);\n\nexports.LocalAccountCreator = LocalAccountCreator;\n\nvar UrlAccountCreator = /*#__PURE__*/function (_AccountCreator2) {\n _inherits(UrlAccountCreator, _AccountCreator2);\n\n var _super2 = _createSuper(UrlAccountCreator);\n\n function UrlAccountCreator(connection, helperUrl) {\n var _this2;\n\n _classCallCheck(this, UrlAccountCreator);\n\n _this2 = _super2.call(this);\n _this2.connection = connection;\n _this2.helperUrl = helperUrl;\n return _this2;\n }\n /**\n * Creates an account using a helperUrl\n * This is [hosted here](https://helper.nearprotocol.com) or set up locally with the [near-contract-helper](https://github.com/nearprotocol/near-contract-helper) repository\n * @param newAccountId The name of the NEAR account to be created\n * @param publicKey The public key from the masterAccount used to create this account\n * @returns {Promise}\n */\n\n\n _createClass(UrlAccountCreator, [{\n key: \"createAccount\",\n value: function () {\n var _createAccount2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(newAccountId, publicKey) {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return web_1.fetchJson(\"\".concat(this.helperUrl, \"/account\"), JSON.stringify({\n newAccountId: newAccountId,\n newAccountPublicKey: publicKey.toString()\n }));\n\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function createAccount(_x3, _x4) {\n return _createAccount2.apply(this, arguments);\n }\n\n return createAccount;\n }()\n }]);\n\n return UrlAccountCreator;\n}(AccountCreator);\n\nexports.UrlAccountCreator = UrlAccountCreator;","'use strict';\n\nvar _toConsumableArray = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/toConsumableArray.js\");\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _get = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/get.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nvar _defineProperty = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/defineProperty.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Account2FA = exports.AccountMultisig = exports.MULTISIG_CONFIRM_METHODS = exports.MULTISIG_CHANGE_METHODS = exports.MULTISIG_DEPOSIT = exports.MULTISIG_GAS = exports.MULTISIG_ALLOWANCE = exports.MULTISIG_STORAGE_KEY = void 0;\n\nvar bn_js_1 = __importDefault(require(\"bn.js\"));\n\nvar depd_1 = __importDefault(require(\"depd\"));\n\nvar account_1 = require(\"./account\");\n\nvar format_1 = require(\"./utils/format\");\n\nvar key_pair_1 = require(\"./utils/key_pair\");\n\nvar transaction_1 = require(\"./transaction\");\n\nvar web_1 = require(\"./utils/web\");\n\nexports.MULTISIG_STORAGE_KEY = '__multisigRequest';\nexports.MULTISIG_ALLOWANCE = new bn_js_1.default(format_1.parseNearAmount('1')); // TODO: Different gas value for different requests (can reduce gas usage dramatically)\n\nexports.MULTISIG_GAS = new bn_js_1.default('100000000000000');\nexports.MULTISIG_DEPOSIT = new bn_js_1.default('0');\nexports.MULTISIG_CHANGE_METHODS = ['add_request', 'add_request_and_confirm', 'delete_request', 'confirm'];\nexports.MULTISIG_CONFIRM_METHODS = ['confirm']; // in memory request cache for node w/o localStorage\n\nvar storageFallback = _defineProperty({}, exports.MULTISIG_STORAGE_KEY, null);\n\nvar AccountMultisig = /*#__PURE__*/function (_account_1$Account) {\n _inherits(AccountMultisig, _account_1$Account);\n\n var _super = _createSuper(AccountMultisig);\n\n function AccountMultisig(connection, accountId, options) {\n var _this;\n\n _classCallCheck(this, AccountMultisig);\n\n _this = _super.call(this, connection, accountId);\n _this.storage = options.storage;\n _this.onAddRequestResult = options.onAddRequestResult;\n return _this;\n }\n\n _createClass(AccountMultisig, [{\n key: \"signAndSendTransactionWithAccount\",\n value: function () {\n var _signAndSendTransactionWithAccount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(receiverId, actions) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", _get(_getPrototypeOf(AccountMultisig.prototype), \"signAndSendTransaction\", this).call(this, {\n receiverId: receiverId,\n actions: actions\n }));\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function signAndSendTransactionWithAccount(_x, _x2) {\n return _signAndSendTransactionWithAccount.apply(this, arguments);\n }\n\n return signAndSendTransactionWithAccount;\n }()\n }, {\n key: \"signAndSendTransaction\",\n value: function signAndSendTransaction() {\n if (typeof (arguments.length <= 0 ? undefined : arguments[0]) === 'string') {\n return this._signAndSendTransaction({\n receiverId: arguments.length <= 0 ? undefined : arguments[0],\n actions: arguments.length <= 1 ? undefined : arguments[1]\n });\n }\n\n return this._signAndSendTransaction(arguments.length <= 0 ? undefined : arguments[0]);\n }\n }, {\n key: \"_signAndSendTransaction\",\n value: function () {\n var _signAndSendTransaction2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref) {\n var receiverId, actions, accountId, args, result, status;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n receiverId = _ref.receiverId, actions = _ref.actions;\n accountId = this.accountId;\n args = Buffer.from(JSON.stringify({\n request: {\n receiver_id: receiverId,\n actions: convertActions(actions, accountId, receiverId)\n }\n }));\n _context2.prev = 3;\n _context2.next = 6;\n return _get(_getPrototypeOf(AccountMultisig.prototype), \"signAndSendTransaction\", this).call(this, {\n receiverId: accountId,\n actions: [transaction_1.functionCall('add_request_and_confirm', args, exports.MULTISIG_GAS, exports.MULTISIG_DEPOSIT)]\n });\n\n case 6:\n result = _context2.sent;\n _context2.next = 18;\n break;\n\n case 9:\n _context2.prev = 9;\n _context2.t0 = _context2[\"catch\"](3);\n\n if (!_context2.t0.toString().includes('Account has too many active requests. Confirm or delete some')) {\n _context2.next = 17;\n break;\n }\n\n _context2.next = 14;\n return this.deleteUnconfirmedRequests();\n\n case 14:\n _context2.next = 16;\n return this.signAndSendTransaction(receiverId, actions);\n\n case 16:\n return _context2.abrupt(\"return\", _context2.sent);\n\n case 17:\n throw _context2.t0;\n\n case 18:\n if (result.status) {\n _context2.next = 20;\n break;\n }\n\n throw new Error('Request failed');\n\n case 20:\n status = _objectSpread({}, result.status);\n\n if (!(!status.SuccessValue || typeof status.SuccessValue !== 'string')) {\n _context2.next = 23;\n break;\n }\n\n throw new Error('Request failed');\n\n case 23:\n this.setRequest({\n accountId: accountId,\n actions: actions,\n requestId: parseInt(Buffer.from(status.SuccessValue, 'base64').toString('ascii'), 10)\n });\n\n if (!this.onAddRequestResult) {\n _context2.next = 27;\n break;\n }\n\n _context2.next = 27;\n return this.onAddRequestResult(result);\n\n case 27:\n // NOTE there is no await on purpose to avoid blocking for 2fa\n this.deleteUnconfirmedRequests();\n return _context2.abrupt(\"return\", result);\n\n case 29:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this, [[3, 9]]);\n }));\n\n function _signAndSendTransaction(_x3) {\n return _signAndSendTransaction2.apply(this, arguments);\n }\n\n return _signAndSendTransaction;\n }()\n }, {\n key: \"deleteUnconfirmedRequests\",\n value: function () {\n var _deleteUnconfirmedRequests = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n var request_ids, _this$getRequest, requestId, _iterator, _step, requestIdToDelete;\n\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return this.getRequestIds();\n\n case 2:\n request_ids = _context3.sent;\n _this$getRequest = this.getRequest(), requestId = _this$getRequest.requestId;\n _iterator = _createForOfIteratorHelper(request_ids);\n _context3.prev = 5;\n\n _iterator.s();\n\n case 7:\n if ((_step = _iterator.n()).done) {\n _context3.next = 21;\n break;\n }\n\n requestIdToDelete = _step.value;\n\n if (!(requestIdToDelete == requestId)) {\n _context3.next = 11;\n break;\n }\n\n return _context3.abrupt(\"continue\", 19);\n\n case 11:\n _context3.prev = 11;\n _context3.next = 14;\n return _get(_getPrototypeOf(AccountMultisig.prototype), \"signAndSendTransaction\", this).call(this, {\n receiverId: this.accountId,\n actions: [transaction_1.functionCall('delete_request', {\n request_id: requestIdToDelete\n }, exports.MULTISIG_GAS, exports.MULTISIG_DEPOSIT)]\n });\n\n case 14:\n _context3.next = 19;\n break;\n\n case 16:\n _context3.prev = 16;\n _context3.t0 = _context3[\"catch\"](11);\n console.warn('Attempt to delete an earlier request before 15 minutes failed. Will try again.');\n\n case 19:\n _context3.next = 7;\n break;\n\n case 21:\n _context3.next = 26;\n break;\n\n case 23:\n _context3.prev = 23;\n _context3.t1 = _context3[\"catch\"](5);\n\n _iterator.e(_context3.t1);\n\n case 26:\n _context3.prev = 26;\n\n _iterator.f();\n\n return _context3.finish(26);\n\n case 29:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this, [[5, 23, 26, 29], [11, 16]]);\n }));\n\n function deleteUnconfirmedRequests() {\n return _deleteUnconfirmedRequests.apply(this, arguments);\n }\n\n return deleteUnconfirmedRequests;\n }() // helpers\n\n }, {\n key: \"getRequestIds\",\n value: function () {\n var _getRequestIds = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n return _context4.abrupt(\"return\", this.viewFunction(this.accountId, 'list_request_ids'));\n\n case 1:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function getRequestIds() {\n return _getRequestIds.apply(this, arguments);\n }\n\n return getRequestIds;\n }()\n }, {\n key: \"getRequest\",\n value: function getRequest() {\n if (this.storage) {\n return JSON.parse(this.storage.getItem(exports.MULTISIG_STORAGE_KEY) || '{}');\n }\n\n return storageFallback[exports.MULTISIG_STORAGE_KEY];\n }\n }, {\n key: \"setRequest\",\n value: function setRequest(data) {\n if (this.storage) {\n return this.storage.setItem(exports.MULTISIG_STORAGE_KEY, JSON.stringify(data));\n }\n\n storageFallback[exports.MULTISIG_STORAGE_KEY] = data;\n }\n }]);\n\n return AccountMultisig;\n}(account_1.Account);\n\nexports.AccountMultisig = AccountMultisig;\n\nvar Account2FA = /*#__PURE__*/function (_AccountMultisig) {\n _inherits(Account2FA, _AccountMultisig);\n\n var _super2 = _createSuper(Account2FA);\n\n function Account2FA(connection, accountId, options) {\n var _this2;\n\n _classCallCheck(this, Account2FA);\n\n _this2 = _super2.call(this, connection, accountId, options);\n _this2.helperUrl = 'https://helper.testnet.near.org';\n _this2.helperUrl = options.helperUrl || _this2.helperUrl;\n _this2.storage = options.storage;\n _this2.sendCode = options.sendCode || _this2.sendCodeDefault;\n _this2.getCode = options.getCode || _this2.getCodeDefault;\n _this2.verifyCode = options.verifyCode || _this2.verifyCodeDefault;\n _this2.onConfirmResult = options.onConfirmResult;\n return _this2;\n }\n\n _createClass(Account2FA, [{\n key: \"signAndSendTransaction\",\n value: function () {\n var _signAndSendTransaction3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {\n var deprecate,\n _args5 = arguments;\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n if (!(typeof (_args5.length <= 0 ? undefined : _args5[0]) === 'string')) {\n _context5.next = 6;\n break;\n }\n\n deprecate = depd_1.default('Account.signAndSendTransaction(receiverId, actions');\n deprecate('use `Account2FA.signAndSendTransaction(SignAndSendTransactionOptions)` instead');\n return _context5.abrupt(\"return\", this.__signAndSendTransaction({\n receiverId: _args5.length <= 0 ? undefined : _args5[0],\n actions: _args5.length <= 1 ? undefined : _args5[1]\n }));\n\n case 6:\n return _context5.abrupt(\"return\", this.__signAndSendTransaction(_args5.length <= 0 ? undefined : _args5[0]));\n\n case 7:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function signAndSendTransaction() {\n return _signAndSendTransaction3.apply(this, arguments);\n }\n\n return signAndSendTransaction;\n }()\n }, {\n key: \"__signAndSendTransaction\",\n value: function () {\n var _signAndSendTransaction4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(_ref2) {\n var receiverId, actions, result;\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n receiverId = _ref2.receiverId, actions = _ref2.actions;\n _context6.next = 3;\n return _get(_getPrototypeOf(Account2FA.prototype), \"signAndSendTransaction\", this).call(this, {\n receiverId: receiverId,\n actions: actions\n });\n\n case 3:\n _context6.next = 5;\n return this.sendCode();\n\n case 5:\n _context6.next = 7;\n return this.promptAndVerify();\n\n case 7:\n result = _context6.sent;\n\n if (!this.onConfirmResult) {\n _context6.next = 11;\n break;\n }\n\n _context6.next = 11;\n return this.onConfirmResult(result);\n\n case 11:\n return _context6.abrupt(\"return\", result);\n\n case 12:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function __signAndSendTransaction(_x4) {\n return _signAndSendTransaction4.apply(this, arguments);\n }\n\n return __signAndSendTransaction;\n }() // default helpers for CH deployments of multisig\n\n }, {\n key: \"deployMultisig\",\n value: function () {\n var _deployMultisig = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7(contractBytes) {\n var accountId, seedOrLedgerKey, fak2lak, confirmOnlyKey, newArgs, actions;\n return _regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n accountId = this.accountId;\n _context7.next = 3;\n return this.getRecoveryMethods();\n\n case 3:\n seedOrLedgerKey = _context7.sent.data.filter(function (_ref3) {\n var kind = _ref3.kind,\n publicKey = _ref3.publicKey;\n return (kind === 'phrase' || kind === 'ledger') && publicKey !== null;\n }).map(function (rm) {\n return rm.publicKey;\n });\n _context7.next = 6;\n return this.getAccessKeys();\n\n case 6:\n fak2lak = _context7.sent.filter(function (_ref4) {\n var public_key = _ref4.public_key,\n permission = _ref4.access_key.permission;\n return permission === 'FullAccess' && !seedOrLedgerKey.includes(public_key);\n }).map(function (ak) {\n return ak.public_key;\n }).map(toPK);\n _context7.t0 = toPK;\n _context7.next = 10;\n return this.postSignedJson('/2fa/getAccessKey', {\n accountId: accountId\n });\n\n case 10:\n _context7.t1 = _context7.sent.publicKey;\n confirmOnlyKey = (0, _context7.t0)(_context7.t1);\n newArgs = Buffer.from(JSON.stringify({\n 'num_confirmations': 2\n }));\n actions = [].concat(_toConsumableArray(fak2lak.map(function (pk) {\n return transaction_1.deleteKey(pk);\n })), _toConsumableArray(fak2lak.map(function (pk) {\n return transaction_1.addKey(pk, transaction_1.functionCallAccessKey(accountId, exports.MULTISIG_CHANGE_METHODS, null));\n })), [transaction_1.addKey(confirmOnlyKey, transaction_1.functionCallAccessKey(accountId, exports.MULTISIG_CONFIRM_METHODS, null)), transaction_1.deployContract(contractBytes)]);\n _context7.next = 16;\n return this.state();\n\n case 16:\n _context7.t2 = _context7.sent.code_hash;\n\n if (!(_context7.t2 === '11111111111111111111111111111111')) {\n _context7.next = 19;\n break;\n }\n\n actions.push(transaction_1.functionCall('new', newArgs, exports.MULTISIG_GAS, exports.MULTISIG_DEPOSIT));\n\n case 19:\n console.log('deploying multisig contract for', accountId);\n _context7.next = 22;\n return _get(_getPrototypeOf(Account2FA.prototype), \"signAndSendTransactionWithAccount\", this).call(this, accountId, actions);\n\n case 22:\n return _context7.abrupt(\"return\", _context7.sent);\n\n case 23:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function deployMultisig(_x5) {\n return _deployMultisig.apply(this, arguments);\n }\n\n return deployMultisig;\n }()\n }, {\n key: \"disable\",\n value: function () {\n var _disable = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8(contractBytes) {\n var accountId, accessKeys, lak2fak, confirmOnlyKey, actions;\n return _regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n accountId = this.accountId;\n _context8.next = 3;\n return this.getAccessKeys();\n\n case 3:\n accessKeys = _context8.sent;\n lak2fak = accessKeys.filter(function (_ref5) {\n var access_key = _ref5.access_key;\n return access_key.permission !== 'FullAccess';\n }).filter(function (_ref6) {\n var access_key = _ref6.access_key;\n var perm = access_key.permission.FunctionCall;\n return perm.receiver_id === accountId && perm.method_names.length === 4 && perm.method_names.includes('add_request_and_confirm');\n });\n _context8.t0 = key_pair_1.PublicKey;\n _context8.next = 8;\n return this.postSignedJson('/2fa/getAccessKey', {\n accountId: accountId\n });\n\n case 8:\n _context8.t1 = _context8.sent.publicKey;\n confirmOnlyKey = _context8.t0.from.call(_context8.t0, _context8.t1);\n actions = [transaction_1.deleteKey(confirmOnlyKey)].concat(_toConsumableArray(lak2fak.map(function (_ref7) {\n var public_key = _ref7.public_key;\n return transaction_1.deleteKey(key_pair_1.PublicKey.from(public_key));\n })), _toConsumableArray(lak2fak.map(function (_ref8) {\n var public_key = _ref8.public_key;\n return transaction_1.addKey(key_pair_1.PublicKey.from(public_key), null);\n })), [transaction_1.deployContract(contractBytes)]);\n console.log('disabling 2fa for', accountId);\n _context8.next = 14;\n return this.signAndSendTransaction({\n receiverId: accountId,\n actions: actions\n });\n\n case 14:\n return _context8.abrupt(\"return\", _context8.sent);\n\n case 15:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8, this);\n }));\n\n function disable(_x6) {\n return _disable.apply(this, arguments);\n }\n\n return disable;\n }()\n }, {\n key: \"sendCodeDefault\",\n value: function () {\n var _sendCodeDefault = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee9() {\n var accountId, _this$getRequest2, requestId, method;\n\n return _regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n accountId = this.accountId;\n _this$getRequest2 = this.getRequest(), requestId = _this$getRequest2.requestId;\n _context9.next = 4;\n return this.get2faMethod();\n\n case 4:\n method = _context9.sent;\n _context9.next = 7;\n return this.postSignedJson('/2fa/send', {\n accountId: accountId,\n method: method,\n requestId: requestId\n });\n\n case 7:\n return _context9.abrupt(\"return\", requestId);\n\n case 8:\n case \"end\":\n return _context9.stop();\n }\n }\n }, _callee9, this);\n }));\n\n function sendCodeDefault() {\n return _sendCodeDefault.apply(this, arguments);\n }\n\n return sendCodeDefault;\n }()\n }, {\n key: \"getCodeDefault\",\n value: function () {\n var _getCodeDefault = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee10(method) {\n return _regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n throw new Error('There is no getCode callback provided. Please provide your own in AccountMultisig constructor options. It has a parameter method where method.kind is \"email\" or \"phone\".');\n\n case 1:\n case \"end\":\n return _context10.stop();\n }\n }\n }, _callee10);\n }));\n\n function getCodeDefault(_x7) {\n return _getCodeDefault.apply(this, arguments);\n }\n\n return getCodeDefault;\n }()\n }, {\n key: \"promptAndVerify\",\n value: function () {\n var _promptAndVerify = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee11() {\n var method, securityCode, result;\n return _regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n _context11.next = 2;\n return this.get2faMethod();\n\n case 2:\n method = _context11.sent;\n _context11.next = 5;\n return this.getCode(method);\n\n case 5:\n securityCode = _context11.sent;\n _context11.prev = 6;\n _context11.next = 9;\n return this.verifyCode(securityCode);\n\n case 9:\n result = _context11.sent;\n return _context11.abrupt(\"return\", result);\n\n case 13:\n _context11.prev = 13;\n _context11.t0 = _context11[\"catch\"](6);\n console.warn('Error validating security code:', _context11.t0);\n\n if (!(_context11.t0.toString().includes('invalid 2fa code provided') || _context11.t0.toString().includes('2fa code not valid'))) {\n _context11.next = 20;\n break;\n }\n\n _context11.next = 19;\n return this.promptAndVerify();\n\n case 19:\n return _context11.abrupt(\"return\", _context11.sent);\n\n case 20:\n throw _context11.t0;\n\n case 21:\n case \"end\":\n return _context11.stop();\n }\n }\n }, _callee11, this, [[6, 13]]);\n }));\n\n function promptAndVerify() {\n return _promptAndVerify.apply(this, arguments);\n }\n\n return promptAndVerify;\n }()\n }, {\n key: \"verifyCodeDefault\",\n value: function () {\n var _verifyCodeDefault = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee12(securityCode) {\n var accountId, request, requestId;\n return _regeneratorRuntime.wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n accountId = this.accountId;\n request = this.getRequest();\n\n if (request) {\n _context12.next = 4;\n break;\n }\n\n throw new Error('no request pending');\n\n case 4:\n requestId = request.requestId;\n _context12.next = 7;\n return this.postSignedJson('/2fa/verify', {\n accountId: accountId,\n securityCode: securityCode,\n requestId: requestId\n });\n\n case 7:\n return _context12.abrupt(\"return\", _context12.sent);\n\n case 8:\n case \"end\":\n return _context12.stop();\n }\n }\n }, _callee12, this);\n }));\n\n function verifyCodeDefault(_x8) {\n return _verifyCodeDefault.apply(this, arguments);\n }\n\n return verifyCodeDefault;\n }()\n }, {\n key: \"getRecoveryMethods\",\n value: function () {\n var _getRecoveryMethods = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee13() {\n var accountId;\n return _regeneratorRuntime.wrap(function _callee13$(_context13) {\n while (1) {\n switch (_context13.prev = _context13.next) {\n case 0:\n accountId = this.accountId;\n _context13.t0 = accountId;\n _context13.next = 4;\n return this.postSignedJson('/account/recoveryMethods', {\n accountId: accountId\n });\n\n case 4:\n _context13.t1 = _context13.sent;\n return _context13.abrupt(\"return\", {\n accountId: _context13.t0,\n data: _context13.t1\n });\n\n case 6:\n case \"end\":\n return _context13.stop();\n }\n }\n }, _callee13, this);\n }));\n\n function getRecoveryMethods() {\n return _getRecoveryMethods.apply(this, arguments);\n }\n\n return getRecoveryMethods;\n }()\n }, {\n key: \"get2faMethod\",\n value: function () {\n var _get2faMethod = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee14() {\n var _yield$this$getRecove, data, _data, kind, detail;\n\n return _regeneratorRuntime.wrap(function _callee14$(_context14) {\n while (1) {\n switch (_context14.prev = _context14.next) {\n case 0:\n _context14.next = 2;\n return this.getRecoveryMethods();\n\n case 2:\n _yield$this$getRecove = _context14.sent;\n data = _yield$this$getRecove.data;\n\n if (data && data.length) {\n data = data.find(function (m) {\n return m.kind.indexOf('2fa-') === 0;\n });\n }\n\n if (data) {\n _context14.next = 7;\n break;\n }\n\n return _context14.abrupt(\"return\", null);\n\n case 7:\n _data = data, kind = _data.kind, detail = _data.detail;\n return _context14.abrupt(\"return\", {\n kind: kind,\n detail: detail\n });\n\n case 9:\n case \"end\":\n return _context14.stop();\n }\n }\n }, _callee14, this);\n }));\n\n function get2faMethod() {\n return _get2faMethod.apply(this, arguments);\n }\n\n return get2faMethod;\n }()\n }, {\n key: \"signatureFor\",\n value: function () {\n var _signatureFor = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee15() {\n var accountId, block, blockNumber, signed, blockNumberSignature;\n return _regeneratorRuntime.wrap(function _callee15$(_context15) {\n while (1) {\n switch (_context15.prev = _context15.next) {\n case 0:\n accountId = this.accountId;\n _context15.next = 3;\n return this.connection.provider.block({\n finality: 'final'\n });\n\n case 3:\n block = _context15.sent;\n blockNumber = block.header.height.toString();\n _context15.next = 7;\n return this.connection.signer.signMessage(Buffer.from(blockNumber), accountId, this.connection.networkId);\n\n case 7:\n signed = _context15.sent;\n blockNumberSignature = Buffer.from(signed.signature).toString('base64');\n return _context15.abrupt(\"return\", {\n blockNumber: blockNumber,\n blockNumberSignature: blockNumberSignature\n });\n\n case 10:\n case \"end\":\n return _context15.stop();\n }\n }\n }, _callee15, this);\n }));\n\n function signatureFor() {\n return _signatureFor.apply(this, arguments);\n }\n\n return signatureFor;\n }()\n }, {\n key: \"postSignedJson\",\n value: function () {\n var _postSignedJson = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee16(path, body) {\n return _regeneratorRuntime.wrap(function _callee16$(_context16) {\n while (1) {\n switch (_context16.prev = _context16.next) {\n case 0:\n _context16.t0 = web_1;\n _context16.t1 = this.helperUrl + path;\n _context16.t2 = JSON;\n _context16.t3 = _objectSpread;\n _context16.t4 = _objectSpread({}, body);\n _context16.next = 7;\n return this.signatureFor();\n\n case 7:\n _context16.t5 = _context16.sent;\n _context16.t6 = (0, _context16.t3)(_context16.t4, _context16.t5);\n _context16.t7 = _context16.t2.stringify.call(_context16.t2, _context16.t6);\n _context16.next = 12;\n return _context16.t0.fetchJson.call(_context16.t0, _context16.t1, _context16.t7);\n\n case 12:\n return _context16.abrupt(\"return\", _context16.sent);\n\n case 13:\n case \"end\":\n return _context16.stop();\n }\n }\n }, _callee16, this);\n }));\n\n function postSignedJson(_x9, _x10) {\n return _postSignedJson.apply(this, arguments);\n }\n\n return postSignedJson;\n }()\n }]);\n\n return Account2FA;\n}(AccountMultisig);\n\nexports.Account2FA = Account2FA; // helpers\n\nvar toPK = function toPK(pk) {\n return key_pair_1.PublicKey.from(pk);\n};\n\nvar convertPKForContract = function convertPKForContract(pk) {\n return pk.toString().replace('ed25519:', '');\n};\n\nvar convertActions = function convertActions(actions, accountId, receiverId) {\n return actions.map(function (a) {\n var type = a.enum;\n var _a$type = a[type],\n gas = _a$type.gas,\n publicKey = _a$type.publicKey,\n methodName = _a$type.methodName,\n args = _a$type.args,\n deposit = _a$type.deposit,\n accessKey = _a$type.accessKey,\n code = _a$type.code;\n var action = {\n type: type[0].toUpperCase() + type.substr(1),\n gas: gas && gas.toString() || undefined,\n public_key: publicKey && convertPKForContract(publicKey) || undefined,\n method_name: methodName,\n args: args && Buffer.from(args).toString('base64') || undefined,\n code: code && Buffer.from(code).toString('base64') || undefined,\n amount: deposit && deposit.toString() || undefined,\n deposit: deposit && deposit.toString() || '0',\n permission: undefined\n };\n\n if (accessKey) {\n if (receiverId === accountId && accessKey.permission.enum !== 'fullAccess') {\n action.permission = {\n receiver_id: accountId,\n allowance: exports.MULTISIG_ALLOWANCE.toString(),\n method_names: exports.MULTISIG_CHANGE_METHODS\n };\n }\n\n if (accessKey.permission.enum === 'functionCall') {\n var _accessKey$permission = accessKey.permission.functionCall,\n receiver_id = _accessKey$permission.receiverId,\n method_names = _accessKey$permission.methodNames,\n allowance = _accessKey$permission.allowance;\n action.permission = {\n receiver_id: receiver_id,\n allowance: allowance && allowance.toString() || undefined,\n method_names: method_names\n };\n }\n }\n\n return action;\n });\n};","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.connect = void 0;\n/**\n * Connect to NEAR using the provided configuration.\n *\n * {@link ConnectConfig.networkId} and {@link ConnectConfig.nodeUrl} are required.\n *\n * To sign transactions you can also pass: {@link ConnectConfig.keyStore}\n *\n * Both are passed they are prioritize in that order.\n *\n * @see {@link ConnectConfig}\n * @example\n * ```js\n * async function initNear() {\n * const near = await connect({\n * networkId: 'testnet',\n * nodeUrl: 'https://rpc.testnet.near.org'\n * })\n * }\n * ```\n *\n * @module browserConnect\n */\n\nvar near_1 = require(\"./near\");\n/**\n * Initialize connection to Near network.\n */\n\n\nfunction connect(_x) {\n return _connect.apply(this, arguments);\n}\n\nfunction _connect() {\n _connect = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(config) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", new near_1.Near(config));\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _connect.apply(this, arguments);\n}\n\nexports.connect = connect;","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n});\n\nvar __importStar = this && this.__importStar || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) {\n if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n }\n\n __setModuleDefault(result, mod);\n\n return result;\n};\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/** @hidden @module */\n\nexports.keyStores = __importStar(require(\"./key_stores/browser-index\"));\n\n__exportStar(require(\"./common-index\"), exports);\n\n__exportStar(require(\"./browser-connect\"), exports);\n\nrequire(\"error-polyfill\");","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n});\n\nvar __importStar = this && this.__importStar || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) {\n if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n }\n\n __setModuleDefault(result, mod);\n\n return result;\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WalletConnection = exports.WalletAccount = exports.ConnectedWalletAccount = exports.Near = exports.KeyPair = exports.Signer = exports.InMemorySigner = exports.Contract = exports.Connection = exports.Account = exports.multisig = exports.validators = exports.transactions = exports.utils = exports.providers = exports.accountCreator = void 0;\n/** @hidden @module */\n\nvar providers = __importStar(require(\"./providers\"));\n\nexports.providers = providers;\n\nvar utils = __importStar(require(\"./utils\"));\n\nexports.utils = utils;\n\nvar transactions = __importStar(require(\"./transaction\"));\n\nexports.transactions = transactions;\n\nvar validators = __importStar(require(\"./validators\"));\n\nexports.validators = validators;\n\nvar account_1 = require(\"./account\");\n\nObject.defineProperty(exports, \"Account\", {\n enumerable: true,\n get: function get() {\n return account_1.Account;\n }\n});\n\nvar multisig = __importStar(require(\"./account_multisig\"));\n\nexports.multisig = multisig;\n\nvar accountCreator = __importStar(require(\"./account_creator\"));\n\nexports.accountCreator = accountCreator;\n\nvar connection_1 = require(\"./connection\");\n\nObject.defineProperty(exports, \"Connection\", {\n enumerable: true,\n get: function get() {\n return connection_1.Connection;\n }\n});\n\nvar signer_1 = require(\"./signer\");\n\nObject.defineProperty(exports, \"Signer\", {\n enumerable: true,\n get: function get() {\n return signer_1.Signer;\n }\n});\nObject.defineProperty(exports, \"InMemorySigner\", {\n enumerable: true,\n get: function get() {\n return signer_1.InMemorySigner;\n }\n});\n\nvar contract_1 = require(\"./contract\");\n\nObject.defineProperty(exports, \"Contract\", {\n enumerable: true,\n get: function get() {\n return contract_1.Contract;\n }\n});\n\nvar key_pair_1 = require(\"./utils/key_pair\");\n\nObject.defineProperty(exports, \"KeyPair\", {\n enumerable: true,\n get: function get() {\n return key_pair_1.KeyPair;\n }\n});\n\nvar near_1 = require(\"./near\");\n\nObject.defineProperty(exports, \"Near\", {\n enumerable: true,\n get: function get() {\n return near_1.Near;\n }\n}); // TODO: Deprecate and remove WalletAccount\n\nvar wallet_account_1 = require(\"./wallet-account\");\n\nObject.defineProperty(exports, \"ConnectedWalletAccount\", {\n enumerable: true,\n get: function get() {\n return wallet_account_1.ConnectedWalletAccount;\n }\n});\nObject.defineProperty(exports, \"WalletAccount\", {\n enumerable: true,\n get: function get() {\n return wallet_account_1.WalletAccount;\n }\n});\nObject.defineProperty(exports, \"WalletConnection\", {\n enumerable: true,\n get: function get() {\n return wallet_account_1.WalletConnection;\n }\n});","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _defineProperty = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/defineProperty.js\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Connection = void 0;\n\nvar providers_1 = require(\"./providers\");\n\nvar signer_1 = require(\"./signer\");\n/**\n * @param config Contains connection info details\n * @returns {Provider}\n */\n\n\nfunction getProvider(config) {\n switch (config.type) {\n case undefined:\n return config;\n\n case 'JsonRpcProvider':\n return new providers_1.JsonRpcProvider(_objectSpread({}, config.args));\n\n default:\n throw new Error(\"Unknown provider type \".concat(config.type));\n }\n}\n/**\n * @param config Contains connection info details\n * @returns {Signer}\n */\n\n\nfunction getSigner(config) {\n switch (config.type) {\n case undefined:\n return config;\n\n case 'InMemorySigner':\n {\n return new signer_1.InMemorySigner(config.keyStore);\n }\n\n default:\n throw new Error(\"Unknown signer type \".concat(config.type));\n }\n}\n/**\n * Connects an account to a given network via a given provider\n */\n\n\nvar Connection = /*#__PURE__*/function () {\n function Connection(networkId, provider, signer) {\n _classCallCheck(this, Connection);\n\n this.networkId = networkId;\n this.provider = provider;\n this.signer = signer;\n }\n /**\n * @param config Contains connection info details\n */\n\n\n _createClass(Connection, null, [{\n key: \"fromConfig\",\n value: function fromConfig(config) {\n var provider = getProvider(config.provider);\n var signer = getSigner(config.signer);\n return new Connection(config.networkId, provider, signer);\n }\n }]);\n\n return Connection;\n}();\n\nexports.Connection = Connection;","\"use strict\";\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DEFAULT_FUNCTION_CALL_GAS = void 0;\n\nvar bn_js_1 = __importDefault(require(\"bn.js\")); // Default amount of gas to be sent with the function calls. Used to pay for the fees\n// incurred while running the contract execution. The unused amount will be refunded back to\n// the originator.\n// Due to protocol changes that charge upfront for the maximum possible gas price inflation due to\n// full blocks, the price of max_prepaid_gas is decreased to `300 * 10**12`.\n// For discussion see https://github.com/nearprotocol/NEPs/issues/67\n\n\nexports.DEFAULT_FUNCTION_CALL_GAS = new bn_js_1.default('30000000000000');","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _defineProperty = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/defineProperty.js\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Contract = void 0;\n\nvar bn_js_1 = __importDefault(require(\"bn.js\"));\n\nvar providers_1 = require(\"./providers\");\n\nvar errors_1 = require(\"./utils/errors\"); // Makes `function.name` return given name\n\n\nfunction nameFunction(name, body) {\n return _defineProperty({}, name, function () {\n return body.apply(void 0, arguments);\n })[name];\n}\n\nvar isUint8Array = function isUint8Array(x) {\n return x && x.byteLength !== undefined && x.byteLength === x.length;\n};\n\nvar isObject = function isObject(x) {\n return Object.prototype.toString.call(x) === '[object Object]';\n};\n/**\n * Defines a smart contract on NEAR including the change (mutable) and view (non-mutable) methods\n *\n * @example {@link https://docs.near.org/docs/develop/front-end/naj-quick-reference#contract}\n * @example\n * ```js\n * import { Contract } from 'near-api-js';\n *\n * async function contractExample() {\n * const methodOptions = {\n * viewMethods: ['getMessageByAccountId'],\n * changeMethods: ['addMessage']\n * };\n * const contract = new Contract(\n * wallet.account(),\n * 'contract-id.testnet',\n * methodOptions\n * );\n *\n * // use a contract view method\n * const messages = await contract.getMessages({\n * accountId: 'example-account.testnet'\n * });\n *\n * // use a contract change method\n * await contract.addMessage({\n * meta: 'some info',\n * callbackUrl: 'https://example.com/callback',\n * args: { text: 'my message' },\n * amount: 1\n * })\n * }\n * ```\n */\n\n\nvar Contract = /*#__PURE__*/function () {\n /**\n * @param account NEAR account to sign change method transactions\n * @param contractId NEAR account id where the contract is deployed\n * @param options NEAR smart contract methods that your application will use. These will be available as `contract.methodName`\n */\n function Contract(account, contractId, options) {\n var _this = this;\n\n _classCallCheck(this, Contract);\n\n this.account = account;\n this.contractId = contractId;\n var _options$viewMethods = options.viewMethods,\n viewMethods = _options$viewMethods === void 0 ? [] : _options$viewMethods,\n _options$changeMethod = options.changeMethods,\n changeMethods = _options$changeMethod === void 0 ? [] : _options$changeMethod;\n viewMethods.forEach(function (methodName) {\n Object.defineProperty(_this, methodName, {\n writable: false,\n enumerable: true,\n value: nameFunction(methodName, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var args,\n options,\n _args = arguments;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n args = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};\n options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};\n\n if (!((_args.length <= 2 ? 0 : _args.length - 2) || !(isObject(args) || isUint8Array(args)) || !isObject(options))) {\n _context.next = 4;\n break;\n }\n\n throw new errors_1.PositionalArgsError();\n\n case 4:\n return _context.abrupt(\"return\", _this.account.viewFunction(_this.contractId, methodName, args, options));\n\n case 5:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n })))\n });\n });\n changeMethods.forEach(function (baseMethodName) {\n ['', 'Raw'].forEach(function (resultType) {\n var methodName = \"\".concat(baseMethodName).concat(resultType);\n Object.defineProperty(_this, methodName, {\n writable: false,\n enumerable: true,\n value: nameFunction(methodName, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var _args2 = arguments;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(_args2.length && (_args2.length > 3 || !(isObject(_args2.length <= 0 ? undefined : _args2[0]) || isUint8Array(_args2.length <= 0 ? undefined : _args2[0]))))) {\n _context2.next = 2;\n break;\n }\n\n throw new errors_1.PositionalArgsError();\n\n case 2:\n if (!(_args2.length >= 1 && !(isObject(_args2.length <= 0 ? undefined : _args2[0]) || isUint8Array(_args2.length <= 0 ? undefined : _args2[0])))) {\n _context2.next = 4;\n break;\n }\n\n throw new errors_1.ArgumentTypeError(\"args\", \"object or Uint8Array\", _args2.length <= 0 ? undefined : _args2[0]);\n\n case 4:\n if (!(_args2.length >= 2 && !isObject(_args2.length <= 1 ? undefined : _args2[1]))) {\n _context2.next = 6;\n break;\n }\n\n throw new errors_1.ArgumentTypeError(\"options\", \"object\", _args2.length <= 1 ? undefined : _args2[1]);\n\n case 6:\n return _context2.abrupt(\"return\", _this[resultType === '' ? '_changeMethod' : '_changeMethodRaw'](baseMethodName, _args2.length <= 0 ? undefined : _args2[0], _args2.length <= 1 ? undefined : _args2[1]));\n\n case 7:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n })))\n });\n });\n });\n }\n\n _createClass(Contract, [{\n key: \"_changeMethodRaw\",\n value: function () {\n var _changeMethodRaw2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(methodName) {\n var args,\n options,\n result,\n _args3 = arguments;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n args = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {};\n options = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : {};\n validateBNLike({\n gas: options.gas,\n attachedDeposit: options.attachedDeposit\n });\n _context3.next = 5;\n return this.account.functionCall(_objectSpread({\n contractId: this.contractId,\n methodName: methodName,\n args: args\n }, options));\n\n case 5:\n result = _context3.sent;\n return _context3.abrupt(\"return\", result);\n\n case 7:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function _changeMethodRaw(_x) {\n return _changeMethodRaw2.apply(this, arguments);\n }\n\n return _changeMethodRaw;\n }()\n }, {\n key: \"_changeMethod\",\n value: function () {\n var _changeMethod2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(methodName) {\n var args,\n options,\n result,\n _args4 = arguments;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n args = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : {};\n options = _args4.length > 2 ? _args4[2] : undefined;\n _context4.next = 4;\n return this._changeMethodRaw(methodName, args, options);\n\n case 4:\n result = _context4.sent;\n return _context4.abrupt(\"return\", providers_1.getTransactionLastResult(result));\n\n case 6:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function _changeMethod(_x2) {\n return _changeMethod2.apply(this, arguments);\n }\n\n return _changeMethod;\n }()\n }]);\n\n return Contract;\n}();\n\nexports.Contract = Contract;\n/**\n * Validation on arguments being a big number from bn.js\n * Throws if an argument is not in BN format or otherwise invalid\n * @param argMap\n */\n\nfunction validateBNLike(argMap) {\n var bnLike = 'number, decimal string or BN';\n\n for (var _i = 0, _Object$keys = Object.keys(argMap); _i < _Object$keys.length; _i++) {\n var argName = _Object$keys[_i];\n var argValue = argMap[argName];\n\n if (argValue && !bn_js_1.default.isBN(argValue) && isNaN(argValue)) {\n throw new errors_1.ArgumentTypeError(argName, bnLike, argValue);\n }\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MergeKeyStore = exports.BrowserLocalStorageKeyStore = exports.InMemoryKeyStore = exports.KeyStore = void 0;\n/** @hidden @module */\n\nvar keystore_1 = require(\"./keystore\");\n\nObject.defineProperty(exports, \"KeyStore\", {\n enumerable: true,\n get: function get() {\n return keystore_1.KeyStore;\n }\n});\n\nvar in_memory_key_store_1 = require(\"./in_memory_key_store\");\n\nObject.defineProperty(exports, \"InMemoryKeyStore\", {\n enumerable: true,\n get: function get() {\n return in_memory_key_store_1.InMemoryKeyStore;\n }\n});\n\nvar browser_local_storage_key_store_1 = require(\"./browser_local_storage_key_store\");\n\nObject.defineProperty(exports, \"BrowserLocalStorageKeyStore\", {\n enumerable: true,\n get: function get() {\n return browser_local_storage_key_store_1.BrowserLocalStorageKeyStore;\n }\n});\n\nvar merge_key_store_1 = require(\"./merge_key_store\");\n\nObject.defineProperty(exports, \"MergeKeyStore\", {\n enumerable: true,\n get: function get() {\n return merge_key_store_1.MergeKeyStore;\n }\n});","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BrowserLocalStorageKeyStore = void 0;\n\nvar keystore_1 = require(\"./keystore\");\n\nvar key_pair_1 = require(\"../utils/key_pair\");\n\nvar LOCAL_STORAGE_KEY_PREFIX = 'near-api-js:keystore:';\n/**\n * This class is used to store keys in the browsers local storage.\n *\n * @example {@link https://docs.near.org/docs/develop/front-end/naj-quick-reference#key-store}\n * @example\n * ```js\n * import { connect, keyStores } from 'near-api-js';\n *\n * const keyStore = new keyStores.BrowserLocalStorageKeyStore();\n * const config = {\n * keyStore, // instance of BrowserLocalStorageKeyStore\n * networkId: 'testnet',\n * nodeUrl: 'https://rpc.testnet.near.org',\n * walletUrl: 'https://wallet.testnet.near.org',\n * helperUrl: 'https://helper.testnet.near.org',\n * explorerUrl: 'https://explorer.testnet.near.org'\n * };\n *\n * // inside an async function\n * const near = await connect(config)\n * ```\n */\n\nvar BrowserLocalStorageKeyStore = /*#__PURE__*/function (_keystore_1$KeyStore) {\n _inherits(BrowserLocalStorageKeyStore, _keystore_1$KeyStore);\n\n var _super = _createSuper(BrowserLocalStorageKeyStore);\n\n /**\n * @param localStorage defaults to window.localStorage\n * @param prefix defaults to `near-api-js:keystore:`\n */\n function BrowserLocalStorageKeyStore() {\n var _this;\n\n var localStorage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.localStorage;\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : LOCAL_STORAGE_KEY_PREFIX;\n\n _classCallCheck(this, BrowserLocalStorageKeyStore);\n\n _this = _super.call(this);\n _this.localStorage = localStorage;\n _this.prefix = prefix;\n return _this;\n }\n /**\n * Stores a {@link KeyPair} in local storage.\n * @param networkId The targeted network. (ex. default, betanet, etc…)\n * @param accountId The NEAR account tied to the key pair\n * @param keyPair The key pair to store in local storage\n */\n\n\n _createClass(BrowserLocalStorageKeyStore, [{\n key: \"setKey\",\n value: function () {\n var _setKey = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(networkId, accountId, keyPair) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n this.localStorage.setItem(this.storageKeyForSecretKey(networkId, accountId), keyPair.toString());\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function setKey(_x, _x2, _x3) {\n return _setKey.apply(this, arguments);\n }\n\n return setKey;\n }()\n /**\n * Gets a {@link KeyPair} from local storage\n * @param networkId The targeted network. (ex. default, betanet, etc…)\n * @param accountId The NEAR account tied to the key pair\n * @returns {Promise}\n */\n\n }, {\n key: \"getKey\",\n value: function () {\n var _getKey = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(networkId, accountId) {\n var value;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n value = this.localStorage.getItem(this.storageKeyForSecretKey(networkId, accountId));\n\n if (value) {\n _context2.next = 3;\n break;\n }\n\n return _context2.abrupt(\"return\", null);\n\n case 3:\n return _context2.abrupt(\"return\", key_pair_1.KeyPair.fromString(value));\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function getKey(_x4, _x5) {\n return _getKey.apply(this, arguments);\n }\n\n return getKey;\n }()\n /**\n * Removes a {@link KeyPair} from local storage\n * @param networkId The targeted network. (ex. default, betanet, etc…)\n * @param accountId The NEAR account tied to the key pair\n */\n\n }, {\n key: \"removeKey\",\n value: function () {\n var _removeKey = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(networkId, accountId) {\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n this.localStorage.removeItem(this.storageKeyForSecretKey(networkId, accountId));\n\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function removeKey(_x6, _x7) {\n return _removeKey.apply(this, arguments);\n }\n\n return removeKey;\n }()\n /**\n * Removes all items that start with `prefix` from local storage\n */\n\n }, {\n key: \"clear\",\n value: function () {\n var _clear = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {\n var _iterator, _step, key;\n\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _iterator = _createForOfIteratorHelper(this.storageKeys());\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n key = _step.value;\n\n if (key.startsWith(this.prefix)) {\n this.localStorage.removeItem(key);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n case 2:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function clear() {\n return _clear.apply(this, arguments);\n }\n\n return clear;\n }()\n /**\n * Get the network(s) from local storage\n * @returns {Promise}\n */\n\n }, {\n key: \"getNetworks\",\n value: function () {\n var _getNetworks = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {\n var result, _iterator2, _step2, key, parts;\n\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n result = new Set();\n _iterator2 = _createForOfIteratorHelper(this.storageKeys());\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n key = _step2.value;\n\n if (key.startsWith(this.prefix)) {\n parts = key.substring(this.prefix.length).split(':');\n result.add(parts[1]);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return _context5.abrupt(\"return\", Array.from(result.values()));\n\n case 4:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function getNetworks() {\n return _getNetworks.apply(this, arguments);\n }\n\n return getNetworks;\n }()\n /**\n * Gets the account(s) from local storage\n * @param networkId The targeted network. (ex. default, betanet, etc…)\n * @returns{Promise}\n */\n\n }, {\n key: \"getAccounts\",\n value: function () {\n var _getAccounts = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(networkId) {\n var result, _iterator3, _step3, key, parts;\n\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n result = new Array();\n _iterator3 = _createForOfIteratorHelper(this.storageKeys());\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n key = _step3.value;\n\n if (key.startsWith(this.prefix)) {\n parts = key.substring(this.prefix.length).split(':');\n\n if (parts[1] === networkId) {\n result.push(parts[0]);\n }\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n return _context6.abrupt(\"return\", result);\n\n case 4:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function getAccounts(_x8) {\n return _getAccounts.apply(this, arguments);\n }\n\n return getAccounts;\n }()\n /**\n * @hidden\n * Helper function to retrieve a local storage key\n * @param networkId The targeted network. (ex. default, betanet, etc…)\n * @param accountId The NEAR account tied to the storage keythat's sought\n * @returns {string} An example might be: `near-api-js:keystore:near-friend:default`\n */\n\n }, {\n key: \"storageKeyForSecretKey\",\n value: function storageKeyForSecretKey(networkId, accountId) {\n return \"\".concat(this.prefix).concat(accountId, \":\").concat(networkId);\n }\n /** @hidden */\n\n }, {\n key: \"storageKeys\",\n value:\n /*#__PURE__*/\n _regeneratorRuntime.mark(function storageKeys() {\n var i;\n return _regeneratorRuntime.wrap(function storageKeys$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n i = 0;\n\n case 1:\n if (!(i < this.localStorage.length)) {\n _context7.next = 7;\n break;\n }\n\n _context7.next = 4;\n return this.localStorage.key(i);\n\n case 4:\n i++;\n _context7.next = 1;\n break;\n\n case 7:\n case \"end\":\n return _context7.stop();\n }\n }\n }, storageKeys, this);\n })\n }]);\n\n return BrowserLocalStorageKeyStore;\n}(keystore_1.KeyStore);\n\nexports.BrowserLocalStorageKeyStore = BrowserLocalStorageKeyStore;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.InMemoryKeyStore = void 0;\n\nvar keystore_1 = require(\"./keystore\");\n\nvar key_pair_1 = require(\"../utils/key_pair\");\n/**\n * Simple in-memory keystore for mainly for testing purposes.\n *\n * @example {@link https://docs.near.org/docs/develop/front-end/naj-quick-reference#key-store}\n * @example\n * ```js\n * import { connect, keyStores, utils } from 'near-api-js';\n *\n * const privateKey = '.......';\n * const keyPair = utils.KeyPair.fromString(privateKey);\n *\n * const keyStore = new keyStores.InMemoryKeyStore();\n * keyStore.setKey('testnet', 'example-account.testnet', keyPair);\n *\n * const config = {\n * keyStore, // instance of InMemoryKeyStore\n * networkId: 'testnet',\n * nodeUrl: 'https://rpc.testnet.near.org',\n * walletUrl: 'https://wallet.testnet.near.org',\n * helperUrl: 'https://helper.testnet.near.org',\n * explorerUrl: 'https://explorer.testnet.near.org'\n * };\n *\n * // inside an async function\n * const near = await connect(config)\n * ```\n */\n\n\nvar InMemoryKeyStore = /*#__PURE__*/function (_keystore_1$KeyStore) {\n _inherits(InMemoryKeyStore, _keystore_1$KeyStore);\n\n var _super = _createSuper(InMemoryKeyStore);\n\n function InMemoryKeyStore() {\n var _this;\n\n _classCallCheck(this, InMemoryKeyStore);\n\n _this = _super.call(this);\n _this.keys = {};\n return _this;\n }\n /**\n * Stores a {@KeyPair} in in-memory storage item\n * @param networkId The targeted network. (ex. default, betanet, etc…)\n * @param accountId The NEAR account tied to the key pair\n * @param keyPair The key pair to store in local storage\n */\n\n\n _createClass(InMemoryKeyStore, [{\n key: \"setKey\",\n value: function () {\n var _setKey = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(networkId, accountId, keyPair) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n this.keys[\"\".concat(accountId, \":\").concat(networkId)] = keyPair.toString();\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function setKey(_x, _x2, _x3) {\n return _setKey.apply(this, arguments);\n }\n\n return setKey;\n }()\n /**\n * Gets a {@link KeyPair} from in-memory storage\n * @param networkId The targeted network. (ex. default, betanet, etc…)\n * @param accountId The NEAR account tied to the key pair\n * @returns {Promise}\n */\n\n }, {\n key: \"getKey\",\n value: function () {\n var _getKey = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(networkId, accountId) {\n var value;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n value = this.keys[\"\".concat(accountId, \":\").concat(networkId)];\n\n if (value) {\n _context2.next = 3;\n break;\n }\n\n return _context2.abrupt(\"return\", null);\n\n case 3:\n return _context2.abrupt(\"return\", key_pair_1.KeyPair.fromString(value));\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function getKey(_x4, _x5) {\n return _getKey.apply(this, arguments);\n }\n\n return getKey;\n }()\n /**\n * Removes a {@link KeyPair} from in-memory storage\n * @param networkId The targeted network. (ex. default, betanet, etc…)\n * @param accountId The NEAR account tied to the key pair\n */\n\n }, {\n key: \"removeKey\",\n value: function () {\n var _removeKey = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(networkId, accountId) {\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n delete this.keys[\"\".concat(accountId, \":\").concat(networkId)];\n\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function removeKey(_x6, _x7) {\n return _removeKey.apply(this, arguments);\n }\n\n return removeKey;\n }()\n /**\n * Removes all {@link KeyPairs} from in-memory storage\n */\n\n }, {\n key: \"clear\",\n value: function () {\n var _clear = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n this.keys = {};\n\n case 1:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function clear() {\n return _clear.apply(this, arguments);\n }\n\n return clear;\n }()\n /**\n * Get the network(s) from in-memory storage\n * @returns {Promise}\n */\n\n }, {\n key: \"getNetworks\",\n value: function () {\n var _getNetworks = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {\n var result;\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n result = new Set();\n Object.keys(this.keys).forEach(function (key) {\n var parts = key.split(':');\n result.add(parts[1]);\n });\n return _context5.abrupt(\"return\", Array.from(result.values()));\n\n case 3:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function getNetworks() {\n return _getNetworks.apply(this, arguments);\n }\n\n return getNetworks;\n }()\n /**\n * Gets the account(s) from in-memory storage\n * @param networkId The targeted network. (ex. default, betanet, etc…)\n * @returns{Promise}\n */\n\n }, {\n key: \"getAccounts\",\n value: function () {\n var _getAccounts = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(networkId) {\n var result;\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n result = new Array();\n Object.keys(this.keys).forEach(function (key) {\n var parts = key.split(':');\n\n if (parts[parts.length - 1] === networkId) {\n result.push(parts.slice(0, parts.length - 1).join(':'));\n }\n });\n return _context6.abrupt(\"return\", result);\n\n case 3:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function getAccounts(_x8) {\n return _getAccounts.apply(this, arguments);\n }\n\n return getAccounts;\n }()\n /** @hidden */\n\n }, {\n key: \"toString\",\n value: function toString() {\n return 'InMemoryKeyStore';\n }\n }]);\n\n return InMemoryKeyStore;\n}(keystore_1.KeyStore);\n\nexports.InMemoryKeyStore = InMemoryKeyStore;","\"use strict\";\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.KeyStore = void 0;\n/**\n * KeyStores are passed to {@link Near} via {@link NearConfig}\n * and are used by the {@link InMemorySigner} to sign transactions.\n *\n * @example {@link connect}\n */\n\nvar KeyStore = /*#__PURE__*/_createClass(function KeyStore() {\n _classCallCheck(this, KeyStore);\n});\n\nexports.KeyStore = KeyStore;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MergeKeyStore = void 0;\n\nvar keystore_1 = require(\"./keystore\");\n\nvar MergeKeyStore = /*#__PURE__*/function (_keystore_1$KeyStore) {\n _inherits(MergeKeyStore, _keystore_1$KeyStore);\n\n var _super = _createSuper(MergeKeyStore);\n\n /**\n * @param keyStores read calls are attempted from start to end of array\n * @param options.writeKeyStoreIndex the keystore index that will receive all write calls\n */\n function MergeKeyStore(keyStores) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n writeKeyStoreIndex: 0\n };\n\n _classCallCheck(this, MergeKeyStore);\n\n _this = _super.call(this);\n _this.options = options;\n _this.keyStores = keyStores;\n return _this;\n }\n /**\n * Store a {@link KeyPain} to the first index of a key store array\n * @param networkId The targeted network. (ex. default, betanet, etc…)\n * @param accountId The NEAR account tied to the key pair\n * @param keyPair The key pair to store in local storage\n */\n\n\n _createClass(MergeKeyStore, [{\n key: \"setKey\",\n value: function () {\n var _setKey = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(networkId, accountId, keyPair) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this.keyStores[this.options.writeKeyStoreIndex].setKey(networkId, accountId, keyPair);\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function setKey(_x, _x2, _x3) {\n return _setKey.apply(this, arguments);\n }\n\n return setKey;\n }()\n /**\n * Gets a {@link KeyPair} from the array of key stores\n * @param networkId The targeted network. (ex. default, betanet, etc…)\n * @param accountId The NEAR account tied to the key pair\n * @returns {Promise}\n */\n\n }, {\n key: \"getKey\",\n value: function () {\n var _getKey = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(networkId, accountId) {\n var _iterator, _step, keyStore, keyPair;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _iterator = _createForOfIteratorHelper(this.keyStores);\n _context2.prev = 1;\n\n _iterator.s();\n\n case 3:\n if ((_step = _iterator.n()).done) {\n _context2.next = 12;\n break;\n }\n\n keyStore = _step.value;\n _context2.next = 7;\n return keyStore.getKey(networkId, accountId);\n\n case 7:\n keyPair = _context2.sent;\n\n if (!keyPair) {\n _context2.next = 10;\n break;\n }\n\n return _context2.abrupt(\"return\", keyPair);\n\n case 10:\n _context2.next = 3;\n break;\n\n case 12:\n _context2.next = 17;\n break;\n\n case 14:\n _context2.prev = 14;\n _context2.t0 = _context2[\"catch\"](1);\n\n _iterator.e(_context2.t0);\n\n case 17:\n _context2.prev = 17;\n\n _iterator.f();\n\n return _context2.finish(17);\n\n case 20:\n return _context2.abrupt(\"return\", null);\n\n case 21:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this, [[1, 14, 17, 20]]);\n }));\n\n function getKey(_x4, _x5) {\n return _getKey.apply(this, arguments);\n }\n\n return getKey;\n }()\n /**\n * Removes a {@link KeyPair} from the array of key stores\n * @param networkId The targeted network. (ex. default, betanet, etc…)\n * @param accountId The NEAR account tied to the key pair\n */\n\n }, {\n key: \"removeKey\",\n value: function () {\n var _removeKey = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(networkId, accountId) {\n var _iterator2, _step2, keyStore;\n\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _iterator2 = _createForOfIteratorHelper(this.keyStores);\n _context3.prev = 1;\n\n _iterator2.s();\n\n case 3:\n if ((_step2 = _iterator2.n()).done) {\n _context3.next = 9;\n break;\n }\n\n keyStore = _step2.value;\n _context3.next = 7;\n return keyStore.removeKey(networkId, accountId);\n\n case 7:\n _context3.next = 3;\n break;\n\n case 9:\n _context3.next = 14;\n break;\n\n case 11:\n _context3.prev = 11;\n _context3.t0 = _context3[\"catch\"](1);\n\n _iterator2.e(_context3.t0);\n\n case 14:\n _context3.prev = 14;\n\n _iterator2.f();\n\n return _context3.finish(14);\n\n case 17:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this, [[1, 11, 14, 17]]);\n }));\n\n function removeKey(_x6, _x7) {\n return _removeKey.apply(this, arguments);\n }\n\n return removeKey;\n }()\n /**\n * Removes all items from each key store\n */\n\n }, {\n key: \"clear\",\n value: function () {\n var _clear = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {\n var _iterator3, _step3, keyStore;\n\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _iterator3 = _createForOfIteratorHelper(this.keyStores);\n _context4.prev = 1;\n\n _iterator3.s();\n\n case 3:\n if ((_step3 = _iterator3.n()).done) {\n _context4.next = 9;\n break;\n }\n\n keyStore = _step3.value;\n _context4.next = 7;\n return keyStore.clear();\n\n case 7:\n _context4.next = 3;\n break;\n\n case 9:\n _context4.next = 14;\n break;\n\n case 11:\n _context4.prev = 11;\n _context4.t0 = _context4[\"catch\"](1);\n\n _iterator3.e(_context4.t0);\n\n case 14:\n _context4.prev = 14;\n\n _iterator3.f();\n\n return _context4.finish(14);\n\n case 17:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this, [[1, 11, 14, 17]]);\n }));\n\n function clear() {\n return _clear.apply(this, arguments);\n }\n\n return clear;\n }()\n /**\n * Get the network(s) from the array of key stores\n * @returns {Promise}\n */\n\n }, {\n key: \"getNetworks\",\n value: function () {\n var _getNetworks = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {\n var result, _iterator4, _step4, keyStore, _iterator5, _step5, network;\n\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n result = new Set();\n _iterator4 = _createForOfIteratorHelper(this.keyStores);\n _context5.prev = 2;\n\n _iterator4.s();\n\n case 4:\n if ((_step4 = _iterator4.n()).done) {\n _context5.next = 14;\n break;\n }\n\n keyStore = _step4.value;\n _context5.t0 = _createForOfIteratorHelper;\n _context5.next = 9;\n return keyStore.getNetworks();\n\n case 9:\n _context5.t1 = _context5.sent;\n _iterator5 = (0, _context5.t0)(_context5.t1);\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n network = _step5.value;\n result.add(network);\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n case 12:\n _context5.next = 4;\n break;\n\n case 14:\n _context5.next = 19;\n break;\n\n case 16:\n _context5.prev = 16;\n _context5.t2 = _context5[\"catch\"](2);\n\n _iterator4.e(_context5.t2);\n\n case 19:\n _context5.prev = 19;\n\n _iterator4.f();\n\n return _context5.finish(19);\n\n case 22:\n return _context5.abrupt(\"return\", Array.from(result));\n\n case 23:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this, [[2, 16, 19, 22]]);\n }));\n\n function getNetworks() {\n return _getNetworks.apply(this, arguments);\n }\n\n return getNetworks;\n }()\n /**\n * Gets the account(s) from the array of key stores\n * @param networkId The targeted network. (ex. default, betanet, etc…)\n * @returns{Promise}\n */\n\n }, {\n key: \"getAccounts\",\n value: function () {\n var _getAccounts = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(networkId) {\n var result, _iterator6, _step6, keyStore, _iterator7, _step7, account;\n\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n result = new Set();\n _iterator6 = _createForOfIteratorHelper(this.keyStores);\n _context6.prev = 2;\n\n _iterator6.s();\n\n case 4:\n if ((_step6 = _iterator6.n()).done) {\n _context6.next = 14;\n break;\n }\n\n keyStore = _step6.value;\n _context6.t0 = _createForOfIteratorHelper;\n _context6.next = 9;\n return keyStore.getAccounts(networkId);\n\n case 9:\n _context6.t1 = _context6.sent;\n _iterator7 = (0, _context6.t0)(_context6.t1);\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n account = _step7.value;\n result.add(account);\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n case 12:\n _context6.next = 4;\n break;\n\n case 14:\n _context6.next = 19;\n break;\n\n case 16:\n _context6.prev = 16;\n _context6.t2 = _context6[\"catch\"](2);\n\n _iterator6.e(_context6.t2);\n\n case 19:\n _context6.prev = 19;\n\n _iterator6.f();\n\n return _context6.finish(19);\n\n case 22:\n return _context6.abrupt(\"return\", Array.from(result));\n\n case 23:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, this, [[2, 16, 19, 22]]);\n }));\n\n function getAccounts(_x8) {\n return _getAccounts.apply(this, arguments);\n }\n\n return getAccounts;\n }()\n /** @hidden */\n\n }, {\n key: \"toString\",\n value: function toString() {\n return \"MergeKeyStore(\".concat(this.keyStores.join(', '), \")\");\n }\n }]);\n\n return MergeKeyStore;\n}(keystore_1.KeyStore);\n\nexports.MergeKeyStore = MergeKeyStore;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Near = void 0;\n/**\n * This module contains the main class developers will use to interact with NEAR.\n * The {@link Near} class is used to interact with {@link Account | Accounts} through the {@link JsonRpcProvider.JsonRpcProvider | JsonRpcProvider}.\n * It is configured via the {@link NearConfig}.\n *\n * @example {@link https://docs.near.org/docs/develop/front-end/naj-quick-reference#account}\n *\n * @module near\n */\n\nvar bn_js_1 = __importDefault(require(\"bn.js\"));\n\nvar account_1 = require(\"./account\");\n\nvar connection_1 = require(\"./connection\");\n\nvar contract_1 = require(\"./contract\");\n\nvar account_creator_1 = require(\"./account_creator\");\n/**\n * This is the main class developers should use to interact with NEAR.\n * @example\n * ```js\n * const near = new Near(config);\n * ```\n */\n\n\nvar Near = /*#__PURE__*/function () {\n function Near(config) {\n _classCallCheck(this, Near);\n\n this.config = config;\n this.connection = connection_1.Connection.fromConfig({\n networkId: config.networkId,\n provider: {\n type: 'JsonRpcProvider',\n args: {\n url: config.nodeUrl,\n headers: config.headers\n }\n },\n signer: config.signer || {\n type: 'InMemorySigner',\n keyStore: config.keyStore || config.deps && config.deps.keyStore\n }\n });\n\n if (config.masterAccount) {\n // TODO: figure out better way of specifiying initial balance.\n // Hardcoded number below must be enough to pay the gas cost to dev-deploy with near-shell for multiple times\n var initialBalance = config.initialBalance ? new bn_js_1.default(config.initialBalance) : new bn_js_1.default('500000000000000000000000000');\n this.accountCreator = new account_creator_1.LocalAccountCreator(new account_1.Account(this.connection, config.masterAccount), initialBalance);\n } else if (config.helperUrl) {\n this.accountCreator = new account_creator_1.UrlAccountCreator(this.connection, config.helperUrl);\n } else {\n this.accountCreator = null;\n }\n }\n /**\n * @param accountId near accountId used to interact with the network.\n */\n\n\n _createClass(Near, [{\n key: \"account\",\n value: function () {\n var _account = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(accountId) {\n var account;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n account = new account_1.Account(this.connection, accountId);\n return _context.abrupt(\"return\", account);\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function account(_x) {\n return _account.apply(this, arguments);\n }\n\n return account;\n }()\n /**\n * Create an account using the {@link AccountCreator}. Either:\n * * using a masterAccount with {@link LocalAccountCreator}\n * * using the helperUrl with {@link UrlAccountCreator}\n * @see {@link NearConfig.masterAccount} and {@link NearConfig.helperUrl}-\n *\n * @param accountId\n * @param publicKey\n */\n\n }, {\n key: \"createAccount\",\n value: function () {\n var _createAccount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(accountId, publicKey) {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (this.accountCreator) {\n _context2.next = 2;\n break;\n }\n\n throw new Error('Must specify account creator, either via masterAccount or helperUrl configuration settings.');\n\n case 2:\n _context2.next = 4;\n return this.accountCreator.createAccount(accountId, publicKey);\n\n case 4:\n return _context2.abrupt(\"return\", new account_1.Account(this.connection, accountId));\n\n case 5:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function createAccount(_x2, _x3) {\n return _createAccount.apply(this, arguments);\n }\n\n return createAccount;\n }()\n /**\n * @deprecated Use {@link Contract} instead.\n * @param contractId\n * @param options\n */\n\n }, {\n key: \"loadContract\",\n value: function () {\n var _loadContract = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(contractId, options) {\n var account;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n account = new account_1.Account(this.connection, options.sender);\n return _context3.abrupt(\"return\", new contract_1.Contract(account, contractId, options));\n\n case 2:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function loadContract(_x4, _x5) {\n return _loadContract.apply(this, arguments);\n }\n\n return loadContract;\n }()\n /**\n * @deprecated Use {@link Account.sendMoney} instead.\n * @param amount\n * @param originator\n * @param receiver\n */\n\n }, {\n key: \"sendTokens\",\n value: function () {\n var _sendTokens = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(amount, originator, receiver) {\n var account, result;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n console.warn('near.sendTokens is deprecated. Use `yourAccount.sendMoney` instead.');\n account = new account_1.Account(this.connection, originator);\n _context4.next = 4;\n return account.sendMoney(receiver, amount);\n\n case 4:\n result = _context4.sent;\n return _context4.abrupt(\"return\", result.transaction_outcome.id);\n\n case 6:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function sendTokens(_x6, _x7, _x8) {\n return _sendTokens.apply(this, arguments);\n }\n\n return sendTokens;\n }()\n }]);\n\n return Near;\n}();\n\nexports.Near = Near;","\"use strict\";\n/** @hidden @module */\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ErrorContext = exports.TypedError = exports.getTransactionLastResult = exports.FinalExecutionStatusBasic = exports.JsonRpcProvider = exports.Provider = void 0;\n\nvar provider_1 = require(\"./provider\");\n\nObject.defineProperty(exports, \"Provider\", {\n enumerable: true,\n get: function get() {\n return provider_1.Provider;\n }\n});\nObject.defineProperty(exports, \"getTransactionLastResult\", {\n enumerable: true,\n get: function get() {\n return provider_1.getTransactionLastResult;\n }\n});\nObject.defineProperty(exports, \"FinalExecutionStatusBasic\", {\n enumerable: true,\n get: function get() {\n return provider_1.FinalExecutionStatusBasic;\n }\n});\n\nvar json_rpc_provider_1 = require(\"./json-rpc-provider\");\n\nObject.defineProperty(exports, \"JsonRpcProvider\", {\n enumerable: true,\n get: function get() {\n return json_rpc_provider_1.JsonRpcProvider;\n }\n});\nObject.defineProperty(exports, \"TypedError\", {\n enumerable: true,\n get: function get() {\n return json_rpc_provider_1.TypedError;\n }\n});\nObject.defineProperty(exports, \"ErrorContext\", {\n enumerable: true,\n get: function get() {\n return json_rpc_provider_1.ErrorContext;\n }\n});","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JsonRpcProvider = exports.ErrorContext = exports.TypedError = void 0;\n/**\n * This module contains the {@link JsonRpcProvider} client class\n * which can be used to interact with the NEAR RPC API.\n * @see {@link providers/provider} for a list of request and response types\n */\n\nvar depd_1 = __importDefault(require(\"depd\"));\n\nvar provider_1 = require(\"./provider\");\n\nvar web_1 = require(\"../utils/web\");\n\nvar errors_1 = require(\"../utils/errors\");\n\nObject.defineProperty(exports, \"TypedError\", {\n enumerable: true,\n get: function get() {\n return errors_1.TypedError;\n }\n});\nObject.defineProperty(exports, \"ErrorContext\", {\n enumerable: true,\n get: function get() {\n return errors_1.ErrorContext;\n }\n});\n\nvar borsh_1 = require(\"borsh\");\n\nvar exponential_backoff_1 = __importDefault(require(\"../utils/exponential-backoff\"));\n\nvar rpc_errors_1 = require(\"../utils/rpc_errors\"); // Default number of retries before giving up on a request.\n\n\nvar REQUEST_RETRY_NUMBER = 12; // Default wait until next retry in millis.\n\nvar REQUEST_RETRY_WAIT = 500; // Exponential back off for waiting to retry.\n\nvar REQUEST_RETRY_WAIT_BACKOFF = 1.5; /// Keep ids unique across all connections.\n\nvar _nextId = 123;\n/**\n * Client class to interact with the NEAR RPC API.\n * @see {@link https://github.com/near/nearcore/tree/master/chain/jsonrpc}\n */\n\nvar JsonRpcProvider = /*#__PURE__*/function (_provider_1$Provider) {\n _inherits(JsonRpcProvider, _provider_1$Provider);\n\n var _super = _createSuper(JsonRpcProvider);\n\n /**\n * @param connectionInfoOrUrl ConnectionInfo or RPC API endpoint URL (deprecated)\n */\n function JsonRpcProvider(connectionInfoOrUrl) {\n var _this;\n\n _classCallCheck(this, JsonRpcProvider);\n\n _this = _super.call(this);\n\n if (connectionInfoOrUrl != null && typeof connectionInfoOrUrl == 'object') {\n _this.connection = connectionInfoOrUrl;\n } else {\n var deprecate = depd_1.default('JsonRpcProvider(url?: string)');\n deprecate('use `JsonRpcProvider(connectionInfo: ConnectionInfo)` instead');\n _this.connection = {\n url: connectionInfoOrUrl\n };\n }\n\n return _this;\n }\n /**\n * Gets the RPC's status\n * @see {@link https://docs.near.org/docs/develop/front-end/rpc#general-validator-status}\n */\n\n\n _createClass(JsonRpcProvider, [{\n key: \"status\",\n value: function () {\n var _status = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", this.sendJsonRpc('status', []));\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function status() {\n return _status.apply(this, arguments);\n }\n\n return status;\n }()\n /**\n * Sends a signed transaction to the RPC and waits until transaction is fully complete\n * @see {@link https://docs.near.org/docs/develop/front-end/rpc#send-transaction-await}\n *\n * @param signedTransaction The signed transaction being sent\n */\n\n }, {\n key: \"sendTransaction\",\n value: function () {\n var _sendTransaction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(signedTransaction) {\n var bytes;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n bytes = signedTransaction.encode();\n return _context2.abrupt(\"return\", this.sendJsonRpc('broadcast_tx_commit', [Buffer.from(bytes).toString('base64')]));\n\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function sendTransaction(_x) {\n return _sendTransaction.apply(this, arguments);\n }\n\n return sendTransaction;\n }()\n /**\n * Sends a signed transaction to the RPC and immediately returns transaction hash\n * See [docs for more info](https://docs.near.org/docs/develop/front-end/rpc#send-transaction-async)\n * @param signedTransaction The signed transaction being sent\n * @returns {Promise}\n */\n\n }, {\n key: \"sendTransactionAsync\",\n value: function () {\n var _sendTransactionAsync = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(signedTransaction) {\n var bytes;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n bytes = signedTransaction.encode();\n return _context3.abrupt(\"return\", this.sendJsonRpc('broadcast_tx_async', [Buffer.from(bytes).toString('base64')]));\n\n case 2:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function sendTransactionAsync(_x2) {\n return _sendTransactionAsync.apply(this, arguments);\n }\n\n return sendTransactionAsync;\n }()\n /**\n * Gets a transaction's status from the RPC\n * @see {@link https://docs.near.org/docs/develop/front-end/rpc#transaction-status}\n *\n * @param txHash A transaction hash as either a Uint8Array or a base58 encoded string\n * @param accountId The NEAR account that signed the transaction\n */\n\n }, {\n key: \"txStatus\",\n value: function () {\n var _txStatus = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(txHash, accountId) {\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n if (!(typeof txHash === 'string')) {\n _context4.next = 4;\n break;\n }\n\n return _context4.abrupt(\"return\", this.txStatusString(txHash, accountId));\n\n case 4:\n return _context4.abrupt(\"return\", this.txStatusUint8Array(txHash, accountId));\n\n case 5:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function txStatus(_x3, _x4) {\n return _txStatus.apply(this, arguments);\n }\n\n return txStatus;\n }()\n }, {\n key: \"txStatusUint8Array\",\n value: function () {\n var _txStatusUint8Array = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(txHash, accountId) {\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n return _context5.abrupt(\"return\", this.sendJsonRpc('tx', [borsh_1.baseEncode(txHash), accountId]));\n\n case 1:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function txStatusUint8Array(_x5, _x6) {\n return _txStatusUint8Array.apply(this, arguments);\n }\n\n return txStatusUint8Array;\n }()\n }, {\n key: \"txStatusString\",\n value: function () {\n var _txStatusString = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(txHash, accountId) {\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n return _context6.abrupt(\"return\", this.sendJsonRpc('tx', [txHash, accountId]));\n\n case 1:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function txStatusString(_x7, _x8) {\n return _txStatusString.apply(this, arguments);\n }\n\n return txStatusString;\n }()\n /**\n * Gets a transaction's status from the RPC with receipts\n * See [docs for more info](https://docs.near.org/docs/develop/front-end/rpc#transaction-status-with-receipts)\n * @param txHash The hash of the transaction\n * @param accountId The NEAR account that signed the transaction\n * @returns {Promise}\n */\n\n }, {\n key: \"txStatusReceipts\",\n value: function () {\n var _txStatusReceipts = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7(txHash, accountId) {\n return _regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n return _context7.abrupt(\"return\", this.sendJsonRpc('EXPERIMENTAL_tx_status', [borsh_1.baseEncode(txHash), accountId]));\n\n case 1:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function txStatusReceipts(_x9, _x10) {\n return _txStatusReceipts.apply(this, arguments);\n }\n\n return txStatusReceipts;\n }()\n /**\n * Query the RPC as [shown in the docs](https://docs.near.org/docs/develop/front-end/rpc#accounts--contracts)\n * Query the RPC by passing an {@link RpcQueryRequest}\n * @see {@link https://docs.near.org/docs/develop/front-end/rpc#accounts--contracts}\n *\n * @typeParam T the shape of the returned query response\n */\n\n }, {\n key: \"query\",\n value: function () {\n var _query = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8() {\n var result,\n _len,\n args,\n _key,\n path,\n data,\n _args8 = arguments;\n\n return _regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n for (_len = _args8.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = _args8[_key];\n }\n\n if (!(args.length === 1)) {\n _context8.next = 7;\n break;\n }\n\n _context8.next = 4;\n return this.sendJsonRpc('query', args[0]);\n\n case 4:\n result = _context8.sent;\n _context8.next = 11;\n break;\n\n case 7:\n path = args[0], data = args[1];\n _context8.next = 10;\n return this.sendJsonRpc('query', [path, data]);\n\n case 10:\n result = _context8.sent;\n\n case 11:\n if (!(result && result.error)) {\n _context8.next = 13;\n break;\n }\n\n throw new errors_1.TypedError(\"Querying \".concat(args, \" failed: \").concat(result.error, \".\\n\").concat(JSON.stringify(result, null, 2)), rpc_errors_1.getErrorTypeFromErrorMessage(result.error));\n\n case 13:\n return _context8.abrupt(\"return\", result);\n\n case 14:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8, this);\n }));\n\n function query() {\n return _query.apply(this, arguments);\n }\n\n return query;\n }()\n /**\n * Query for block info from the RPC\n * pass block_id OR finality as blockQuery, not both\n * @see {@link https://docs.near.org/docs/interaction/rpc#block}\n *\n * @param blockQuery {@link BlockReference} (passing a {@link BlockId} is deprecated)\n */\n\n }, {\n key: \"block\",\n value: function () {\n var _block = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee9(blockQuery) {\n var finality, blockId, deprecate;\n return _regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n finality = blockQuery.finality;\n blockId = blockQuery.blockId;\n\n if (typeof blockQuery !== 'object') {\n deprecate = depd_1.default('JsonRpcProvider.block(blockId)');\n deprecate('use `block({ blockId })` or `block({ finality })` instead');\n blockId = blockQuery;\n }\n\n return _context9.abrupt(\"return\", this.sendJsonRpc('block', {\n block_id: blockId,\n finality: finality\n }));\n\n case 4:\n case \"end\":\n return _context9.stop();\n }\n }\n }, _callee9, this);\n }));\n\n function block(_x11) {\n return _block.apply(this, arguments);\n }\n\n return block;\n }()\n /**\n * Query changes in block from the RPC\n * pass block_id OR finality as blockQuery, not both\n * See [docs for more info](https://docs.near.org/docs/develop/front-end/rpc#block-details)\n */\n\n }, {\n key: \"blockChanges\",\n value: function () {\n var _blockChanges = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee10(blockQuery) {\n var finality, blockId;\n return _regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n finality = blockQuery.finality;\n blockId = blockQuery.blockId;\n return _context10.abrupt(\"return\", this.sendJsonRpc('EXPERIMENTAL_changes_in_block', {\n block_id: blockId,\n finality: finality\n }));\n\n case 3:\n case \"end\":\n return _context10.stop();\n }\n }\n }, _callee10, this);\n }));\n\n function blockChanges(_x12) {\n return _blockChanges.apply(this, arguments);\n }\n\n return blockChanges;\n }()\n /**\n * Queries for details about a specific chunk appending details of receipts and transactions to the same chunk data provided by a block\n * @see {@link https://docs.near.org/docs/interaction/rpc#chunk}\n *\n * @param chunkId Hash of a chunk ID or shard ID\n */\n\n }, {\n key: \"chunk\",\n value: function () {\n var _chunk = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee11(chunkId) {\n return _regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n return _context11.abrupt(\"return\", this.sendJsonRpc('chunk', [chunkId]));\n\n case 1:\n case \"end\":\n return _context11.stop();\n }\n }\n }, _callee11, this);\n }));\n\n function chunk(_x13) {\n return _chunk.apply(this, arguments);\n }\n\n return chunk;\n }()\n /**\n * Query validators of the epoch defined by the given block id.\n * @see {@link https://docs.near.org/docs/develop/front-end/rpc#detailed-validator-status}\n *\n * @param blockId Block hash or height, or null for latest.\n */\n\n }, {\n key: \"validators\",\n value: function () {\n var _validators = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee12(blockId) {\n return _regeneratorRuntime.wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n return _context12.abrupt(\"return\", this.sendJsonRpc('validators', [blockId]));\n\n case 1:\n case \"end\":\n return _context12.stop();\n }\n }\n }, _callee12, this);\n }));\n\n function validators(_x14) {\n return _validators.apply(this, arguments);\n }\n\n return validators;\n }()\n /**\n * @deprecated\n * Gets the genesis config from RPC\n * @see {@link https://docs.near.org/docs/develop/front-end/rpc#genesis-config}\n */\n\n }, {\n key: \"experimental_genesisConfig\",\n value: function () {\n var _experimental_genesisConfig = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee13() {\n var deprecate;\n return _regeneratorRuntime.wrap(function _callee13$(_context13) {\n while (1) {\n switch (_context13.prev = _context13.next) {\n case 0:\n deprecate = depd_1.default('JsonRpcProvider.experimental_protocolConfig()');\n deprecate('use `experimental_protocolConfig({ sync_checkpoint: \\'genesis\\' })` to fetch the up-to-date or genesis protocol config explicitly');\n _context13.next = 4;\n return this.sendJsonRpc('EXPERIMENTAL_protocol_config', {\n sync_checkpoint: 'genesis'\n });\n\n case 4:\n return _context13.abrupt(\"return\", _context13.sent);\n\n case 5:\n case \"end\":\n return _context13.stop();\n }\n }\n }, _callee13, this);\n }));\n\n function experimental_genesisConfig() {\n return _experimental_genesisConfig.apply(this, arguments);\n }\n\n return experimental_genesisConfig;\n }()\n /**\n * Gets the protocol config at a block from RPC\n * @see {@link }\n *\n * @param blockReference specifies the block to get the protocol config for\n */\n\n }, {\n key: \"experimental_protocolConfig\",\n value: function () {\n var _experimental_protocolConfig = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee14(blockReference) {\n return _regeneratorRuntime.wrap(function _callee14$(_context14) {\n while (1) {\n switch (_context14.prev = _context14.next) {\n case 0:\n _context14.next = 2;\n return this.sendJsonRpc('EXPERIMENTAL_protocol_config', blockReference);\n\n case 2:\n return _context14.abrupt(\"return\", _context14.sent);\n\n case 3:\n case \"end\":\n return _context14.stop();\n }\n }\n }, _callee14, this);\n }));\n\n function experimental_protocolConfig(_x15) {\n return _experimental_protocolConfig.apply(this, arguments);\n }\n\n return experimental_protocolConfig;\n }()\n /**\n * @deprecated Use {@link lightClientProof} instead\n */\n\n }, {\n key: \"experimental_lightClientProof\",\n value: function () {\n var _experimental_lightClientProof = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee15(request) {\n var deprecate;\n return _regeneratorRuntime.wrap(function _callee15$(_context15) {\n while (1) {\n switch (_context15.prev = _context15.next) {\n case 0:\n deprecate = depd_1.default('JsonRpcProvider.experimental_lightClientProof(request)');\n deprecate('use `lightClientProof` instead');\n _context15.next = 4;\n return this.lightClientProof(request);\n\n case 4:\n return _context15.abrupt(\"return\", _context15.sent);\n\n case 5:\n case \"end\":\n return _context15.stop();\n }\n }\n }, _callee15, this);\n }));\n\n function experimental_lightClientProof(_x16) {\n return _experimental_lightClientProof.apply(this, arguments);\n }\n\n return experimental_lightClientProof;\n }()\n /**\n * Gets a light client execution proof for verifying execution outcomes\n * @see {@link https://github.com/nearprotocol/NEPs/blob/master/specs/ChainSpec/LightClient.md#light-client-proof}\n */\n\n }, {\n key: \"lightClientProof\",\n value: function () {\n var _lightClientProof = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee16(request) {\n return _regeneratorRuntime.wrap(function _callee16$(_context16) {\n while (1) {\n switch (_context16.prev = _context16.next) {\n case 0:\n _context16.next = 2;\n return this.sendJsonRpc('EXPERIMENTAL_light_client_proof', request);\n\n case 2:\n return _context16.abrupt(\"return\", _context16.sent);\n\n case 3:\n case \"end\":\n return _context16.stop();\n }\n }\n }, _callee16, this);\n }));\n\n function lightClientProof(_x17) {\n return _lightClientProof.apply(this, arguments);\n }\n\n return lightClientProof;\n }()\n /**\n * Gets access key changes for a given array of accountIds\n * See [docs for more info](https://docs.near.org/docs/develop/front-end/rpc#view-access-key-changes-all)\n * @returns {Promise}\n */\n\n }, {\n key: \"accessKeyChanges\",\n value: function () {\n var _accessKeyChanges = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee17(accountIdArray, blockQuery) {\n var finality, blockId;\n return _regeneratorRuntime.wrap(function _callee17$(_context17) {\n while (1) {\n switch (_context17.prev = _context17.next) {\n case 0:\n finality = blockQuery.finality;\n blockId = blockQuery.blockId;\n return _context17.abrupt(\"return\", this.sendJsonRpc('EXPERIMENTAL_changes', {\n changes_type: 'all_access_key_changes',\n account_ids: accountIdArray,\n block_id: blockId,\n finality: finality\n }));\n\n case 3:\n case \"end\":\n return _context17.stop();\n }\n }\n }, _callee17, this);\n }));\n\n function accessKeyChanges(_x18, _x19) {\n return _accessKeyChanges.apply(this, arguments);\n }\n\n return accessKeyChanges;\n }()\n /**\n * Gets single access key changes for a given array of access keys\n * pass block_id OR finality as blockQuery, not both\n * See [docs for more info](https://docs.near.org/docs/develop/front-end/rpc#view-access-key-changes-single)\n * @returns {Promise}\n */\n\n }, {\n key: \"singleAccessKeyChanges\",\n value: function () {\n var _singleAccessKeyChanges = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee18(accessKeyArray, blockQuery) {\n var finality, blockId;\n return _regeneratorRuntime.wrap(function _callee18$(_context18) {\n while (1) {\n switch (_context18.prev = _context18.next) {\n case 0:\n finality = blockQuery.finality;\n blockId = blockQuery.blockId;\n return _context18.abrupt(\"return\", this.sendJsonRpc('EXPERIMENTAL_changes', {\n changes_type: 'single_access_key_changes',\n keys: accessKeyArray,\n block_id: blockId,\n finality: finality\n }));\n\n case 3:\n case \"end\":\n return _context18.stop();\n }\n }\n }, _callee18, this);\n }));\n\n function singleAccessKeyChanges(_x20, _x21) {\n return _singleAccessKeyChanges.apply(this, arguments);\n }\n\n return singleAccessKeyChanges;\n }()\n /**\n * Gets account changes for a given array of accountIds\n * pass block_id OR finality as blockQuery, not both\n * See [docs for more info](https://docs.near.org/docs/develop/front-end/rpc#view-account-changes)\n * @returns {Promise}\n */\n\n }, {\n key: \"accountChanges\",\n value: function () {\n var _accountChanges = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee19(accountIdArray, blockQuery) {\n var finality, blockId;\n return _regeneratorRuntime.wrap(function _callee19$(_context19) {\n while (1) {\n switch (_context19.prev = _context19.next) {\n case 0:\n finality = blockQuery.finality;\n blockId = blockQuery.blockId;\n return _context19.abrupt(\"return\", this.sendJsonRpc('EXPERIMENTAL_changes', {\n changes_type: 'account_changes',\n account_ids: accountIdArray,\n block_id: blockId,\n finality: finality\n }));\n\n case 3:\n case \"end\":\n return _context19.stop();\n }\n }\n }, _callee19, this);\n }));\n\n function accountChanges(_x22, _x23) {\n return _accountChanges.apply(this, arguments);\n }\n\n return accountChanges;\n }()\n /**\n * Gets contract state changes for a given array of accountIds\n * pass block_id OR finality as blockQuery, not both\n * Note: If you pass a keyPrefix it must be base64 encoded\n * See [docs for more info](https://docs.near.org/docs/develop/front-end/rpc#view-contract-state-changes)\n * @returns {Promise}\n */\n\n }, {\n key: \"contractStateChanges\",\n value: function () {\n var _contractStateChanges = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee20(accountIdArray, blockQuery) {\n var keyPrefix,\n finality,\n blockId,\n _args20 = arguments;\n return _regeneratorRuntime.wrap(function _callee20$(_context20) {\n while (1) {\n switch (_context20.prev = _context20.next) {\n case 0:\n keyPrefix = _args20.length > 2 && _args20[2] !== undefined ? _args20[2] : '';\n finality = blockQuery.finality;\n blockId = blockQuery.blockId;\n return _context20.abrupt(\"return\", this.sendJsonRpc('EXPERIMENTAL_changes', {\n changes_type: 'data_changes',\n account_ids: accountIdArray,\n key_prefix_base64: keyPrefix,\n block_id: blockId,\n finality: finality\n }));\n\n case 4:\n case \"end\":\n return _context20.stop();\n }\n }\n }, _callee20, this);\n }));\n\n function contractStateChanges(_x24, _x25) {\n return _contractStateChanges.apply(this, arguments);\n }\n\n return contractStateChanges;\n }()\n /**\n * Gets contract code changes for a given array of accountIds\n * pass block_id OR finality as blockQuery, not both\n * Note: Change is returned in a base64 encoded WASM file\n * See [docs for more info](https://docs.near.org/docs/develop/front-end/rpc#view-contract-code-changes)\n * @returns {Promise}\n */\n\n }, {\n key: \"contractCodeChanges\",\n value: function () {\n var _contractCodeChanges = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee21(accountIdArray, blockQuery) {\n var finality, blockId;\n return _regeneratorRuntime.wrap(function _callee21$(_context21) {\n while (1) {\n switch (_context21.prev = _context21.next) {\n case 0:\n finality = blockQuery.finality;\n blockId = blockQuery.blockId;\n return _context21.abrupt(\"return\", this.sendJsonRpc('EXPERIMENTAL_changes', {\n changes_type: 'contract_code_changes',\n account_ids: accountIdArray,\n block_id: blockId,\n finality: finality\n }));\n\n case 3:\n case \"end\":\n return _context21.stop();\n }\n }\n }, _callee21, this);\n }));\n\n function contractCodeChanges(_x26, _x27) {\n return _contractCodeChanges.apply(this, arguments);\n }\n\n return contractCodeChanges;\n }()\n /**\n * Returns gas price for a specific block_height or block_hash.\n * @see {@link https://docs.near.org/docs/develop/front-end/rpc#gas-price}\n *\n * @param blockId Block hash or height, or null for latest.\n */\n\n }, {\n key: \"gasPrice\",\n value: function () {\n var _gasPrice = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee22(blockId) {\n return _regeneratorRuntime.wrap(function _callee22$(_context22) {\n while (1) {\n switch (_context22.prev = _context22.next) {\n case 0:\n _context22.next = 2;\n return this.sendJsonRpc('gas_price', [blockId]);\n\n case 2:\n return _context22.abrupt(\"return\", _context22.sent);\n\n case 3:\n case \"end\":\n return _context22.stop();\n }\n }\n }, _callee22, this);\n }));\n\n function gasPrice(_x28) {\n return _gasPrice.apply(this, arguments);\n }\n\n return gasPrice;\n }()\n /**\n * Directly call the RPC specifying the method and params\n *\n * @param method RPC method\n * @param params Parameters to the method\n */\n\n }, {\n key: \"sendJsonRpc\",\n value: function () {\n var _sendJsonRpc = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee24(method, params) {\n var _this2 = this;\n\n var response, result;\n return _regeneratorRuntime.wrap(function _callee24$(_context24) {\n while (1) {\n switch (_context24.prev = _context24.next) {\n case 0:\n _context24.next = 2;\n return exponential_backoff_1.default(REQUEST_RETRY_WAIT, REQUEST_RETRY_NUMBER, REQUEST_RETRY_WAIT_BACKOFF, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee23() {\n var request, _response, errorMessage;\n\n return _regeneratorRuntime.wrap(function _callee23$(_context23) {\n while (1) {\n switch (_context23.prev = _context23.next) {\n case 0:\n _context23.prev = 0;\n request = {\n method: method,\n params: params,\n id: _nextId++,\n jsonrpc: '2.0'\n };\n _context23.next = 4;\n return web_1.fetchJson(_this2.connection, JSON.stringify(request));\n\n case 4:\n _response = _context23.sent;\n\n if (!_response.error) {\n _context23.next = 16;\n break;\n }\n\n if (!(typeof _response.error.data === 'object')) {\n _context23.next = 12;\n break;\n }\n\n if (!(typeof _response.error.data.error_message === 'string' && typeof _response.error.data.error_type === 'string')) {\n _context23.next = 9;\n break;\n }\n\n throw new errors_1.TypedError(_response.error.data.error_message, _response.error.data.error_type);\n\n case 9:\n throw rpc_errors_1.parseRpcError(_response.error.data);\n\n case 12:\n errorMessage = \"[\".concat(_response.error.code, \"] \").concat(_response.error.message, \": \").concat(_response.error.data); // NOTE: All this hackery is happening because structured errors not implemented\n // TODO: Fix when https://github.com/nearprotocol/nearcore/issues/1839 gets resolved\n\n if (!(_response.error.data === 'Timeout' || errorMessage.includes('Timeout error') || errorMessage.includes('query has timed out'))) {\n _context23.next = 15;\n break;\n }\n\n throw new errors_1.TypedError(errorMessage, 'TimeoutError');\n\n case 15:\n throw new errors_1.TypedError(errorMessage, rpc_errors_1.getErrorTypeFromErrorMessage(_response.error.data));\n\n case 16:\n return _context23.abrupt(\"return\", _response);\n\n case 19:\n _context23.prev = 19;\n _context23.t0 = _context23[\"catch\"](0);\n\n if (!(_context23.t0.type === 'TimeoutError')) {\n _context23.next = 24;\n break;\n }\n\n if (!process.env['NEAR_NO_LOGS']) {\n console.warn(\"Retrying request to \".concat(method, \" as it has timed out\"), params);\n }\n\n return _context23.abrupt(\"return\", null);\n\n case 24:\n throw _context23.t0;\n\n case 25:\n case \"end\":\n return _context23.stop();\n }\n }\n }, _callee23, null, [[0, 19]]);\n })));\n\n case 2:\n response = _context24.sent;\n result = response.result; // From jsonrpc spec:\n // result\n // This member is REQUIRED on success.\n // This member MUST NOT exist if there was an error invoking the method.\n\n if (!(typeof result === 'undefined')) {\n _context24.next = 6;\n break;\n }\n\n throw new errors_1.TypedError(\"Exceeded \".concat(REQUEST_RETRY_NUMBER, \" attempts for request to \").concat(method, \".\"), 'RetriesExceeded');\n\n case 6:\n return _context24.abrupt(\"return\", result);\n\n case 7:\n case \"end\":\n return _context24.stop();\n }\n }\n }, _callee24);\n }));\n\n function sendJsonRpc(_x29, _x30) {\n return _sendJsonRpc.apply(this, arguments);\n }\n\n return sendJsonRpc;\n }()\n }]);\n\n return JsonRpcProvider;\n}(provider_1.Provider);\n\nexports.JsonRpcProvider = JsonRpcProvider;","\"use strict\";\n/**\n * NEAR RPC API request types and responses\n * @module\n */\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getTransactionLastResult = exports.Provider = exports.IdType = exports.FinalExecutionStatusBasic = exports.ExecutionStatusBasic = void 0;\nvar ExecutionStatusBasic;\n\n(function (ExecutionStatusBasic) {\n ExecutionStatusBasic[\"Unknown\"] = \"Unknown\";\n ExecutionStatusBasic[\"Pending\"] = \"Pending\";\n ExecutionStatusBasic[\"Failure\"] = \"Failure\";\n})(ExecutionStatusBasic = exports.ExecutionStatusBasic || (exports.ExecutionStatusBasic = {}));\n\nvar FinalExecutionStatusBasic;\n\n(function (FinalExecutionStatusBasic) {\n FinalExecutionStatusBasic[\"NotStarted\"] = \"NotStarted\";\n FinalExecutionStatusBasic[\"Started\"] = \"Started\";\n FinalExecutionStatusBasic[\"Failure\"] = \"Failure\";\n})(FinalExecutionStatusBasic = exports.FinalExecutionStatusBasic || (exports.FinalExecutionStatusBasic = {}));\n\nvar IdType;\n\n(function (IdType) {\n IdType[\"Transaction\"] = \"transaction\";\n IdType[\"Receipt\"] = \"receipt\";\n})(IdType = exports.IdType || (exports.IdType = {}));\n/** @hidden */\n\n\nvar Provider = /*#__PURE__*/_createClass(function Provider() {\n _classCallCheck(this, Provider);\n});\n\nexports.Provider = Provider;\n/** @hidden */\n\nfunction getTransactionLastResult(txResult) {\n if (typeof txResult.status === 'object' && typeof txResult.status.SuccessValue === 'string') {\n var value = Buffer.from(txResult.status.SuccessValue, 'base64').toString();\n\n try {\n return JSON.parse(value);\n } catch (e) {\n return value;\n }\n }\n\n return null;\n}\n\nexports.getTransactionLastResult = getTransactionLastResult;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.InMemorySigner = exports.Signer = void 0;\n\nvar js_sha256_1 = __importDefault(require(\"js-sha256\"));\n\nvar key_pair_1 = require(\"./utils/key_pair\");\n\nvar in_memory_key_store_1 = require(\"./key_stores/in_memory_key_store\");\n/**\n * General signing interface, can be used for in memory signing, RPC singing, external wallet, HSM, etc.\n */\n\n\nvar Signer = /*#__PURE__*/_createClass(function Signer() {\n _classCallCheck(this, Signer);\n});\n\nexports.Signer = Signer;\n/**\n * Signs using in memory key store.\n */\n\nvar InMemorySigner = /*#__PURE__*/function (_Signer) {\n _inherits(InMemorySigner, _Signer);\n\n var _super = _createSuper(InMemorySigner);\n\n function InMemorySigner(keyStore) {\n var _this;\n\n _classCallCheck(this, InMemorySigner);\n\n _this = _super.call(this);\n _this.keyStore = keyStore;\n return _this;\n }\n /**\n * Creates a single account Signer instance with account, network and keyPair provided.\n *\n * Intended to be useful for temporary keys (e.g. claiming a Linkdrop).\n *\n * @param networkId The targeted network. (ex. default, betanet, etc…)\n * @param accountId The NEAR account to assign the key pair to\n * @param keyPair The keyPair to use for signing\n */\n\n\n _createClass(InMemorySigner, [{\n key: \"createKey\",\n value:\n /**\n * Creates a public key for the account given\n * @param accountId The NEAR account to assign a public key to\n * @param networkId The targeted network. (ex. default, betanet, etc…)\n * @returns {Promise}\n */\n function () {\n var _createKey = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(accountId, networkId) {\n var keyPair;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n keyPair = key_pair_1.KeyPair.fromRandom('ed25519');\n _context.next = 3;\n return this.keyStore.setKey(networkId, accountId, keyPair);\n\n case 3:\n return _context.abrupt(\"return\", keyPair.getPublicKey());\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function createKey(_x, _x2) {\n return _createKey.apply(this, arguments);\n }\n\n return createKey;\n }()\n /**\n * Gets the existing public key for a given account\n * @param accountId The NEAR account to assign a public key to\n * @param networkId The targeted network. (ex. default, betanet, etc…)\n * @returns {Promise} Returns the public key or null if not found\n */\n\n }, {\n key: \"getPublicKey\",\n value: function () {\n var _getPublicKey = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(accountId, networkId) {\n var keyPair;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this.keyStore.getKey(networkId, accountId);\n\n case 2:\n keyPair = _context2.sent;\n\n if (!(keyPair === null)) {\n _context2.next = 5;\n break;\n }\n\n return _context2.abrupt(\"return\", null);\n\n case 5:\n return _context2.abrupt(\"return\", keyPair.getPublicKey());\n\n case 6:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function getPublicKey(_x3, _x4) {\n return _getPublicKey.apply(this, arguments);\n }\n\n return getPublicKey;\n }()\n /**\n * @param message A message to be signed, typically a serialized transaction\n * @param accountId the NEAR account signing the message\n * @param networkId The targeted network. (ex. default, betanet, etc…)\n * @returns {Promise}\n */\n\n }, {\n key: \"signMessage\",\n value: function () {\n var _signMessage = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(message, accountId, networkId) {\n var hash, keyPair;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n hash = new Uint8Array(js_sha256_1.default.sha256.array(message));\n\n if (accountId) {\n _context3.next = 3;\n break;\n }\n\n throw new Error('InMemorySigner requires provided account id');\n\n case 3:\n _context3.next = 5;\n return this.keyStore.getKey(networkId, accountId);\n\n case 5:\n keyPair = _context3.sent;\n\n if (!(keyPair === null)) {\n _context3.next = 8;\n break;\n }\n\n throw new Error(\"Key for \".concat(accountId, \" not found in \").concat(networkId));\n\n case 8:\n return _context3.abrupt(\"return\", keyPair.sign(hash));\n\n case 9:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function signMessage(_x5, _x6, _x7) {\n return _signMessage.apply(this, arguments);\n }\n\n return signMessage;\n }()\n }, {\n key: \"toString\",\n value: function toString() {\n return \"InMemorySigner(\".concat(this.keyStore, \")\");\n }\n }], [{\n key: \"fromKeyPair\",\n value: function () {\n var _fromKeyPair = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(networkId, accountId, keyPair) {\n var keyStore;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n keyStore = new in_memory_key_store_1.InMemoryKeyStore();\n _context4.next = 3;\n return keyStore.setKey(networkId, accountId, keyPair);\n\n case 3:\n return _context4.abrupt(\"return\", new InMemorySigner(keyStore));\n\n case 4:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n\n function fromKeyPair(_x8, _x9, _x10) {\n return _fromKeyPair.apply(this, arguments);\n }\n\n return fromKeyPair;\n }()\n }]);\n\n return InMemorySigner;\n}(Signer);\n\nexports.InMemorySigner = InMemorySigner;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.signTransaction = exports.createTransaction = exports.SCHEMA = exports.Action = exports.SignedTransaction = exports.Transaction = exports.Signature = exports.deleteAccount = exports.deleteKey = exports.addKey = exports.stake = exports.transfer = exports.functionCall = exports.stringifyJsonOrBytes = exports.deployContract = exports.createAccount = exports.DeleteAccount = exports.DeleteKey = exports.AddKey = exports.Stake = exports.Transfer = exports.FunctionCall = exports.DeployContract = exports.CreateAccount = exports.IAction = exports.functionCallAccessKey = exports.fullAccessKey = exports.AccessKey = exports.AccessKeyPermission = exports.FullAccessPermission = exports.FunctionCallPermission = void 0;\n\nvar js_sha256_1 = __importDefault(require(\"js-sha256\"));\n\nvar enums_1 = require(\"./utils/enums\");\n\nvar borsh_1 = require(\"borsh\");\n\nvar key_pair_1 = require(\"./utils/key_pair\");\n\nvar FunctionCallPermission = /*#__PURE__*/function (_enums_1$Assignable) {\n _inherits(FunctionCallPermission, _enums_1$Assignable);\n\n var _super = _createSuper(FunctionCallPermission);\n\n function FunctionCallPermission() {\n _classCallCheck(this, FunctionCallPermission);\n\n return _super.apply(this, arguments);\n }\n\n return _createClass(FunctionCallPermission);\n}(enums_1.Assignable);\n\nexports.FunctionCallPermission = FunctionCallPermission;\n\nvar FullAccessPermission = /*#__PURE__*/function (_enums_1$Assignable2) {\n _inherits(FullAccessPermission, _enums_1$Assignable2);\n\n var _super2 = _createSuper(FullAccessPermission);\n\n function FullAccessPermission() {\n _classCallCheck(this, FullAccessPermission);\n\n return _super2.apply(this, arguments);\n }\n\n return _createClass(FullAccessPermission);\n}(enums_1.Assignable);\n\nexports.FullAccessPermission = FullAccessPermission;\n\nvar AccessKeyPermission = /*#__PURE__*/function (_enums_1$Enum) {\n _inherits(AccessKeyPermission, _enums_1$Enum);\n\n var _super3 = _createSuper(AccessKeyPermission);\n\n function AccessKeyPermission() {\n _classCallCheck(this, AccessKeyPermission);\n\n return _super3.apply(this, arguments);\n }\n\n return _createClass(AccessKeyPermission);\n}(enums_1.Enum);\n\nexports.AccessKeyPermission = AccessKeyPermission;\n\nvar AccessKey = /*#__PURE__*/function (_enums_1$Assignable3) {\n _inherits(AccessKey, _enums_1$Assignable3);\n\n var _super4 = _createSuper(AccessKey);\n\n function AccessKey() {\n _classCallCheck(this, AccessKey);\n\n return _super4.apply(this, arguments);\n }\n\n return _createClass(AccessKey);\n}(enums_1.Assignable);\n\nexports.AccessKey = AccessKey;\n\nfunction fullAccessKey() {\n return new AccessKey({\n nonce: 0,\n permission: new AccessKeyPermission({\n fullAccess: new FullAccessPermission({})\n })\n });\n}\n\nexports.fullAccessKey = fullAccessKey;\n\nfunction functionCallAccessKey(receiverId, methodNames, allowance) {\n return new AccessKey({\n nonce: 0,\n permission: new AccessKeyPermission({\n functionCall: new FunctionCallPermission({\n receiverId: receiverId,\n allowance: allowance,\n methodNames: methodNames\n })\n })\n });\n}\n\nexports.functionCallAccessKey = functionCallAccessKey;\n\nvar IAction = /*#__PURE__*/function (_enums_1$Assignable4) {\n _inherits(IAction, _enums_1$Assignable4);\n\n var _super5 = _createSuper(IAction);\n\n function IAction() {\n _classCallCheck(this, IAction);\n\n return _super5.apply(this, arguments);\n }\n\n return _createClass(IAction);\n}(enums_1.Assignable);\n\nexports.IAction = IAction;\n\nvar CreateAccount = /*#__PURE__*/function (_IAction) {\n _inherits(CreateAccount, _IAction);\n\n var _super6 = _createSuper(CreateAccount);\n\n function CreateAccount() {\n _classCallCheck(this, CreateAccount);\n\n return _super6.apply(this, arguments);\n }\n\n return _createClass(CreateAccount);\n}(IAction);\n\nexports.CreateAccount = CreateAccount;\n\nvar DeployContract = /*#__PURE__*/function (_IAction2) {\n _inherits(DeployContract, _IAction2);\n\n var _super7 = _createSuper(DeployContract);\n\n function DeployContract() {\n _classCallCheck(this, DeployContract);\n\n return _super7.apply(this, arguments);\n }\n\n return _createClass(DeployContract);\n}(IAction);\n\nexports.DeployContract = DeployContract;\n\nvar FunctionCall = /*#__PURE__*/function (_IAction3) {\n _inherits(FunctionCall, _IAction3);\n\n var _super8 = _createSuper(FunctionCall);\n\n function FunctionCall() {\n _classCallCheck(this, FunctionCall);\n\n return _super8.apply(this, arguments);\n }\n\n return _createClass(FunctionCall);\n}(IAction);\n\nexports.FunctionCall = FunctionCall;\n\nvar Transfer = /*#__PURE__*/function (_IAction4) {\n _inherits(Transfer, _IAction4);\n\n var _super9 = _createSuper(Transfer);\n\n function Transfer() {\n _classCallCheck(this, Transfer);\n\n return _super9.apply(this, arguments);\n }\n\n return _createClass(Transfer);\n}(IAction);\n\nexports.Transfer = Transfer;\n\nvar Stake = /*#__PURE__*/function (_IAction5) {\n _inherits(Stake, _IAction5);\n\n var _super10 = _createSuper(Stake);\n\n function Stake() {\n _classCallCheck(this, Stake);\n\n return _super10.apply(this, arguments);\n }\n\n return _createClass(Stake);\n}(IAction);\n\nexports.Stake = Stake;\n\nvar AddKey = /*#__PURE__*/function (_IAction6) {\n _inherits(AddKey, _IAction6);\n\n var _super11 = _createSuper(AddKey);\n\n function AddKey() {\n _classCallCheck(this, AddKey);\n\n return _super11.apply(this, arguments);\n }\n\n return _createClass(AddKey);\n}(IAction);\n\nexports.AddKey = AddKey;\n\nvar DeleteKey = /*#__PURE__*/function (_IAction7) {\n _inherits(DeleteKey, _IAction7);\n\n var _super12 = _createSuper(DeleteKey);\n\n function DeleteKey() {\n _classCallCheck(this, DeleteKey);\n\n return _super12.apply(this, arguments);\n }\n\n return _createClass(DeleteKey);\n}(IAction);\n\nexports.DeleteKey = DeleteKey;\n\nvar DeleteAccount = /*#__PURE__*/function (_IAction8) {\n _inherits(DeleteAccount, _IAction8);\n\n var _super13 = _createSuper(DeleteAccount);\n\n function DeleteAccount() {\n _classCallCheck(this, DeleteAccount);\n\n return _super13.apply(this, arguments);\n }\n\n return _createClass(DeleteAccount);\n}(IAction);\n\nexports.DeleteAccount = DeleteAccount;\n\nfunction createAccount() {\n return new Action({\n createAccount: new CreateAccount({})\n });\n}\n\nexports.createAccount = createAccount;\n\nfunction deployContract(code) {\n return new Action({\n deployContract: new DeployContract({\n code: code\n })\n });\n}\n\nexports.deployContract = deployContract;\n\nfunction stringifyJsonOrBytes(args) {\n var isUint8Array = args.byteLength !== undefined && args.byteLength === args.length;\n var serializedArgs = isUint8Array ? args : Buffer.from(JSON.stringify(args));\n return serializedArgs;\n}\n\nexports.stringifyJsonOrBytes = stringifyJsonOrBytes;\n/**\n * Constructs {@link Action} instance representing contract method call.\n *\n * @param methodName the name of the method to call\n * @param args arguments to pass to method. Can be either plain JS object which gets serialized as JSON automatically\n * or `Uint8Array` instance which represents bytes passed as is.\n * @param gas max amount of gas that method call can use\n * @param deposit amount of NEAR (in yoctoNEAR) to send together with the call\n * @param stringify Convert input arguments into bytes array.\n */\n\nfunction functionCall(methodName, args, gas, deposit) {\n var stringify = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : stringifyJsonOrBytes;\n return new Action({\n functionCall: new FunctionCall({\n methodName: methodName,\n args: stringify(args),\n gas: gas,\n deposit: deposit\n })\n });\n}\n\nexports.functionCall = functionCall;\n\nfunction transfer(deposit) {\n return new Action({\n transfer: new Transfer({\n deposit: deposit\n })\n });\n}\n\nexports.transfer = transfer;\n\nfunction stake(stake, publicKey) {\n return new Action({\n stake: new Stake({\n stake: stake,\n publicKey: publicKey\n })\n });\n}\n\nexports.stake = stake;\n\nfunction addKey(publicKey, accessKey) {\n return new Action({\n addKey: new AddKey({\n publicKey: publicKey,\n accessKey: accessKey\n })\n });\n}\n\nexports.addKey = addKey;\n\nfunction deleteKey(publicKey) {\n return new Action({\n deleteKey: new DeleteKey({\n publicKey: publicKey\n })\n });\n}\n\nexports.deleteKey = deleteKey;\n\nfunction deleteAccount(beneficiaryId) {\n return new Action({\n deleteAccount: new DeleteAccount({\n beneficiaryId: beneficiaryId\n })\n });\n}\n\nexports.deleteAccount = deleteAccount;\n\nvar Signature = /*#__PURE__*/function (_enums_1$Assignable5) {\n _inherits(Signature, _enums_1$Assignable5);\n\n var _super14 = _createSuper(Signature);\n\n function Signature() {\n _classCallCheck(this, Signature);\n\n return _super14.apply(this, arguments);\n }\n\n return _createClass(Signature);\n}(enums_1.Assignable);\n\nexports.Signature = Signature;\n\nvar Transaction = /*#__PURE__*/function (_enums_1$Assignable6) {\n _inherits(Transaction, _enums_1$Assignable6);\n\n var _super15 = _createSuper(Transaction);\n\n function Transaction() {\n _classCallCheck(this, Transaction);\n\n return _super15.apply(this, arguments);\n }\n\n _createClass(Transaction, [{\n key: \"encode\",\n value: function encode() {\n return borsh_1.serialize(exports.SCHEMA, this);\n }\n }], [{\n key: \"decode\",\n value: function decode(bytes) {\n return borsh_1.deserialize(exports.SCHEMA, Transaction, bytes);\n }\n }]);\n\n return Transaction;\n}(enums_1.Assignable);\n\nexports.Transaction = Transaction;\n\nvar SignedTransaction = /*#__PURE__*/function (_enums_1$Assignable7) {\n _inherits(SignedTransaction, _enums_1$Assignable7);\n\n var _super16 = _createSuper(SignedTransaction);\n\n function SignedTransaction() {\n _classCallCheck(this, SignedTransaction);\n\n return _super16.apply(this, arguments);\n }\n\n _createClass(SignedTransaction, [{\n key: \"encode\",\n value: function encode() {\n return borsh_1.serialize(exports.SCHEMA, this);\n }\n }], [{\n key: \"decode\",\n value: function decode(bytes) {\n return borsh_1.deserialize(exports.SCHEMA, SignedTransaction, bytes);\n }\n }]);\n\n return SignedTransaction;\n}(enums_1.Assignable);\n\nexports.SignedTransaction = SignedTransaction;\n/**\n * Contains a list of the valid transaction Actions available with this API\n * @see {@link https://nomicon.io/RuntimeSpec/Actions.html | Actions Spec}\n */\n\nvar Action = /*#__PURE__*/function (_enums_1$Enum2) {\n _inherits(Action, _enums_1$Enum2);\n\n var _super17 = _createSuper(Action);\n\n function Action() {\n _classCallCheck(this, Action);\n\n return _super17.apply(this, arguments);\n }\n\n return _createClass(Action);\n}(enums_1.Enum);\n\nexports.Action = Action;\nexports.SCHEMA = new Map([[Signature, {\n kind: 'struct',\n fields: [['keyType', 'u8'], ['data', [64]]]\n}], [SignedTransaction, {\n kind: 'struct',\n fields: [['transaction', Transaction], ['signature', Signature]]\n}], [Transaction, {\n kind: 'struct',\n fields: [['signerId', 'string'], ['publicKey', key_pair_1.PublicKey], ['nonce', 'u64'], ['receiverId', 'string'], ['blockHash', [32]], ['actions', [Action]]]\n}], [key_pair_1.PublicKey, {\n kind: 'struct',\n fields: [['keyType', 'u8'], ['data', [32]]]\n}], [AccessKey, {\n kind: 'struct',\n fields: [['nonce', 'u64'], ['permission', AccessKeyPermission]]\n}], [AccessKeyPermission, {\n kind: 'enum',\n field: 'enum',\n values: [['functionCall', FunctionCallPermission], ['fullAccess', FullAccessPermission]]\n}], [FunctionCallPermission, {\n kind: 'struct',\n fields: [['allowance', {\n kind: 'option',\n type: 'u128'\n }], ['receiverId', 'string'], ['methodNames', ['string']]]\n}], [FullAccessPermission, {\n kind: 'struct',\n fields: []\n}], [Action, {\n kind: 'enum',\n field: 'enum',\n values: [['createAccount', CreateAccount], ['deployContract', DeployContract], ['functionCall', FunctionCall], ['transfer', Transfer], ['stake', Stake], ['addKey', AddKey], ['deleteKey', DeleteKey], ['deleteAccount', DeleteAccount]]\n}], [CreateAccount, {\n kind: 'struct',\n fields: []\n}], [DeployContract, {\n kind: 'struct',\n fields: [['code', ['u8']]]\n}], [FunctionCall, {\n kind: 'struct',\n fields: [['methodName', 'string'], ['args', ['u8']], ['gas', 'u64'], ['deposit', 'u128']]\n}], [Transfer, {\n kind: 'struct',\n fields: [['deposit', 'u128']]\n}], [Stake, {\n kind: 'struct',\n fields: [['stake', 'u128'], ['publicKey', key_pair_1.PublicKey]]\n}], [AddKey, {\n kind: 'struct',\n fields: [['publicKey', key_pair_1.PublicKey], ['accessKey', AccessKey]]\n}], [DeleteKey, {\n kind: 'struct',\n fields: [['publicKey', key_pair_1.PublicKey]]\n}], [DeleteAccount, {\n kind: 'struct',\n fields: [['beneficiaryId', 'string']]\n}]]);\n\nfunction createTransaction(signerId, publicKey, receiverId, nonce, actions, blockHash) {\n return new Transaction({\n signerId: signerId,\n publicKey: publicKey,\n nonce: nonce,\n receiverId: receiverId,\n actions: actions,\n blockHash: blockHash\n });\n}\n\nexports.createTransaction = createTransaction;\n/**\n * Signs a given transaction from an account with given keys, applied to the given network\n * @param transaction The Transaction object to sign\n * @param signer The {Signer} object that assists with signing keys\n * @param accountId The human-readable NEAR account name\n * @param networkId The targeted network. (ex. default, betanet, etc…)\n */\n\nfunction signTransactionObject(_x, _x2, _x3, _x4) {\n return _signTransactionObject.apply(this, arguments);\n}\n\nfunction _signTransactionObject() {\n _signTransactionObject = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(transaction, signer, accountId, networkId) {\n var message, hash, signature, signedTx;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n message = borsh_1.serialize(exports.SCHEMA, transaction);\n hash = new Uint8Array(js_sha256_1.default.sha256.array(message));\n _context.next = 4;\n return signer.signMessage(message, accountId, networkId);\n\n case 4:\n signature = _context.sent;\n signedTx = new SignedTransaction({\n transaction: transaction,\n signature: new Signature({\n keyType: transaction.publicKey.keyType,\n data: signature.signature\n })\n });\n return _context.abrupt(\"return\", [hash, signedTx]);\n\n case 7:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _signTransactionObject.apply(this, arguments);\n}\n\nfunction signTransaction() {\n return _signTransaction.apply(this, arguments);\n}\n\nfunction _signTransaction() {\n _signTransaction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var _len,\n args,\n _key,\n transaction,\n signer,\n accountId,\n networkId,\n receiverId,\n nonce,\n actions,\n blockHash,\n _signer,\n _accountId,\n _networkId,\n publicKey,\n _transaction,\n _args2 = arguments;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n for (_len = _args2.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = _args2[_key];\n }\n\n if (!(args[0].constructor === Transaction)) {\n _context2.next = 6;\n break;\n }\n\n transaction = args[0], signer = args[1], accountId = args[2], networkId = args[3];\n return _context2.abrupt(\"return\", signTransactionObject(transaction, signer, accountId, networkId));\n\n case 6:\n receiverId = args[0], nonce = args[1], actions = args[2], blockHash = args[3], _signer = args[4], _accountId = args[5], _networkId = args[6];\n _context2.next = 9;\n return _signer.getPublicKey(_accountId, _networkId);\n\n case 9:\n publicKey = _context2.sent;\n _transaction = createTransaction(_accountId, publicKey, receiverId, nonce, actions, blockHash);\n return _context2.abrupt(\"return\", signTransactionObject(_transaction, _signer, _accountId, _networkId));\n\n case 12:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _signTransaction.apply(this, arguments);\n}\n\nexports.signTransaction = signTransaction;","\"use strict\";\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Assignable = exports.Enum = void 0;\n/** @hidden @module */\n\nvar Enum = /*#__PURE__*/_createClass(function Enum(properties) {\n var _this = this;\n\n _classCallCheck(this, Enum);\n\n if (Object.keys(properties).length !== 1) {\n throw new Error('Enum can only take single value');\n }\n\n Object.keys(properties).map(function (key) {\n _this[key] = properties[key];\n _this.enum = key;\n });\n});\n\nexports.Enum = Enum;\n\nvar Assignable = /*#__PURE__*/_createClass(function Assignable(properties) {\n var _this2 = this;\n\n _classCallCheck(this, Assignable);\n\n Object.keys(properties).map(function (key) {\n _this2[key] = properties[key];\n });\n});\n\nexports.Assignable = Assignable;","\"use strict\";\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nvar _wrapNativeSuper = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/wrapNativeSuper.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.logWarning = exports.ErrorContext = exports.TypedError = exports.ArgumentTypeError = exports.PositionalArgsError = void 0;\n\nvar PositionalArgsError = /*#__PURE__*/function (_Error) {\n _inherits(PositionalArgsError, _Error);\n\n var _super = _createSuper(PositionalArgsError);\n\n function PositionalArgsError() {\n _classCallCheck(this, PositionalArgsError);\n\n return _super.call(this, 'Contract method calls expect named arguments wrapped in object, e.g. { argName1: argValue1, argName2: argValue2 }');\n }\n\n return _createClass(PositionalArgsError);\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nexports.PositionalArgsError = PositionalArgsError;\n\nvar ArgumentTypeError = /*#__PURE__*/function (_Error2) {\n _inherits(ArgumentTypeError, _Error2);\n\n var _super2 = _createSuper(ArgumentTypeError);\n\n function ArgumentTypeError(argName, argType, argValue) {\n _classCallCheck(this, ArgumentTypeError);\n\n return _super2.call(this, \"Expected \".concat(argType, \" for '\").concat(argName, \"' argument, but got '\").concat(JSON.stringify(argValue), \"'\"));\n }\n\n return _createClass(ArgumentTypeError);\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nexports.ArgumentTypeError = ArgumentTypeError;\n\nvar TypedError = /*#__PURE__*/function (_Error3) {\n _inherits(TypedError, _Error3);\n\n var _super3 = _createSuper(TypedError);\n\n function TypedError(message, type, context) {\n var _this;\n\n _classCallCheck(this, TypedError);\n\n _this = _super3.call(this, message);\n _this.type = type || 'UntypedError';\n _this.context = context;\n return _this;\n }\n\n return _createClass(TypedError);\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nexports.TypedError = TypedError;\n\nvar ErrorContext = /*#__PURE__*/_createClass(function ErrorContext(transactionHash) {\n _classCallCheck(this, ErrorContext);\n\n this.transactionHash = transactionHash;\n});\n\nexports.ErrorContext = ErrorContext;\n\nfunction logWarning() {\n if (!process.env['NEAR_NO_LOGS']) {\n var _console;\n\n (_console = console).warn.apply(_console, arguments);\n }\n}\n\nexports.logWarning = logWarning;","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction exponentialBackoff(_x, _x2, _x3, _x4) {\n return _exponentialBackoff.apply(this, arguments);\n}\n\nfunction _exponentialBackoff() {\n _exponentialBackoff = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(startWaitTime, retryNumber, waitBackoff, getResult) {\n var waitTime, i, result;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n // TODO: jitter?\n waitTime = startWaitTime;\n i = 0;\n\n case 2:\n if (!(i < retryNumber)) {\n _context.next = 14;\n break;\n }\n\n _context.next = 5;\n return getResult();\n\n case 5:\n result = _context.sent;\n\n if (!result) {\n _context.next = 8;\n break;\n }\n\n return _context.abrupt(\"return\", result);\n\n case 8:\n _context.next = 10;\n return sleep(waitTime);\n\n case 10:\n waitTime *= waitBackoff;\n\n case 11:\n i++;\n _context.next = 2;\n break;\n\n case 14:\n return _context.abrupt(\"return\", null);\n\n case 15:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _exponentialBackoff.apply(this, arguments);\n}\n\nexports.default = exponentialBackoff; // Sleep given number of millis.\n\nfunction sleep(millis) {\n return new Promise(function (resolve) {\n return setTimeout(resolve, millis);\n });\n}","\"use strict\";\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.parseNearAmount = exports.formatNearAmount = exports.NEAR_NOMINATION = exports.NEAR_NOMINATION_EXP = void 0;\n\nvar bn_js_1 = __importDefault(require(\"bn.js\"));\n/**\n * Exponent for calculating how many indivisible units are there in one NEAR. See {@link NEAR_NOMINATION}.\n */\n\n\nexports.NEAR_NOMINATION_EXP = 24;\n/**\n * Number of indivisible units in one NEAR. Derived from {@link NEAR_NOMINATION_EXP}.\n */\n\nexports.NEAR_NOMINATION = new bn_js_1.default('10', 10).pow(new bn_js_1.default(exports.NEAR_NOMINATION_EXP, 10)); // Pre-calculate offests used for rounding to different number of digits\n\nvar ROUNDING_OFFSETS = [];\nvar BN10 = new bn_js_1.default(10);\n\nfor (var i = 0, offset = new bn_js_1.default(5); i < exports.NEAR_NOMINATION_EXP; i++, offset = offset.mul(BN10)) {\n ROUNDING_OFFSETS[i] = offset;\n}\n/**\n * Convert account balance value from internal indivisible units to NEAR. 1 NEAR is defined by {@link NEAR_NOMINATION}.\n * Effectively this divides given amount by {@link NEAR_NOMINATION}.\n *\n * @param balance decimal string representing balance in smallest non-divisible NEAR units (as specified by {@link NEAR_NOMINATION})\n * @param fracDigits number of fractional digits to preserve in formatted string. Balance is rounded to match given number of digits.\n * @returns Value in Ⓝ\n */\n\n\nfunction formatNearAmount(balance) {\n var fracDigits = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : exports.NEAR_NOMINATION_EXP;\n var balanceBN = new bn_js_1.default(balance, 10);\n\n if (fracDigits !== exports.NEAR_NOMINATION_EXP) {\n // Adjust balance for rounding at given number of digits\n var roundingExp = exports.NEAR_NOMINATION_EXP - fracDigits - 1;\n\n if (roundingExp > 0) {\n balanceBN.iadd(ROUNDING_OFFSETS[roundingExp]);\n }\n }\n\n balance = balanceBN.toString();\n var wholeStr = balance.substring(0, balance.length - exports.NEAR_NOMINATION_EXP) || '0';\n var fractionStr = balance.substring(balance.length - exports.NEAR_NOMINATION_EXP).padStart(exports.NEAR_NOMINATION_EXP, '0').substring(0, fracDigits);\n return trimTrailingZeroes(\"\".concat(formatWithCommas(wholeStr), \".\").concat(fractionStr));\n}\n\nexports.formatNearAmount = formatNearAmount;\n/**\n * Convert human readable NEAR amount to internal indivisible units.\n * Effectively this multiplies given amount by {@link NEAR_NOMINATION}.\n *\n * @param amt decimal string (potentially fractional) denominated in NEAR.\n * @returns The parsed yoctoⓃ amount or null if no amount was passed in\n */\n\nfunction parseNearAmount(amt) {\n if (!amt) {\n return null;\n }\n\n amt = cleanupAmount(amt);\n var split = amt.split('.');\n var wholePart = split[0];\n var fracPart = split[1] || '';\n\n if (split.length > 2 || fracPart.length > exports.NEAR_NOMINATION_EXP) {\n throw new Error(\"Cannot parse '\".concat(amt, \"' as NEAR amount\"));\n }\n\n return trimLeadingZeroes(wholePart + fracPart.padEnd(exports.NEAR_NOMINATION_EXP, '0'));\n}\n\nexports.parseNearAmount = parseNearAmount;\n/**\n * Removes commas from the input\n * @param amount A value or amount that may contain commas\n * @returns string The cleaned value\n */\n\nfunction cleanupAmount(amount) {\n return amount.replace(/,/g, '').trim();\n}\n/**\n * Removes .000… from an input\n * @param value A value that may contain trailing zeroes in the decimals place\n * @returns string The value without the trailing zeros\n */\n\n\nfunction trimTrailingZeroes(value) {\n return value.replace(/\\.?0*$/, '');\n}\n/**\n * Removes leading zeroes from an input\n * @param value A value that may contain leading zeroes\n * @returns string The value without the leading zeroes\n */\n\n\nfunction trimLeadingZeroes(value) {\n value = value.replace(/^0+/, '');\n\n if (value === '') {\n return '0';\n }\n\n return value;\n}\n/**\n * Returns a human-readable value with commas\n * @param value A value that may not contain commas\n * @returns string A value with commas\n */\n\n\nfunction formatWithCommas(value) {\n var pattern = /(-?\\d+)(\\d{3})/;\n\n while (pattern.test(value)) {\n value = value.replace(pattern, '$1,$2');\n }\n\n return value;\n}","\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n});\n\nvar __importStar = this && this.__importStar || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) {\n if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n }\n\n __setModuleDefault(result, mod);\n\n return result;\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.logWarning = exports.rpc_errors = exports.KeyPairEd25519 = exports.KeyPair = exports.PublicKey = exports.format = exports.enums = exports.web = exports.serialize = exports.key_pair = void 0;\n\nvar key_pair = __importStar(require(\"./key_pair\"));\n\nexports.key_pair = key_pair;\n\nvar serialize = __importStar(require(\"./serialize\"));\n\nexports.serialize = serialize;\n\nvar web = __importStar(require(\"./web\"));\n\nexports.web = web;\n\nvar enums = __importStar(require(\"./enums\"));\n\nexports.enums = enums;\n\nvar format = __importStar(require(\"./format\"));\n\nexports.format = format;\n\nvar rpc_errors = __importStar(require(\"./rpc_errors\"));\n\nexports.rpc_errors = rpc_errors;\n\nvar key_pair_1 = require(\"./key_pair\");\n\nObject.defineProperty(exports, \"PublicKey\", {\n enumerable: true,\n get: function get() {\n return key_pair_1.PublicKey;\n }\n});\nObject.defineProperty(exports, \"KeyPair\", {\n enumerable: true,\n get: function get() {\n return key_pair_1.KeyPair;\n }\n});\nObject.defineProperty(exports, \"KeyPairEd25519\", {\n enumerable: true,\n get: function get() {\n return key_pair_1.KeyPairEd25519;\n }\n});\n\nvar errors_1 = require(\"./errors\");\n\nObject.defineProperty(exports, \"logWarning\", {\n enumerable: true,\n get: function get() {\n return errors_1.logWarning;\n }\n});","\"use strict\";\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.KeyPairEd25519 = exports.KeyPair = exports.PublicKey = exports.KeyType = void 0;\n\nvar tweetnacl_1 = __importDefault(require(\"tweetnacl\"));\n\nvar serialize_1 = require(\"./serialize\");\n\nvar enums_1 = require(\"./enums\");\n/** All supported key types */\n\n\nvar KeyType;\n\n(function (KeyType) {\n KeyType[KeyType[\"ED25519\"] = 0] = \"ED25519\";\n})(KeyType = exports.KeyType || (exports.KeyType = {}));\n\nfunction key_type_to_str(keyType) {\n switch (keyType) {\n case KeyType.ED25519:\n return 'ed25519';\n\n default:\n throw new Error(\"Unknown key type \".concat(keyType));\n }\n}\n\nfunction str_to_key_type(keyType) {\n switch (keyType.toLowerCase()) {\n case 'ed25519':\n return KeyType.ED25519;\n\n default:\n throw new Error(\"Unknown key type \".concat(keyType));\n }\n}\n/**\n * PublicKey representation that has type and bytes of the key.\n */\n\n\nvar PublicKey = /*#__PURE__*/function (_enums_1$Assignable) {\n _inherits(PublicKey, _enums_1$Assignable);\n\n var _super = _createSuper(PublicKey);\n\n function PublicKey() {\n _classCallCheck(this, PublicKey);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PublicKey, [{\n key: \"toString\",\n value: function toString() {\n return \"\".concat(key_type_to_str(this.keyType), \":\").concat(serialize_1.base_encode(this.data));\n }\n }, {\n key: \"verify\",\n value: function verify(message, signature) {\n switch (this.keyType) {\n case KeyType.ED25519:\n return tweetnacl_1.default.sign.detached.verify(message, signature, this.data);\n\n default:\n throw new Error(\"Unknown key type \".concat(this.keyType));\n }\n }\n }], [{\n key: \"from\",\n value: function from(value) {\n if (typeof value === 'string') {\n return PublicKey.fromString(value);\n }\n\n return value;\n }\n }, {\n key: \"fromString\",\n value: function fromString(encodedKey) {\n var parts = encodedKey.split(':');\n\n if (parts.length === 1) {\n return new PublicKey({\n keyType: KeyType.ED25519,\n data: serialize_1.base_decode(parts[0])\n });\n } else if (parts.length === 2) {\n return new PublicKey({\n keyType: str_to_key_type(parts[0]),\n data: serialize_1.base_decode(parts[1])\n });\n } else {\n throw new Error('Invalid encoded key format, must be :');\n }\n }\n }]);\n\n return PublicKey;\n}(enums_1.Assignable);\n\nexports.PublicKey = PublicKey;\n\nvar KeyPair = /*#__PURE__*/function () {\n function KeyPair() {\n _classCallCheck(this, KeyPair);\n }\n\n _createClass(KeyPair, null, [{\n key: \"fromRandom\",\n value:\n /**\n * @param curve Name of elliptical curve, case-insensitive\n * @returns Random KeyPair based on the curve\n */\n function fromRandom(curve) {\n switch (curve.toUpperCase()) {\n case 'ED25519':\n return KeyPairEd25519.fromRandom();\n\n default:\n throw new Error(\"Unknown curve \".concat(curve));\n }\n }\n }, {\n key: \"fromString\",\n value: function fromString(encodedKey) {\n var parts = encodedKey.split(':');\n\n if (parts.length === 1) {\n return new KeyPairEd25519(parts[0]);\n } else if (parts.length === 2) {\n switch (parts[0].toUpperCase()) {\n case 'ED25519':\n return new KeyPairEd25519(parts[1]);\n\n default:\n throw new Error(\"Unknown curve: \".concat(parts[0]));\n }\n } else {\n throw new Error('Invalid encoded key format, must be :');\n }\n }\n }]);\n\n return KeyPair;\n}();\n\nexports.KeyPair = KeyPair;\n/**\n * This class provides key pair functionality for Ed25519 curve:\n * generating key pairs, encoding key pairs, signing and verifying.\n */\n\nvar KeyPairEd25519 = /*#__PURE__*/function (_KeyPair) {\n _inherits(KeyPairEd25519, _KeyPair);\n\n var _super2 = _createSuper(KeyPairEd25519);\n\n /**\n * Construct an instance of key pair given a secret key.\n * It's generally assumed that these are encoded in base58.\n * @param {string} secretKey\n */\n function KeyPairEd25519(secretKey) {\n var _this;\n\n _classCallCheck(this, KeyPairEd25519);\n\n _this = _super2.call(this);\n var keyPair = tweetnacl_1.default.sign.keyPair.fromSecretKey(serialize_1.base_decode(secretKey));\n _this.publicKey = new PublicKey({\n keyType: KeyType.ED25519,\n data: keyPair.publicKey\n });\n _this.secretKey = secretKey;\n return _this;\n }\n /**\n * Generate a new random keypair.\n * @example\n * const keyRandom = KeyPair.fromRandom();\n * keyRandom.publicKey\n * // returns [PUBLIC_KEY]\n *\n * keyRandom.secretKey\n * // returns [SECRET_KEY]\n */\n\n\n _createClass(KeyPairEd25519, [{\n key: \"sign\",\n value: function sign(message) {\n var signature = tweetnacl_1.default.sign.detached(message, serialize_1.base_decode(this.secretKey));\n return {\n signature: signature,\n publicKey: this.publicKey\n };\n }\n }, {\n key: \"verify\",\n value: function verify(message, signature) {\n return this.publicKey.verify(message, signature);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return \"ed25519:\".concat(this.secretKey);\n }\n }, {\n key: \"getPublicKey\",\n value: function getPublicKey() {\n return this.publicKey;\n }\n }], [{\n key: \"fromRandom\",\n value: function fromRandom() {\n var newKeyPair = tweetnacl_1.default.sign.keyPair();\n return new KeyPairEd25519(serialize_1.base_encode(newKeyPair.secretKey));\n }\n }]);\n\n return KeyPairEd25519;\n}(KeyPair);\n\nexports.KeyPairEd25519 = KeyPairEd25519;","\"use strict\";\n\nvar _defineProperty = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/defineProperty.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getErrorTypeFromErrorMessage = exports.formatError = exports.parseResultError = exports.parseRpcError = exports.ServerError = void 0;\n\nvar mustache_1 = __importDefault(require(\"mustache\"));\n\nvar rpc_error_schema_json_1 = __importDefault(require(\"../generated/rpc_error_schema.json\"));\n\nvar error_messages_json_1 = __importDefault(require(\"../res/error_messages.json\"));\n\nvar common_index_1 = require(\"../common-index\");\n\nvar errors_1 = require(\"../utils/errors\");\n\nvar mustacheHelpers = {\n formatNear: function formatNear() {\n return function (n, render) {\n return common_index_1.utils.format.formatNearAmount(render(n));\n };\n }\n};\n\nvar ServerError = /*#__PURE__*/function (_errors_1$TypedError) {\n _inherits(ServerError, _errors_1$TypedError);\n\n var _super = _createSuper(ServerError);\n\n function ServerError() {\n _classCallCheck(this, ServerError);\n\n return _super.apply(this, arguments);\n }\n\n return _createClass(ServerError);\n}(errors_1.TypedError);\n\nexports.ServerError = ServerError;\n\nvar ServerTransactionError = /*#__PURE__*/function (_ServerError) {\n _inherits(ServerTransactionError, _ServerError);\n\n var _super2 = _createSuper(ServerTransactionError);\n\n function ServerTransactionError() {\n _classCallCheck(this, ServerTransactionError);\n\n return _super2.apply(this, arguments);\n }\n\n return _createClass(ServerTransactionError);\n}(ServerError);\n\nfunction parseRpcError(errorObj) {\n var result = {};\n var errorClassName = walkSubtype(errorObj, rpc_error_schema_json_1.default.schema, result, ''); // NOTE: This assumes that all errors extend TypedError\n\n var error = new ServerError(formatError(errorClassName, result), errorClassName);\n Object.assign(error, result);\n return error;\n}\n\nexports.parseRpcError = parseRpcError;\n\nfunction parseResultError(result) {\n var server_error = parseRpcError(result.status.Failure);\n var server_tx_error = new ServerTransactionError();\n Object.assign(server_tx_error, server_error);\n server_tx_error.type = server_error.type;\n server_tx_error.message = server_error.message;\n server_tx_error.transaction_outcome = result.transaction_outcome;\n return server_tx_error;\n}\n\nexports.parseResultError = parseResultError;\n\nfunction formatError(errorClassName, errorData) {\n if (typeof error_messages_json_1.default[errorClassName] === 'string') {\n return mustache_1.default.render(error_messages_json_1.default[errorClassName], _objectSpread(_objectSpread({}, errorData), mustacheHelpers));\n }\n\n return JSON.stringify(errorData);\n}\n\nexports.formatError = formatError;\n/**\n * Walks through defined schema returning error(s) recursively\n * @param errorObj The error to be parsed\n * @param schema A defined schema in JSON mapping to the RPC errors\n * @param result An object used in recursion or called directly\n * @param typeName The human-readable error type name as defined in the JSON mapping\n */\n\nfunction walkSubtype(errorObj, schema, result, typeName) {\n var error;\n var type;\n var errorTypeName;\n\n for (var errorName in schema) {\n if (isString(errorObj[errorName])) {\n // Return early if error type is in a schema\n return errorObj[errorName];\n }\n\n if (isObject(errorObj[errorName])) {\n error = errorObj[errorName];\n type = schema[errorName];\n errorTypeName = errorName;\n } else if (isObject(errorObj.kind) && isObject(errorObj.kind[errorName])) {\n error = errorObj.kind[errorName];\n type = schema[errorName];\n errorTypeName = errorName;\n } else {\n continue;\n }\n }\n\n if (error && type) {\n for (var _i = 0, _Object$keys = Object.keys(type.props); _i < _Object$keys.length; _i++) {\n var prop = _Object$keys[_i];\n result[prop] = error[prop];\n }\n\n return walkSubtype(error, schema, result, errorTypeName);\n } else {\n // TODO: is this the right thing to do?\n result.kind = errorObj;\n return typeName;\n }\n}\n\nfunction getErrorTypeFromErrorMessage(errorMessage) {\n // This function should be removed when JSON RPC starts returning typed errors.\n switch (true) {\n case /^account .*? does not exist while viewing$/.test(errorMessage):\n return 'AccountDoesNotExist';\n\n case /^Account .*? doesn't exist$/.test(errorMessage):\n return 'AccountDoesNotExist';\n\n case /^access key .*? does not exist while viewing$/.test(errorMessage):\n return 'AccessKeyDoesNotExist';\n\n case /wasm execution failed with error: FunctionCallError\\(CompilationError\\(CodeDoesNotExist/.test(errorMessage):\n return 'CodeDoesNotExist';\n\n case /Transaction nonce \\d+ must be larger than nonce of the used access key \\d+/.test(errorMessage):\n return 'InvalidNonce';\n\n default:\n return 'UntypedError';\n }\n}\n\nexports.getErrorTypeFromErrorMessage = getErrorTypeFromErrorMessage;\n/**\n * Helper function determining if the argument is an object\n * @param n Value to check\n */\n\nfunction isObject(n) {\n return Object.prototype.toString.call(n) === '[object Object]';\n}\n/**\n * Helper function determining if the argument is a string\n * @param n Value to check\n */\n\n\nfunction isString(n) {\n return Object.prototype.toString.call(n) === '[object String]';\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar borsh_1 = require(\"borsh\");\n\nObject.defineProperty(exports, \"base_encode\", {\n enumerable: true,\n get: function get() {\n return borsh_1.baseEncode;\n }\n});\nObject.defineProperty(exports, \"base_decode\", {\n enumerable: true,\n get: function get() {\n return borsh_1.baseDecode;\n }\n});\nObject.defineProperty(exports, \"serialize\", {\n enumerable: true,\n get: function get() {\n return borsh_1.serialize;\n }\n});\nObject.defineProperty(exports, \"deserialize\", {\n enumerable: true,\n get: function get() {\n return borsh_1.deserialize;\n }\n});\nObject.defineProperty(exports, \"BorshError\", {\n enumerable: true,\n get: function get() {\n return borsh_1.BorshError;\n }\n});\nObject.defineProperty(exports, \"BinaryWriter\", {\n enumerable: true,\n get: function get() {\n return borsh_1.BinaryWriter;\n }\n});\nObject.defineProperty(exports, \"BinaryReader\", {\n enumerable: true,\n get: function get() {\n return borsh_1.BinaryReader;\n }\n});","\"use strict\";\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _defineProperty = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/defineProperty.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.fetchJson = void 0;\n\nvar http_errors_1 = __importDefault(require(\"http-errors\"));\n\nvar exponential_backoff_1 = __importDefault(require(\"./exponential-backoff\"));\n\nvar providers_1 = require(\"../providers\");\n\nvar errors_1 = require(\"./errors\");\n\nvar START_WAIT_TIME_MS = 1000;\nvar BACKOFF_MULTIPLIER = 1.5;\nvar RETRY_NUMBER = 10;\n\nfunction fetchJson(_x, _x2) {\n return _fetchJson.apply(this, arguments);\n}\n\nfunction _fetchJson() {\n _fetchJson = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(connectionInfoOrUrl, json) {\n var connectionInfo, response;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n connectionInfo = {\n url: null\n };\n\n if (typeof connectionInfoOrUrl === 'string') {\n connectionInfo.url = connectionInfoOrUrl;\n } else {\n connectionInfo = connectionInfoOrUrl;\n }\n\n _context2.next = 4;\n return exponential_backoff_1.default(START_WAIT_TIME_MS, RETRY_NUMBER, BACKOFF_MULTIPLIER, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var _response;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return fetch(connectionInfo.url, {\n method: json ? 'POST' : 'GET',\n body: json ? json : undefined,\n headers: _objectSpread(_objectSpread({}, connectionInfo.headers), {}, {\n 'Content-Type': 'application/json'\n })\n });\n\n case 3:\n _response = _context.sent;\n\n if (_response.ok) {\n _context.next = 14;\n break;\n }\n\n if (!(_response.status === 503)) {\n _context.next = 8;\n break;\n }\n\n errors_1.logWarning(\"Retrying HTTP request for \".concat(connectionInfo.url, \" as it's not available now\"));\n return _context.abrupt(\"return\", null);\n\n case 8:\n _context.t0 = http_errors_1;\n _context.t1 = _response.status;\n _context.next = 12;\n return _response.text();\n\n case 12:\n _context.t2 = _context.sent;\n throw _context.t0.default.call(_context.t0, _context.t1, _context.t2);\n\n case 14:\n return _context.abrupt(\"return\", _response);\n\n case 17:\n _context.prev = 17;\n _context.t3 = _context[\"catch\"](0);\n\n if (!(_context.t3.toString().includes('FetchError') || _context.t3.toString().includes('Failed to fetch'))) {\n _context.next = 22;\n break;\n }\n\n errors_1.logWarning(\"Retrying HTTP request for \".concat(connectionInfo.url, \" because of error: \").concat(_context.t3));\n return _context.abrupt(\"return\", null);\n\n case 22:\n throw _context.t3;\n\n case 23:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 17]]);\n })));\n\n case 4:\n response = _context2.sent;\n\n if (response) {\n _context2.next = 7;\n break;\n }\n\n throw new providers_1.TypedError(\"Exceeded \".concat(RETRY_NUMBER, \" attempts for \").concat(connectionInfo.url, \".\"), 'RetriesExceeded');\n\n case 7:\n _context2.next = 9;\n return response.json();\n\n case 9:\n return _context2.abrupt(\"return\", _context2.sent);\n\n case 10:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _fetchJson.apply(this, arguments);\n}\n\nexports.fetchJson = fetchJson;","'use strict';\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.diffEpochValidators = exports.findSeatPrice = void 0;\n\nvar bn_js_1 = __importDefault(require(\"bn.js\"));\n\nvar depd_1 = __importDefault(require(\"depd\"));\n/** Finds seat price given validators stakes and number of seats.\n * Calculation follow the spec: https://nomicon.io/Economics/README.html#validator-selection\n * @params validators: current or next epoch validators.\n * @params maxNumberOfSeats: maximum number of seats in the network.\n * @params minimumStakeRatio: minimum stake ratio\n * @params protocolVersion: version of the protocol from genesis config\n */\n\n\nfunction findSeatPrice(validators, maxNumberOfSeats, minimumStakeRatio, protocolVersion) {\n if (protocolVersion && protocolVersion < 49) {\n return findSeatPriceForProtocolBefore49(validators, maxNumberOfSeats);\n }\n\n if (!minimumStakeRatio) {\n var deprecate = depd_1.default('findSeatPrice(validators, maxNumberOfSeats)');\n deprecate('`use `findSeatPrice(validators, maxNumberOfSeats, minimumStakeRatio)` instead');\n minimumStakeRatio = [1, 6250]; // harcoded minimumStakeRation from 12/7/21\n }\n\n return findSeatPriceForProtocolAfter49(validators, maxNumberOfSeats, minimumStakeRatio);\n}\n\nexports.findSeatPrice = findSeatPrice;\n\nfunction findSeatPriceForProtocolBefore49(validators, numSeats) {\n var stakes = validators.map(function (v) {\n return new bn_js_1.default(v.stake, 10);\n }).sort(function (a, b) {\n return a.cmp(b);\n });\n var num = new bn_js_1.default(numSeats);\n var stakesSum = stakes.reduce(function (a, b) {\n return a.add(b);\n });\n\n if (stakesSum.lt(num)) {\n throw new Error('Stakes are below seats');\n } // assert stakesSum >= numSeats\n\n\n var left = new bn_js_1.default(1),\n right = stakesSum.add(new bn_js_1.default(1));\n\n while (!left.eq(right.sub(new bn_js_1.default(1)))) {\n var mid = left.add(right).div(new bn_js_1.default(2));\n var found = false;\n var currentSum = new bn_js_1.default(0);\n\n for (var i = 0; i < stakes.length; ++i) {\n currentSum = currentSum.add(stakes[i].div(mid));\n\n if (currentSum.gte(num)) {\n left = mid;\n found = true;\n break;\n }\n }\n\n if (!found) {\n right = mid;\n }\n }\n\n return left;\n} // nearcore reference: https://github.com/near/nearcore/blob/5a8ae263ec07930cd34d0dcf5bcee250c67c02aa/chain/epoch_manager/src/validator_selection.rs#L308;L315\n\n\nfunction findSeatPriceForProtocolAfter49(validators, maxNumberOfSeats, minimumStakeRatio) {\n if (minimumStakeRatio.length != 2) {\n throw Error('minimumStakeRatio should have 2 elements');\n }\n\n var stakes = validators.map(function (v) {\n return new bn_js_1.default(v.stake, 10);\n }).sort(function (a, b) {\n return a.cmp(b);\n });\n var stakesSum = stakes.reduce(function (a, b) {\n return a.add(b);\n });\n\n if (validators.length < maxNumberOfSeats) {\n return stakesSum.mul(new bn_js_1.default(minimumStakeRatio[0])).div(new bn_js_1.default(minimumStakeRatio[1]));\n } else {\n return stakes[0].add(new bn_js_1.default(1));\n }\n}\n/** Diff validators between current and next epoch.\n * Returns additions, subtractions and changes to validator set.\n * @params currentValidators: list of current validators.\n * @params nextValidators: list of next validators.\n */\n\n\nfunction diffEpochValidators(currentValidators, nextValidators) {\n var validatorsMap = new Map();\n currentValidators.forEach(function (v) {\n return validatorsMap.set(v.account_id, v);\n });\n var nextValidatorsSet = new Set(nextValidators.map(function (v) {\n return v.account_id;\n }));\n return {\n newValidators: nextValidators.filter(function (v) {\n return !validatorsMap.has(v.account_id);\n }),\n removedValidators: currentValidators.filter(function (v) {\n return !nextValidatorsSet.has(v.account_id);\n }),\n changedValidators: nextValidators.filter(function (v) {\n return validatorsMap.has(v.account_id) && validatorsMap.get(v.account_id).stake != v.stake;\n }).map(function (v) {\n return {\n current: validatorsMap.get(v.account_id),\n next: v\n };\n })\n };\n}\n\nexports.diffEpochValidators = diffEpochValidators;","\"use strict\";\n\nvar _slicedToArray = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/slicedToArray.js\");\n\nvar _get = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/get.js\");\n\nvar _inherits = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nvar _regeneratorRuntime = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _classCallCheck = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/createClass.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ConnectedWalletAccount = exports.WalletAccount = exports.WalletConnection = void 0;\n/**\n * The classes in this module are used in conjunction with the {@link BrowserLocalStorageKeyStore}. This module exposes two classes:\n * * {@link WalletConnection} which redirects users to {@link https://docs.near.org/docs/tools/near-wallet | NEAR Wallet} for key management.\n * * {@link ConnectedWalletAccount} is an {@link Account} implementation that uses {@link WalletConnection} to get keys\n *\n * @module walletAccount\n */\n\nvar depd_1 = __importDefault(require(\"depd\"));\n\nvar account_1 = require(\"./account\");\n\nvar transaction_1 = require(\"./transaction\");\n\nvar utils_1 = require(\"./utils\");\n\nvar borsh_1 = require(\"borsh\");\n\nvar borsh_2 = require(\"borsh\");\n\nvar LOGIN_WALLET_URL_SUFFIX = '/login/';\nvar MULTISIG_HAS_METHOD = 'add_request_and_confirm';\nvar LOCAL_STORAGE_KEY_SUFFIX = '_wallet_auth_key';\nvar PENDING_ACCESS_KEY_PREFIX = 'pending_key'; // browser storage key for a pending access key (i.e. key has been generated but we are not sure it was added yet)\n\n/**\n * This class is used in conjunction with the {@link BrowserLocalStorageKeyStore}.\n * It redirects users to {@link https://docs.near.org/docs/tools/near-wallet | NEAR Wallet} for key management.\n *\n * @example {@link https://docs.near.org/docs/develop/front-end/naj-quick-reference#wallet}\n * @example\n * ```js\n * // create new WalletConnection instance\n * const wallet = new WalletConnection(near, 'my-app');\n *\n * // If not signed in redirect to the NEAR wallet to sign in\n * // keys will be stored in the BrowserLocalStorageKeyStore\n * if(!wallet.isSingnedIn()) return wallet.requestSignIn()\n * ```\n */\n\nvar WalletConnection = /*#__PURE__*/function () {\n function WalletConnection(near, appKeyPrefix) {\n _classCallCheck(this, WalletConnection);\n\n var isBrowser = typeof window !== 'undefined';\n this._near = near;\n var authDataKey = appKeyPrefix + LOCAL_STORAGE_KEY_SUFFIX;\n var authData = isBrowser && JSON.parse(window.localStorage.getItem(authDataKey));\n this._networkId = near.config.networkId;\n this._walletBaseUrl = near.config.walletUrl;\n appKeyPrefix = appKeyPrefix || near.config.contractName || 'default';\n this._keyStore = near.connection.signer.keyStore;\n this._authData = authData || {\n allKeys: []\n };\n this._authDataKey = authDataKey;\n\n if (isBrowser && !this.isSignedIn()) {\n this._completeSignInWithAccessKey();\n }\n }\n /**\n * Returns true, if this WalletAccount is authorized with the wallet.\n * @example\n * ```js\n * const wallet = new WalletConnection(near, 'my-app');\n * wallet.isSignedIn();\n * ```\n */\n\n\n _createClass(WalletConnection, [{\n key: \"isSignedIn\",\n value: function isSignedIn() {\n return !!this._authData.accountId;\n }\n /**\n * Returns authorized Account ID.\n * @example\n * ```js\n * const wallet = new WalletConnection(near, 'my-app');\n * wallet.getAccountId();\n * ```\n */\n\n }, {\n key: \"getAccountId\",\n value: function getAccountId() {\n return this._authData.accountId || '';\n }\n /**\n * Redirects current page to the wallet authentication page.\n * @param options An optional options object\n * @param options.contractId The NEAR account where the contract is deployed\n * @param options.successUrl URL to redirect upon success. Default: current url\n * @param options.failureUrl URL to redirect upon failure. Default: current url\n *\n * @example\n * ```js\n * const wallet = new WalletConnection(near, 'my-app');\n * // redirects to the NEAR Wallet\n * wallet.requestSignIn({ contractId: 'account-with-deploy-contract.near' });\n * ```\n */\n\n }, {\n key: \"requestSignIn\",\n value: function () {\n var _requestSignIn = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var contractIdOrOptions,\n title,\n successUrl,\n failureUrl,\n options,\n deprecate,\n currentUrl,\n newUrl,\n contractAccount,\n accessKey,\n _args = arguments;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n contractIdOrOptions = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};\n title = _args.length > 1 ? _args[1] : undefined;\n successUrl = _args.length > 2 ? _args[2] : undefined;\n failureUrl = _args.length > 3 ? _args[3] : undefined;\n\n if (typeof contractIdOrOptions === 'string') {\n deprecate = depd_1.default('requestSignIn(contractId, title)');\n deprecate('`title` ignored; use `requestSignIn({ contractId, methodNames, successUrl, failureUrl })` instead');\n options = {\n contractId: contractIdOrOptions,\n successUrl: successUrl,\n failureUrl: failureUrl\n };\n } else {\n options = contractIdOrOptions;\n }\n\n currentUrl = new URL(window.location.href);\n newUrl = new URL(this._walletBaseUrl + LOGIN_WALLET_URL_SUFFIX);\n newUrl.searchParams.set('success_url', options.successUrl || currentUrl.href);\n newUrl.searchParams.set('failure_url', options.failureUrl || currentUrl.href);\n\n if (!options.contractId) {\n _context.next = 20;\n break;\n }\n\n _context.next = 12;\n return this._near.account(options.contractId);\n\n case 12:\n contractAccount = _context.sent;\n _context.next = 15;\n return contractAccount.state();\n\n case 15:\n newUrl.searchParams.set('contract_id', options.contractId);\n accessKey = utils_1.KeyPair.fromRandom('ed25519');\n newUrl.searchParams.set('public_key', accessKey.getPublicKey().toString());\n _context.next = 20;\n return this._keyStore.setKey(this._networkId, PENDING_ACCESS_KEY_PREFIX + accessKey.getPublicKey(), accessKey);\n\n case 20:\n if (options.methodNames) {\n options.methodNames.forEach(function (methodName) {\n newUrl.searchParams.append('methodNames', methodName);\n });\n }\n\n window.location.assign(newUrl.toString());\n\n case 22:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function requestSignIn() {\n return _requestSignIn.apply(this, arguments);\n }\n\n return requestSignIn;\n }()\n }, {\n key: \"requestSignTransactions\",\n value: function () {\n var _requestSignTransactions2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var deprecate,\n _args2 = arguments;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!Array.isArray(_args2.length <= 0 ? undefined : _args2[0])) {\n _context2.next = 4;\n break;\n }\n\n deprecate = depd_1.default('WalletConnection.requestSignTransactions(transactions, callbackUrl, meta)');\n deprecate('use `WalletConnection.requestSignTransactions(RequestSignTransactionsOptions)` instead');\n return _context2.abrupt(\"return\", this._requestSignTransactions({\n transactions: _args2.length <= 0 ? undefined : _args2[0],\n callbackUrl: _args2.length <= 1 ? undefined : _args2[1],\n meta: _args2.length <= 2 ? undefined : _args2[2]\n }));\n\n case 4:\n return _context2.abrupt(\"return\", this._requestSignTransactions(_args2.length <= 0 ? undefined : _args2[0]));\n\n case 5:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function requestSignTransactions() {\n return _requestSignTransactions2.apply(this, arguments);\n }\n\n return requestSignTransactions;\n }()\n }, {\n key: \"_requestSignTransactions\",\n value: function () {\n var _requestSignTransactions3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref) {\n var transactions, meta, callbackUrl, currentUrl, newUrl;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n transactions = _ref.transactions, meta = _ref.meta, callbackUrl = _ref.callbackUrl;\n currentUrl = new URL(window.location.href);\n newUrl = new URL('sign', this._walletBaseUrl);\n newUrl.searchParams.set('transactions', transactions.map(function (transaction) {\n return borsh_2.serialize(transaction_1.SCHEMA, transaction);\n }).map(function (serialized) {\n return Buffer.from(serialized).toString('base64');\n }).join(','));\n newUrl.searchParams.set('callbackUrl', callbackUrl || currentUrl.href);\n if (meta) newUrl.searchParams.set('meta', meta);\n window.location.assign(newUrl.toString());\n\n case 7:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function _requestSignTransactions(_x) {\n return _requestSignTransactions3.apply(this, arguments);\n }\n\n return _requestSignTransactions;\n }()\n /**\n * @hidden\n * Complete sign in for a given account id and public key. To be invoked by the app when getting a callback from the wallet.\n */\n\n }, {\n key: \"_completeSignInWithAccessKey\",\n value: function () {\n var _completeSignInWithAccessKey2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {\n var currentUrl, publicKey, allKeys, accountId;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n currentUrl = new URL(window.location.href);\n publicKey = currentUrl.searchParams.get('public_key') || '';\n allKeys = (currentUrl.searchParams.get('all_keys') || '').split(',');\n accountId = currentUrl.searchParams.get('account_id') || ''; // TODO: Handle errors during login\n\n if (!accountId) {\n _context4.next = 10;\n break;\n }\n\n this._authData = {\n accountId: accountId,\n allKeys: allKeys\n };\n window.localStorage.setItem(this._authDataKey, JSON.stringify(this._authData));\n\n if (!publicKey) {\n _context4.next = 10;\n break;\n }\n\n _context4.next = 10;\n return this._moveKeyFromTempToPermanent(accountId, publicKey);\n\n case 10:\n currentUrl.searchParams.delete('public_key');\n currentUrl.searchParams.delete('all_keys');\n currentUrl.searchParams.delete('account_id');\n currentUrl.searchParams.delete('meta');\n currentUrl.searchParams.delete('transactionHashes');\n window.history.replaceState({}, document.title, currentUrl.toString());\n\n case 16:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function _completeSignInWithAccessKey() {\n return _completeSignInWithAccessKey2.apply(this, arguments);\n }\n\n return _completeSignInWithAccessKey;\n }()\n /**\n * @hidden\n * @param accountId The NEAR account owning the given public key\n * @param publicKey The public key being set to the key store\n */\n\n }, {\n key: \"_moveKeyFromTempToPermanent\",\n value: function () {\n var _moveKeyFromTempToPermanent2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(accountId, publicKey) {\n var keyPair;\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return this._keyStore.getKey(this._networkId, PENDING_ACCESS_KEY_PREFIX + publicKey);\n\n case 2:\n keyPair = _context5.sent;\n _context5.next = 5;\n return this._keyStore.setKey(this._networkId, accountId, keyPair);\n\n case 5:\n _context5.next = 7;\n return this._keyStore.removeKey(this._networkId, PENDING_ACCESS_KEY_PREFIX + publicKey);\n\n case 7:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function _moveKeyFromTempToPermanent(_x2, _x3) {\n return _moveKeyFromTempToPermanent2.apply(this, arguments);\n }\n\n return _moveKeyFromTempToPermanent;\n }()\n /**\n * Sign out from the current account\n * @example\n * walletAccount.signOut();\n */\n\n }, {\n key: \"signOut\",\n value: function signOut() {\n this._authData = {};\n window.localStorage.removeItem(this._authDataKey);\n }\n /**\n * Returns the current connected wallet account\n */\n\n }, {\n key: \"account\",\n value: function account() {\n if (!this._connectedAccount) {\n this._connectedAccount = new ConnectedWalletAccount(this, this._near.connection, this._authData.accountId);\n }\n\n return this._connectedAccount;\n }\n }]);\n\n return WalletConnection;\n}();\n\nexports.WalletConnection = WalletConnection;\nexports.WalletAccount = WalletConnection;\n/**\n * {@link Account} implementation which redirects to wallet using {@link WalletConnection} when no local key is available.\n */\n\nvar ConnectedWalletAccount = /*#__PURE__*/function (_account_1$Account) {\n _inherits(ConnectedWalletAccount, _account_1$Account);\n\n var _super = _createSuper(ConnectedWalletAccount);\n\n function ConnectedWalletAccount(walletConnection, connection, accountId) {\n var _this;\n\n _classCallCheck(this, ConnectedWalletAccount);\n\n _this = _super.call(this, connection, accountId);\n _this.walletConnection = walletConnection;\n return _this;\n } // Overriding Account methods\n\n /**\n * Sign a transaction by redirecting to the NEAR Wallet\n * @see {@link WalletConnection.requestSignTransactions}\n */\n\n\n _createClass(ConnectedWalletAccount, [{\n key: \"signAndSendTransaction\",\n value: function signAndSendTransaction() {\n if (typeof (arguments.length <= 0 ? undefined : arguments[0]) === 'string') {\n return this._signAndSendTransaction({\n receiverId: arguments.length <= 0 ? undefined : arguments[0],\n actions: arguments.length <= 1 ? undefined : arguments[1]\n });\n }\n\n return this._signAndSendTransaction(arguments.length <= 0 ? undefined : arguments[0]);\n }\n }, {\n key: \"_signAndSendTransaction\",\n value: function () {\n var _signAndSendTransaction2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(_ref2) {\n var receiverId, actions, walletMeta, _ref2$walletCallbackU, walletCallbackUrl, localKey, accessKey, block, blockHash, publicKey, nonce, transaction;\n\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n receiverId = _ref2.receiverId, actions = _ref2.actions, walletMeta = _ref2.walletMeta, _ref2$walletCallbackU = _ref2.walletCallbackUrl, walletCallbackUrl = _ref2$walletCallbackU === void 0 ? window.location.href : _ref2$walletCallbackU;\n _context6.next = 3;\n return this.connection.signer.getPublicKey(this.accountId, this.connection.networkId);\n\n case 3:\n localKey = _context6.sent;\n _context6.next = 6;\n return this.accessKeyForTransaction(receiverId, actions, localKey);\n\n case 6:\n accessKey = _context6.sent;\n\n if (accessKey) {\n _context6.next = 9;\n break;\n }\n\n throw new Error(\"Cannot find matching key for transaction sent to \".concat(receiverId));\n\n case 9:\n if (!(localKey && localKey.toString() === accessKey.public_key)) {\n _context6.next = 25;\n break;\n }\n\n _context6.prev = 10;\n _context6.next = 13;\n return _get(_getPrototypeOf(ConnectedWalletAccount.prototype), \"signAndSendTransaction\", this).call(this, {\n receiverId: receiverId,\n actions: actions\n });\n\n case 13:\n return _context6.abrupt(\"return\", _context6.sent);\n\n case 16:\n _context6.prev = 16;\n _context6.t0 = _context6[\"catch\"](10);\n\n if (!(_context6.t0.type === 'NotEnoughAllowance')) {\n _context6.next = 24;\n break;\n }\n\n _context6.next = 21;\n return this.accessKeyForTransaction(receiverId, actions);\n\n case 21:\n accessKey = _context6.sent;\n _context6.next = 25;\n break;\n\n case 24:\n throw _context6.t0;\n\n case 25:\n _context6.next = 27;\n return this.connection.provider.block({\n finality: 'final'\n });\n\n case 27:\n block = _context6.sent;\n blockHash = borsh_1.baseDecode(block.header.hash);\n publicKey = utils_1.PublicKey.from(accessKey.public_key); // TODO: Cache & listen for nonce updates for given access key\n\n nonce = accessKey.access_key.nonce + 1;\n transaction = transaction_1.createTransaction(this.accountId, publicKey, receiverId, nonce, actions, blockHash);\n _context6.next = 34;\n return this.walletConnection.requestSignTransactions({\n transactions: [transaction],\n meta: walletMeta,\n callbackUrl: walletCallbackUrl\n });\n\n case 34:\n return _context6.abrupt(\"return\", new Promise(function (resolve, reject) {\n setTimeout(function () {\n reject(new Error('Failed to redirect to sign transaction'));\n }, 1000);\n }));\n\n case 35:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, this, [[10, 16]]);\n }));\n\n function _signAndSendTransaction(_x4) {\n return _signAndSendTransaction2.apply(this, arguments);\n }\n\n return _signAndSendTransaction;\n }()\n /**\n * Check if given access key allows the function call or method attempted in transaction\n * @param accessKey Array of {access_key: AccessKey, public_key: PublicKey} items\n * @param receiverId The NEAR account attempting to have access\n * @param actions The action(s) needed to be checked for access\n */\n\n }, {\n key: \"accessKeyMatchesTransaction\",\n value: function () {\n var _accessKeyMatchesTransaction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7(accessKey, receiverId, actions) {\n var permission, _permission$FunctionC, allowedReceiverId, allowedMethods, _actions, functionCall;\n\n return _regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n permission = accessKey.access_key.permission;\n\n if (!(permission === 'FullAccess')) {\n _context7.next = 3;\n break;\n }\n\n return _context7.abrupt(\"return\", true);\n\n case 3:\n if (!permission.FunctionCall) {\n _context7.next = 12;\n break;\n }\n\n _permission$FunctionC = permission.FunctionCall, allowedReceiverId = _permission$FunctionC.receiver_id, allowedMethods = _permission$FunctionC.method_names;\n /********************************\n Accept multisig access keys and let wallets attempt to signAndSendTransaction\n If an access key has itself as receiverId and method permission add_request_and_confirm, then it is being used in a wallet with multisig contract: https://github.com/near/core-contracts/blob/671c05f09abecabe7a7e58efe942550a35fc3292/multisig/src/lib.rs#L149-L153\n ********************************/\n\n if (!(allowedReceiverId === this.accountId && allowedMethods.includes(MULTISIG_HAS_METHOD))) {\n _context7.next = 7;\n break;\n }\n\n return _context7.abrupt(\"return\", true);\n\n case 7:\n if (!(allowedReceiverId === receiverId)) {\n _context7.next = 12;\n break;\n }\n\n if (!(actions.length !== 1)) {\n _context7.next = 10;\n break;\n }\n\n return _context7.abrupt(\"return\", false);\n\n case 10:\n _actions = _slicedToArray(actions, 1), functionCall = _actions[0].functionCall;\n return _context7.abrupt(\"return\", functionCall && (!functionCall.deposit || functionCall.deposit.toString() === '0') && ( // TODO: Should support charging amount smaller than allowance?\n allowedMethods.length === 0 || allowedMethods.includes(functionCall.methodName)));\n\n case 12:\n return _context7.abrupt(\"return\", false);\n\n case 13:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function accessKeyMatchesTransaction(_x5, _x6, _x7) {\n return _accessKeyMatchesTransaction.apply(this, arguments);\n }\n\n return accessKeyMatchesTransaction;\n }()\n /**\n * Helper function returning the access key (if it exists) to the receiver that grants the designated permission\n * @param receiverId The NEAR account seeking the access key for a transaction\n * @param actions The action(s) sought to gain access to\n * @param localKey A local public key provided to check for access\n * @returns Promise\n */\n\n }, {\n key: \"accessKeyForTransaction\",\n value: function () {\n var _accessKeyForTransaction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8(receiverId, actions, localKey) {\n var accessKeys, accessKey, walletKeys, _iterator, _step, _accessKey;\n\n return _regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n _context8.next = 2;\n return this.getAccessKeys();\n\n case 2:\n accessKeys = _context8.sent;\n\n if (!localKey) {\n _context8.next = 12;\n break;\n }\n\n accessKey = accessKeys.find(function (key) {\n return key.public_key.toString() === localKey.toString();\n });\n _context8.t0 = accessKey;\n\n if (!_context8.t0) {\n _context8.next = 10;\n break;\n }\n\n _context8.next = 9;\n return this.accessKeyMatchesTransaction(accessKey, receiverId, actions);\n\n case 9:\n _context8.t0 = _context8.sent;\n\n case 10:\n if (!_context8.t0) {\n _context8.next = 12;\n break;\n }\n\n return _context8.abrupt(\"return\", accessKey);\n\n case 12:\n walletKeys = this.walletConnection._authData.allKeys;\n _iterator = _createForOfIteratorHelper(accessKeys);\n _context8.prev = 14;\n\n _iterator.s();\n\n case 16:\n if ((_step = _iterator.n()).done) {\n _context8.next = 27;\n break;\n }\n\n _accessKey = _step.value;\n _context8.t1 = walletKeys.indexOf(_accessKey.public_key) !== -1;\n\n if (!_context8.t1) {\n _context8.next = 23;\n break;\n }\n\n _context8.next = 22;\n return this.accessKeyMatchesTransaction(_accessKey, receiverId, actions);\n\n case 22:\n _context8.t1 = _context8.sent;\n\n case 23:\n if (!_context8.t1) {\n _context8.next = 25;\n break;\n }\n\n return _context8.abrupt(\"return\", _accessKey);\n\n case 25:\n _context8.next = 16;\n break;\n\n case 27:\n _context8.next = 32;\n break;\n\n case 29:\n _context8.prev = 29;\n _context8.t2 = _context8[\"catch\"](14);\n\n _iterator.e(_context8.t2);\n\n case 32:\n _context8.prev = 32;\n\n _iterator.f();\n\n return _context8.finish(32);\n\n case 35:\n return _context8.abrupt(\"return\", null);\n\n case 36:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8, this, [[14, 29, 32, 35]]);\n }));\n\n function accessKeyForTransaction(_x8, _x9, _x10) {\n return _accessKeyForTransaction.apply(this, arguments);\n }\n\n return accessKeyForTransaction;\n }()\n }]);\n\n return ConnectedWalletAccount;\n}(account_1.Account);\n\nexports.ConnectedWalletAccount = ConnectedWalletAccount;","/*!\n * depd\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n'use strict';\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = depd;\n/**\n * Create deprecate for namespace in caller.\n */\n\nfunction depd(namespace) {\n if (!namespace) {\n throw new TypeError('argument namespace is required');\n }\n\n function deprecate(message) {// no-op in browser\n }\n\n deprecate._file = undefined;\n deprecate._ignored = true;\n deprecate._namespace = namespace;\n deprecate._traced = false;\n deprecate._warned = Object.create(null);\n deprecate.function = wrapfunction;\n deprecate.property = wrapproperty;\n return deprecate;\n}\n/**\n * Return a wrapped function in a deprecation message.\n *\n * This is a no-op version of the wrapper, which does nothing but call\n * validation.\n */\n\n\nfunction wrapfunction(fn, message) {\n if (typeof fn !== 'function') {\n throw new TypeError('argument fn must be a function');\n }\n\n return fn;\n}\n/**\n * Wrap property in a deprecation message.\n *\n * This is a no-op version of the wrapper, which does nothing but call\n * validation.\n */\n\n\nfunction wrapproperty(obj, prop, message) {\n if (!obj || typeof obj !== 'object' && typeof obj !== 'function') {\n throw new TypeError('argument obj must be object');\n }\n\n var descriptor = Object.getOwnPropertyDescriptor(obj, prop);\n\n if (!descriptor) {\n throw new TypeError('must call property on owner object');\n }\n\n if (!descriptor.configurable) {\n throw new TypeError('property must be configurable');\n }\n}","(function (nacl) {\n 'use strict'; // Ported in 2014 by Dmitry Chestnykh and Devi Mandiri.\n // Public domain.\n //\n // Implementation derived from TweetNaCl version 20140427.\n // See for details: http://tweetnacl.cr.yp.to/\n\n var gf = function gf(init) {\n var i,\n r = new Float64Array(16);\n if (init) for (i = 0; i < init.length; i++) {\n r[i] = init[i];\n }\n return r;\n }; // Pluggable, initialized in high-level API below.\n\n\n var randombytes = function\n /* x, n */\n randombytes() {\n throw new Error('no PRNG');\n };\n\n var _0 = new Uint8Array(16);\n\n var _9 = new Uint8Array(32);\n\n _9[0] = 9;\n\n var gf0 = gf(),\n gf1 = gf([1]),\n _121665 = gf([0xdb41, 1]),\n D = gf([0x78a3, 0x1359, 0x4dca, 0x75eb, 0xd8ab, 0x4141, 0x0a4d, 0x0070, 0xe898, 0x7779, 0x4079, 0x8cc7, 0xfe73, 0x2b6f, 0x6cee, 0x5203]),\n D2 = gf([0xf159, 0x26b2, 0x9b94, 0xebd6, 0xb156, 0x8283, 0x149a, 0x00e0, 0xd130, 0xeef3, 0x80f2, 0x198e, 0xfce7, 0x56df, 0xd9dc, 0x2406]),\n X = gf([0xd51a, 0x8f25, 0x2d60, 0xc956, 0xa7b2, 0x9525, 0xc760, 0x692c, 0xdc5c, 0xfdd6, 0xe231, 0xc0a4, 0x53fe, 0xcd6e, 0x36d3, 0x2169]),\n Y = gf([0x6658, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666]),\n I = gf([0xa0b0, 0x4a0e, 0x1b27, 0xc4ee, 0xe478, 0xad2f, 0x1806, 0x2f43, 0xd7a7, 0x3dfb, 0x0099, 0x2b4d, 0xdf0b, 0x4fc1, 0x2480, 0x2b83]);\n\n function ts64(x, i, h, l) {\n x[i] = h >> 24 & 0xff;\n x[i + 1] = h >> 16 & 0xff;\n x[i + 2] = h >> 8 & 0xff;\n x[i + 3] = h & 0xff;\n x[i + 4] = l >> 24 & 0xff;\n x[i + 5] = l >> 16 & 0xff;\n x[i + 6] = l >> 8 & 0xff;\n x[i + 7] = l & 0xff;\n }\n\n function vn(x, xi, y, yi, n) {\n var i,\n d = 0;\n\n for (i = 0; i < n; i++) {\n d |= x[xi + i] ^ y[yi + i];\n }\n\n return (1 & d - 1 >>> 8) - 1;\n }\n\n function crypto_verify_16(x, xi, y, yi) {\n return vn(x, xi, y, yi, 16);\n }\n\n function crypto_verify_32(x, xi, y, yi) {\n return vn(x, xi, y, yi, 32);\n }\n\n function core_salsa20(o, p, k, c) {\n var j0 = c[0] & 0xff | (c[1] & 0xff) << 8 | (c[2] & 0xff) << 16 | (c[3] & 0xff) << 24,\n j1 = k[0] & 0xff | (k[1] & 0xff) << 8 | (k[2] & 0xff) << 16 | (k[3] & 0xff) << 24,\n j2 = k[4] & 0xff | (k[5] & 0xff) << 8 | (k[6] & 0xff) << 16 | (k[7] & 0xff) << 24,\n j3 = k[8] & 0xff | (k[9] & 0xff) << 8 | (k[10] & 0xff) << 16 | (k[11] & 0xff) << 24,\n j4 = k[12] & 0xff | (k[13] & 0xff) << 8 | (k[14] & 0xff) << 16 | (k[15] & 0xff) << 24,\n j5 = c[4] & 0xff | (c[5] & 0xff) << 8 | (c[6] & 0xff) << 16 | (c[7] & 0xff) << 24,\n j6 = p[0] & 0xff | (p[1] & 0xff) << 8 | (p[2] & 0xff) << 16 | (p[3] & 0xff) << 24,\n j7 = p[4] & 0xff | (p[5] & 0xff) << 8 | (p[6] & 0xff) << 16 | (p[7] & 0xff) << 24,\n j8 = p[8] & 0xff | (p[9] & 0xff) << 8 | (p[10] & 0xff) << 16 | (p[11] & 0xff) << 24,\n j9 = p[12] & 0xff | (p[13] & 0xff) << 8 | (p[14] & 0xff) << 16 | (p[15] & 0xff) << 24,\n j10 = c[8] & 0xff | (c[9] & 0xff) << 8 | (c[10] & 0xff) << 16 | (c[11] & 0xff) << 24,\n j11 = k[16] & 0xff | (k[17] & 0xff) << 8 | (k[18] & 0xff) << 16 | (k[19] & 0xff) << 24,\n j12 = k[20] & 0xff | (k[21] & 0xff) << 8 | (k[22] & 0xff) << 16 | (k[23] & 0xff) << 24,\n j13 = k[24] & 0xff | (k[25] & 0xff) << 8 | (k[26] & 0xff) << 16 | (k[27] & 0xff) << 24,\n j14 = k[28] & 0xff | (k[29] & 0xff) << 8 | (k[30] & 0xff) << 16 | (k[31] & 0xff) << 24,\n j15 = c[12] & 0xff | (c[13] & 0xff) << 8 | (c[14] & 0xff) << 16 | (c[15] & 0xff) << 24;\n var x0 = j0,\n x1 = j1,\n x2 = j2,\n x3 = j3,\n x4 = j4,\n x5 = j5,\n x6 = j6,\n x7 = j7,\n x8 = j8,\n x9 = j9,\n x10 = j10,\n x11 = j11,\n x12 = j12,\n x13 = j13,\n x14 = j14,\n x15 = j15,\n u;\n\n for (var i = 0; i < 20; i += 2) {\n u = x0 + x12 | 0;\n x4 ^= u << 7 | u >>> 32 - 7;\n u = x4 + x0 | 0;\n x8 ^= u << 9 | u >>> 32 - 9;\n u = x8 + x4 | 0;\n x12 ^= u << 13 | u >>> 32 - 13;\n u = x12 + x8 | 0;\n x0 ^= u << 18 | u >>> 32 - 18;\n u = x5 + x1 | 0;\n x9 ^= u << 7 | u >>> 32 - 7;\n u = x9 + x5 | 0;\n x13 ^= u << 9 | u >>> 32 - 9;\n u = x13 + x9 | 0;\n x1 ^= u << 13 | u >>> 32 - 13;\n u = x1 + x13 | 0;\n x5 ^= u << 18 | u >>> 32 - 18;\n u = x10 + x6 | 0;\n x14 ^= u << 7 | u >>> 32 - 7;\n u = x14 + x10 | 0;\n x2 ^= u << 9 | u >>> 32 - 9;\n u = x2 + x14 | 0;\n x6 ^= u << 13 | u >>> 32 - 13;\n u = x6 + x2 | 0;\n x10 ^= u << 18 | u >>> 32 - 18;\n u = x15 + x11 | 0;\n x3 ^= u << 7 | u >>> 32 - 7;\n u = x3 + x15 | 0;\n x7 ^= u << 9 | u >>> 32 - 9;\n u = x7 + x3 | 0;\n x11 ^= u << 13 | u >>> 32 - 13;\n u = x11 + x7 | 0;\n x15 ^= u << 18 | u >>> 32 - 18;\n u = x0 + x3 | 0;\n x1 ^= u << 7 | u >>> 32 - 7;\n u = x1 + x0 | 0;\n x2 ^= u << 9 | u >>> 32 - 9;\n u = x2 + x1 | 0;\n x3 ^= u << 13 | u >>> 32 - 13;\n u = x3 + x2 | 0;\n x0 ^= u << 18 | u >>> 32 - 18;\n u = x5 + x4 | 0;\n x6 ^= u << 7 | u >>> 32 - 7;\n u = x6 + x5 | 0;\n x7 ^= u << 9 | u >>> 32 - 9;\n u = x7 + x6 | 0;\n x4 ^= u << 13 | u >>> 32 - 13;\n u = x4 + x7 | 0;\n x5 ^= u << 18 | u >>> 32 - 18;\n u = x10 + x9 | 0;\n x11 ^= u << 7 | u >>> 32 - 7;\n u = x11 + x10 | 0;\n x8 ^= u << 9 | u >>> 32 - 9;\n u = x8 + x11 | 0;\n x9 ^= u << 13 | u >>> 32 - 13;\n u = x9 + x8 | 0;\n x10 ^= u << 18 | u >>> 32 - 18;\n u = x15 + x14 | 0;\n x12 ^= u << 7 | u >>> 32 - 7;\n u = x12 + x15 | 0;\n x13 ^= u << 9 | u >>> 32 - 9;\n u = x13 + x12 | 0;\n x14 ^= u << 13 | u >>> 32 - 13;\n u = x14 + x13 | 0;\n x15 ^= u << 18 | u >>> 32 - 18;\n }\n\n x0 = x0 + j0 | 0;\n x1 = x1 + j1 | 0;\n x2 = x2 + j2 | 0;\n x3 = x3 + j3 | 0;\n x4 = x4 + j4 | 0;\n x5 = x5 + j5 | 0;\n x6 = x6 + j6 | 0;\n x7 = x7 + j7 | 0;\n x8 = x8 + j8 | 0;\n x9 = x9 + j9 | 0;\n x10 = x10 + j10 | 0;\n x11 = x11 + j11 | 0;\n x12 = x12 + j12 | 0;\n x13 = x13 + j13 | 0;\n x14 = x14 + j14 | 0;\n x15 = x15 + j15 | 0;\n o[0] = x0 >>> 0 & 0xff;\n o[1] = x0 >>> 8 & 0xff;\n o[2] = x0 >>> 16 & 0xff;\n o[3] = x0 >>> 24 & 0xff;\n o[4] = x1 >>> 0 & 0xff;\n o[5] = x1 >>> 8 & 0xff;\n o[6] = x1 >>> 16 & 0xff;\n o[7] = x1 >>> 24 & 0xff;\n o[8] = x2 >>> 0 & 0xff;\n o[9] = x2 >>> 8 & 0xff;\n o[10] = x2 >>> 16 & 0xff;\n o[11] = x2 >>> 24 & 0xff;\n o[12] = x3 >>> 0 & 0xff;\n o[13] = x3 >>> 8 & 0xff;\n o[14] = x3 >>> 16 & 0xff;\n o[15] = x3 >>> 24 & 0xff;\n o[16] = x4 >>> 0 & 0xff;\n o[17] = x4 >>> 8 & 0xff;\n o[18] = x4 >>> 16 & 0xff;\n o[19] = x4 >>> 24 & 0xff;\n o[20] = x5 >>> 0 & 0xff;\n o[21] = x5 >>> 8 & 0xff;\n o[22] = x5 >>> 16 & 0xff;\n o[23] = x5 >>> 24 & 0xff;\n o[24] = x6 >>> 0 & 0xff;\n o[25] = x6 >>> 8 & 0xff;\n o[26] = x6 >>> 16 & 0xff;\n o[27] = x6 >>> 24 & 0xff;\n o[28] = x7 >>> 0 & 0xff;\n o[29] = x7 >>> 8 & 0xff;\n o[30] = x7 >>> 16 & 0xff;\n o[31] = x7 >>> 24 & 0xff;\n o[32] = x8 >>> 0 & 0xff;\n o[33] = x8 >>> 8 & 0xff;\n o[34] = x8 >>> 16 & 0xff;\n o[35] = x8 >>> 24 & 0xff;\n o[36] = x9 >>> 0 & 0xff;\n o[37] = x9 >>> 8 & 0xff;\n o[38] = x9 >>> 16 & 0xff;\n o[39] = x9 >>> 24 & 0xff;\n o[40] = x10 >>> 0 & 0xff;\n o[41] = x10 >>> 8 & 0xff;\n o[42] = x10 >>> 16 & 0xff;\n o[43] = x10 >>> 24 & 0xff;\n o[44] = x11 >>> 0 & 0xff;\n o[45] = x11 >>> 8 & 0xff;\n o[46] = x11 >>> 16 & 0xff;\n o[47] = x11 >>> 24 & 0xff;\n o[48] = x12 >>> 0 & 0xff;\n o[49] = x12 >>> 8 & 0xff;\n o[50] = x12 >>> 16 & 0xff;\n o[51] = x12 >>> 24 & 0xff;\n o[52] = x13 >>> 0 & 0xff;\n o[53] = x13 >>> 8 & 0xff;\n o[54] = x13 >>> 16 & 0xff;\n o[55] = x13 >>> 24 & 0xff;\n o[56] = x14 >>> 0 & 0xff;\n o[57] = x14 >>> 8 & 0xff;\n o[58] = x14 >>> 16 & 0xff;\n o[59] = x14 >>> 24 & 0xff;\n o[60] = x15 >>> 0 & 0xff;\n o[61] = x15 >>> 8 & 0xff;\n o[62] = x15 >>> 16 & 0xff;\n o[63] = x15 >>> 24 & 0xff;\n }\n\n function core_hsalsa20(o, p, k, c) {\n var j0 = c[0] & 0xff | (c[1] & 0xff) << 8 | (c[2] & 0xff) << 16 | (c[3] & 0xff) << 24,\n j1 = k[0] & 0xff | (k[1] & 0xff) << 8 | (k[2] & 0xff) << 16 | (k[3] & 0xff) << 24,\n j2 = k[4] & 0xff | (k[5] & 0xff) << 8 | (k[6] & 0xff) << 16 | (k[7] & 0xff) << 24,\n j3 = k[8] & 0xff | (k[9] & 0xff) << 8 | (k[10] & 0xff) << 16 | (k[11] & 0xff) << 24,\n j4 = k[12] & 0xff | (k[13] & 0xff) << 8 | (k[14] & 0xff) << 16 | (k[15] & 0xff) << 24,\n j5 = c[4] & 0xff | (c[5] & 0xff) << 8 | (c[6] & 0xff) << 16 | (c[7] & 0xff) << 24,\n j6 = p[0] & 0xff | (p[1] & 0xff) << 8 | (p[2] & 0xff) << 16 | (p[3] & 0xff) << 24,\n j7 = p[4] & 0xff | (p[5] & 0xff) << 8 | (p[6] & 0xff) << 16 | (p[7] & 0xff) << 24,\n j8 = p[8] & 0xff | (p[9] & 0xff) << 8 | (p[10] & 0xff) << 16 | (p[11] & 0xff) << 24,\n j9 = p[12] & 0xff | (p[13] & 0xff) << 8 | (p[14] & 0xff) << 16 | (p[15] & 0xff) << 24,\n j10 = c[8] & 0xff | (c[9] & 0xff) << 8 | (c[10] & 0xff) << 16 | (c[11] & 0xff) << 24,\n j11 = k[16] & 0xff | (k[17] & 0xff) << 8 | (k[18] & 0xff) << 16 | (k[19] & 0xff) << 24,\n j12 = k[20] & 0xff | (k[21] & 0xff) << 8 | (k[22] & 0xff) << 16 | (k[23] & 0xff) << 24,\n j13 = k[24] & 0xff | (k[25] & 0xff) << 8 | (k[26] & 0xff) << 16 | (k[27] & 0xff) << 24,\n j14 = k[28] & 0xff | (k[29] & 0xff) << 8 | (k[30] & 0xff) << 16 | (k[31] & 0xff) << 24,\n j15 = c[12] & 0xff | (c[13] & 0xff) << 8 | (c[14] & 0xff) << 16 | (c[15] & 0xff) << 24;\n var x0 = j0,\n x1 = j1,\n x2 = j2,\n x3 = j3,\n x4 = j4,\n x5 = j5,\n x6 = j6,\n x7 = j7,\n x8 = j8,\n x9 = j9,\n x10 = j10,\n x11 = j11,\n x12 = j12,\n x13 = j13,\n x14 = j14,\n x15 = j15,\n u;\n\n for (var i = 0; i < 20; i += 2) {\n u = x0 + x12 | 0;\n x4 ^= u << 7 | u >>> 32 - 7;\n u = x4 + x0 | 0;\n x8 ^= u << 9 | u >>> 32 - 9;\n u = x8 + x4 | 0;\n x12 ^= u << 13 | u >>> 32 - 13;\n u = x12 + x8 | 0;\n x0 ^= u << 18 | u >>> 32 - 18;\n u = x5 + x1 | 0;\n x9 ^= u << 7 | u >>> 32 - 7;\n u = x9 + x5 | 0;\n x13 ^= u << 9 | u >>> 32 - 9;\n u = x13 + x9 | 0;\n x1 ^= u << 13 | u >>> 32 - 13;\n u = x1 + x13 | 0;\n x5 ^= u << 18 | u >>> 32 - 18;\n u = x10 + x6 | 0;\n x14 ^= u << 7 | u >>> 32 - 7;\n u = x14 + x10 | 0;\n x2 ^= u << 9 | u >>> 32 - 9;\n u = x2 + x14 | 0;\n x6 ^= u << 13 | u >>> 32 - 13;\n u = x6 + x2 | 0;\n x10 ^= u << 18 | u >>> 32 - 18;\n u = x15 + x11 | 0;\n x3 ^= u << 7 | u >>> 32 - 7;\n u = x3 + x15 | 0;\n x7 ^= u << 9 | u >>> 32 - 9;\n u = x7 + x3 | 0;\n x11 ^= u << 13 | u >>> 32 - 13;\n u = x11 + x7 | 0;\n x15 ^= u << 18 | u >>> 32 - 18;\n u = x0 + x3 | 0;\n x1 ^= u << 7 | u >>> 32 - 7;\n u = x1 + x0 | 0;\n x2 ^= u << 9 | u >>> 32 - 9;\n u = x2 + x1 | 0;\n x3 ^= u << 13 | u >>> 32 - 13;\n u = x3 + x2 | 0;\n x0 ^= u << 18 | u >>> 32 - 18;\n u = x5 + x4 | 0;\n x6 ^= u << 7 | u >>> 32 - 7;\n u = x6 + x5 | 0;\n x7 ^= u << 9 | u >>> 32 - 9;\n u = x7 + x6 | 0;\n x4 ^= u << 13 | u >>> 32 - 13;\n u = x4 + x7 | 0;\n x5 ^= u << 18 | u >>> 32 - 18;\n u = x10 + x9 | 0;\n x11 ^= u << 7 | u >>> 32 - 7;\n u = x11 + x10 | 0;\n x8 ^= u << 9 | u >>> 32 - 9;\n u = x8 + x11 | 0;\n x9 ^= u << 13 | u >>> 32 - 13;\n u = x9 + x8 | 0;\n x10 ^= u << 18 | u >>> 32 - 18;\n u = x15 + x14 | 0;\n x12 ^= u << 7 | u >>> 32 - 7;\n u = x12 + x15 | 0;\n x13 ^= u << 9 | u >>> 32 - 9;\n u = x13 + x12 | 0;\n x14 ^= u << 13 | u >>> 32 - 13;\n u = x14 + x13 | 0;\n x15 ^= u << 18 | u >>> 32 - 18;\n }\n\n o[0] = x0 >>> 0 & 0xff;\n o[1] = x0 >>> 8 & 0xff;\n o[2] = x0 >>> 16 & 0xff;\n o[3] = x0 >>> 24 & 0xff;\n o[4] = x5 >>> 0 & 0xff;\n o[5] = x5 >>> 8 & 0xff;\n o[6] = x5 >>> 16 & 0xff;\n o[7] = x5 >>> 24 & 0xff;\n o[8] = x10 >>> 0 & 0xff;\n o[9] = x10 >>> 8 & 0xff;\n o[10] = x10 >>> 16 & 0xff;\n o[11] = x10 >>> 24 & 0xff;\n o[12] = x15 >>> 0 & 0xff;\n o[13] = x15 >>> 8 & 0xff;\n o[14] = x15 >>> 16 & 0xff;\n o[15] = x15 >>> 24 & 0xff;\n o[16] = x6 >>> 0 & 0xff;\n o[17] = x6 >>> 8 & 0xff;\n o[18] = x6 >>> 16 & 0xff;\n o[19] = x6 >>> 24 & 0xff;\n o[20] = x7 >>> 0 & 0xff;\n o[21] = x7 >>> 8 & 0xff;\n o[22] = x7 >>> 16 & 0xff;\n o[23] = x7 >>> 24 & 0xff;\n o[24] = x8 >>> 0 & 0xff;\n o[25] = x8 >>> 8 & 0xff;\n o[26] = x8 >>> 16 & 0xff;\n o[27] = x8 >>> 24 & 0xff;\n o[28] = x9 >>> 0 & 0xff;\n o[29] = x9 >>> 8 & 0xff;\n o[30] = x9 >>> 16 & 0xff;\n o[31] = x9 >>> 24 & 0xff;\n }\n\n function crypto_core_salsa20(out, inp, k, c) {\n core_salsa20(out, inp, k, c);\n }\n\n function crypto_core_hsalsa20(out, inp, k, c) {\n core_hsalsa20(out, inp, k, c);\n }\n\n var sigma = new Uint8Array([101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107]); // \"expand 32-byte k\"\n\n function crypto_stream_salsa20_xor(c, cpos, m, mpos, b, n, k) {\n var z = new Uint8Array(16),\n x = new Uint8Array(64);\n var u, i;\n\n for (i = 0; i < 16; i++) {\n z[i] = 0;\n }\n\n for (i = 0; i < 8; i++) {\n z[i] = n[i];\n }\n\n while (b >= 64) {\n crypto_core_salsa20(x, z, k, sigma);\n\n for (i = 0; i < 64; i++) {\n c[cpos + i] = m[mpos + i] ^ x[i];\n }\n\n u = 1;\n\n for (i = 8; i < 16; i++) {\n u = u + (z[i] & 0xff) | 0;\n z[i] = u & 0xff;\n u >>>= 8;\n }\n\n b -= 64;\n cpos += 64;\n mpos += 64;\n }\n\n if (b > 0) {\n crypto_core_salsa20(x, z, k, sigma);\n\n for (i = 0; i < b; i++) {\n c[cpos + i] = m[mpos + i] ^ x[i];\n }\n }\n\n return 0;\n }\n\n function crypto_stream_salsa20(c, cpos, b, n, k) {\n var z = new Uint8Array(16),\n x = new Uint8Array(64);\n var u, i;\n\n for (i = 0; i < 16; i++) {\n z[i] = 0;\n }\n\n for (i = 0; i < 8; i++) {\n z[i] = n[i];\n }\n\n while (b >= 64) {\n crypto_core_salsa20(x, z, k, sigma);\n\n for (i = 0; i < 64; i++) {\n c[cpos + i] = x[i];\n }\n\n u = 1;\n\n for (i = 8; i < 16; i++) {\n u = u + (z[i] & 0xff) | 0;\n z[i] = u & 0xff;\n u >>>= 8;\n }\n\n b -= 64;\n cpos += 64;\n }\n\n if (b > 0) {\n crypto_core_salsa20(x, z, k, sigma);\n\n for (i = 0; i < b; i++) {\n c[cpos + i] = x[i];\n }\n }\n\n return 0;\n }\n\n function crypto_stream(c, cpos, d, n, k) {\n var s = new Uint8Array(32);\n crypto_core_hsalsa20(s, n, k, sigma);\n var sn = new Uint8Array(8);\n\n for (var i = 0; i < 8; i++) {\n sn[i] = n[i + 16];\n }\n\n return crypto_stream_salsa20(c, cpos, d, sn, s);\n }\n\n function crypto_stream_xor(c, cpos, m, mpos, d, n, k) {\n var s = new Uint8Array(32);\n crypto_core_hsalsa20(s, n, k, sigma);\n var sn = new Uint8Array(8);\n\n for (var i = 0; i < 8; i++) {\n sn[i] = n[i + 16];\n }\n\n return crypto_stream_salsa20_xor(c, cpos, m, mpos, d, sn, s);\n }\n /*\n * Port of Andrew Moon's Poly1305-donna-16. Public domain.\n * https://github.com/floodyberry/poly1305-donna\n */\n\n\n var poly1305 = function poly1305(key) {\n this.buffer = new Uint8Array(16);\n this.r = new Uint16Array(10);\n this.h = new Uint16Array(10);\n this.pad = new Uint16Array(8);\n this.leftover = 0;\n this.fin = 0;\n var t0, t1, t2, t3, t4, t5, t6, t7;\n t0 = key[0] & 0xff | (key[1] & 0xff) << 8;\n this.r[0] = t0 & 0x1fff;\n t1 = key[2] & 0xff | (key[3] & 0xff) << 8;\n this.r[1] = (t0 >>> 13 | t1 << 3) & 0x1fff;\n t2 = key[4] & 0xff | (key[5] & 0xff) << 8;\n this.r[2] = (t1 >>> 10 | t2 << 6) & 0x1f03;\n t3 = key[6] & 0xff | (key[7] & 0xff) << 8;\n this.r[3] = (t2 >>> 7 | t3 << 9) & 0x1fff;\n t4 = key[8] & 0xff | (key[9] & 0xff) << 8;\n this.r[4] = (t3 >>> 4 | t4 << 12) & 0x00ff;\n this.r[5] = t4 >>> 1 & 0x1ffe;\n t5 = key[10] & 0xff | (key[11] & 0xff) << 8;\n this.r[6] = (t4 >>> 14 | t5 << 2) & 0x1fff;\n t6 = key[12] & 0xff | (key[13] & 0xff) << 8;\n this.r[7] = (t5 >>> 11 | t6 << 5) & 0x1f81;\n t7 = key[14] & 0xff | (key[15] & 0xff) << 8;\n this.r[8] = (t6 >>> 8 | t7 << 8) & 0x1fff;\n this.r[9] = t7 >>> 5 & 0x007f;\n this.pad[0] = key[16] & 0xff | (key[17] & 0xff) << 8;\n this.pad[1] = key[18] & 0xff | (key[19] & 0xff) << 8;\n this.pad[2] = key[20] & 0xff | (key[21] & 0xff) << 8;\n this.pad[3] = key[22] & 0xff | (key[23] & 0xff) << 8;\n this.pad[4] = key[24] & 0xff | (key[25] & 0xff) << 8;\n this.pad[5] = key[26] & 0xff | (key[27] & 0xff) << 8;\n this.pad[6] = key[28] & 0xff | (key[29] & 0xff) << 8;\n this.pad[7] = key[30] & 0xff | (key[31] & 0xff) << 8;\n };\n\n poly1305.prototype.blocks = function (m, mpos, bytes) {\n var hibit = this.fin ? 0 : 1 << 11;\n var t0, t1, t2, t3, t4, t5, t6, t7, c;\n var d0, d1, d2, d3, d4, d5, d6, d7, d8, d9;\n var h0 = this.h[0],\n h1 = this.h[1],\n h2 = this.h[2],\n h3 = this.h[3],\n h4 = this.h[4],\n h5 = this.h[5],\n h6 = this.h[6],\n h7 = this.h[7],\n h8 = this.h[8],\n h9 = this.h[9];\n var r0 = this.r[0],\n r1 = this.r[1],\n r2 = this.r[2],\n r3 = this.r[3],\n r4 = this.r[4],\n r5 = this.r[5],\n r6 = this.r[6],\n r7 = this.r[7],\n r8 = this.r[8],\n r9 = this.r[9];\n\n while (bytes >= 16) {\n t0 = m[mpos + 0] & 0xff | (m[mpos + 1] & 0xff) << 8;\n h0 += t0 & 0x1fff;\n t1 = m[mpos + 2] & 0xff | (m[mpos + 3] & 0xff) << 8;\n h1 += (t0 >>> 13 | t1 << 3) & 0x1fff;\n t2 = m[mpos + 4] & 0xff | (m[mpos + 5] & 0xff) << 8;\n h2 += (t1 >>> 10 | t2 << 6) & 0x1fff;\n t3 = m[mpos + 6] & 0xff | (m[mpos + 7] & 0xff) << 8;\n h3 += (t2 >>> 7 | t3 << 9) & 0x1fff;\n t4 = m[mpos + 8] & 0xff | (m[mpos + 9] & 0xff) << 8;\n h4 += (t3 >>> 4 | t4 << 12) & 0x1fff;\n h5 += t4 >>> 1 & 0x1fff;\n t5 = m[mpos + 10] & 0xff | (m[mpos + 11] & 0xff) << 8;\n h6 += (t4 >>> 14 | t5 << 2) & 0x1fff;\n t6 = m[mpos + 12] & 0xff | (m[mpos + 13] & 0xff) << 8;\n h7 += (t5 >>> 11 | t6 << 5) & 0x1fff;\n t7 = m[mpos + 14] & 0xff | (m[mpos + 15] & 0xff) << 8;\n h8 += (t6 >>> 8 | t7 << 8) & 0x1fff;\n h9 += t7 >>> 5 | hibit;\n c = 0;\n d0 = c;\n d0 += h0 * r0;\n d0 += h1 * (5 * r9);\n d0 += h2 * (5 * r8);\n d0 += h3 * (5 * r7);\n d0 += h4 * (5 * r6);\n c = d0 >>> 13;\n d0 &= 0x1fff;\n d0 += h5 * (5 * r5);\n d0 += h6 * (5 * r4);\n d0 += h7 * (5 * r3);\n d0 += h8 * (5 * r2);\n d0 += h9 * (5 * r1);\n c += d0 >>> 13;\n d0 &= 0x1fff;\n d1 = c;\n d1 += h0 * r1;\n d1 += h1 * r0;\n d1 += h2 * (5 * r9);\n d1 += h3 * (5 * r8);\n d1 += h4 * (5 * r7);\n c = d1 >>> 13;\n d1 &= 0x1fff;\n d1 += h5 * (5 * r6);\n d1 += h6 * (5 * r5);\n d1 += h7 * (5 * r4);\n d1 += h8 * (5 * r3);\n d1 += h9 * (5 * r2);\n c += d1 >>> 13;\n d1 &= 0x1fff;\n d2 = c;\n d2 += h0 * r2;\n d2 += h1 * r1;\n d2 += h2 * r0;\n d2 += h3 * (5 * r9);\n d2 += h4 * (5 * r8);\n c = d2 >>> 13;\n d2 &= 0x1fff;\n d2 += h5 * (5 * r7);\n d2 += h6 * (5 * r6);\n d2 += h7 * (5 * r5);\n d2 += h8 * (5 * r4);\n d2 += h9 * (5 * r3);\n c += d2 >>> 13;\n d2 &= 0x1fff;\n d3 = c;\n d3 += h0 * r3;\n d3 += h1 * r2;\n d3 += h2 * r1;\n d3 += h3 * r0;\n d3 += h4 * (5 * r9);\n c = d3 >>> 13;\n d3 &= 0x1fff;\n d3 += h5 * (5 * r8);\n d3 += h6 * (5 * r7);\n d3 += h7 * (5 * r6);\n d3 += h8 * (5 * r5);\n d3 += h9 * (5 * r4);\n c += d3 >>> 13;\n d3 &= 0x1fff;\n d4 = c;\n d4 += h0 * r4;\n d4 += h1 * r3;\n d4 += h2 * r2;\n d4 += h3 * r1;\n d4 += h4 * r0;\n c = d4 >>> 13;\n d4 &= 0x1fff;\n d4 += h5 * (5 * r9);\n d4 += h6 * (5 * r8);\n d4 += h7 * (5 * r7);\n d4 += h8 * (5 * r6);\n d4 += h9 * (5 * r5);\n c += d4 >>> 13;\n d4 &= 0x1fff;\n d5 = c;\n d5 += h0 * r5;\n d5 += h1 * r4;\n d5 += h2 * r3;\n d5 += h3 * r2;\n d5 += h4 * r1;\n c = d5 >>> 13;\n d5 &= 0x1fff;\n d5 += h5 * r0;\n d5 += h6 * (5 * r9);\n d5 += h7 * (5 * r8);\n d5 += h8 * (5 * r7);\n d5 += h9 * (5 * r6);\n c += d5 >>> 13;\n d5 &= 0x1fff;\n d6 = c;\n d6 += h0 * r6;\n d6 += h1 * r5;\n d6 += h2 * r4;\n d6 += h3 * r3;\n d6 += h4 * r2;\n c = d6 >>> 13;\n d6 &= 0x1fff;\n d6 += h5 * r1;\n d6 += h6 * r0;\n d6 += h7 * (5 * r9);\n d6 += h8 * (5 * r8);\n d6 += h9 * (5 * r7);\n c += d6 >>> 13;\n d6 &= 0x1fff;\n d7 = c;\n d7 += h0 * r7;\n d7 += h1 * r6;\n d7 += h2 * r5;\n d7 += h3 * r4;\n d7 += h4 * r3;\n c = d7 >>> 13;\n d7 &= 0x1fff;\n d7 += h5 * r2;\n d7 += h6 * r1;\n d7 += h7 * r0;\n d7 += h8 * (5 * r9);\n d7 += h9 * (5 * r8);\n c += d7 >>> 13;\n d7 &= 0x1fff;\n d8 = c;\n d8 += h0 * r8;\n d8 += h1 * r7;\n d8 += h2 * r6;\n d8 += h3 * r5;\n d8 += h4 * r4;\n c = d8 >>> 13;\n d8 &= 0x1fff;\n d8 += h5 * r3;\n d8 += h6 * r2;\n d8 += h7 * r1;\n d8 += h8 * r0;\n d8 += h9 * (5 * r9);\n c += d8 >>> 13;\n d8 &= 0x1fff;\n d9 = c;\n d9 += h0 * r9;\n d9 += h1 * r8;\n d9 += h2 * r7;\n d9 += h3 * r6;\n d9 += h4 * r5;\n c = d9 >>> 13;\n d9 &= 0x1fff;\n d9 += h5 * r4;\n d9 += h6 * r3;\n d9 += h7 * r2;\n d9 += h8 * r1;\n d9 += h9 * r0;\n c += d9 >>> 13;\n d9 &= 0x1fff;\n c = (c << 2) + c | 0;\n c = c + d0 | 0;\n d0 = c & 0x1fff;\n c = c >>> 13;\n d1 += c;\n h0 = d0;\n h1 = d1;\n h2 = d2;\n h3 = d3;\n h4 = d4;\n h5 = d5;\n h6 = d6;\n h7 = d7;\n h8 = d8;\n h9 = d9;\n mpos += 16;\n bytes -= 16;\n }\n\n this.h[0] = h0;\n this.h[1] = h1;\n this.h[2] = h2;\n this.h[3] = h3;\n this.h[4] = h4;\n this.h[5] = h5;\n this.h[6] = h6;\n this.h[7] = h7;\n this.h[8] = h8;\n this.h[9] = h9;\n };\n\n poly1305.prototype.finish = function (mac, macpos) {\n var g = new Uint16Array(10);\n var c, mask, f, i;\n\n if (this.leftover) {\n i = this.leftover;\n this.buffer[i++] = 1;\n\n for (; i < 16; i++) {\n this.buffer[i] = 0;\n }\n\n this.fin = 1;\n this.blocks(this.buffer, 0, 16);\n }\n\n c = this.h[1] >>> 13;\n this.h[1] &= 0x1fff;\n\n for (i = 2; i < 10; i++) {\n this.h[i] += c;\n c = this.h[i] >>> 13;\n this.h[i] &= 0x1fff;\n }\n\n this.h[0] += c * 5;\n c = this.h[0] >>> 13;\n this.h[0] &= 0x1fff;\n this.h[1] += c;\n c = this.h[1] >>> 13;\n this.h[1] &= 0x1fff;\n this.h[2] += c;\n g[0] = this.h[0] + 5;\n c = g[0] >>> 13;\n g[0] &= 0x1fff;\n\n for (i = 1; i < 10; i++) {\n g[i] = this.h[i] + c;\n c = g[i] >>> 13;\n g[i] &= 0x1fff;\n }\n\n g[9] -= 1 << 13;\n mask = (c ^ 1) - 1;\n\n for (i = 0; i < 10; i++) {\n g[i] &= mask;\n }\n\n mask = ~mask;\n\n for (i = 0; i < 10; i++) {\n this.h[i] = this.h[i] & mask | g[i];\n }\n\n this.h[0] = (this.h[0] | this.h[1] << 13) & 0xffff;\n this.h[1] = (this.h[1] >>> 3 | this.h[2] << 10) & 0xffff;\n this.h[2] = (this.h[2] >>> 6 | this.h[3] << 7) & 0xffff;\n this.h[3] = (this.h[3] >>> 9 | this.h[4] << 4) & 0xffff;\n this.h[4] = (this.h[4] >>> 12 | this.h[5] << 1 | this.h[6] << 14) & 0xffff;\n this.h[5] = (this.h[6] >>> 2 | this.h[7] << 11) & 0xffff;\n this.h[6] = (this.h[7] >>> 5 | this.h[8] << 8) & 0xffff;\n this.h[7] = (this.h[8] >>> 8 | this.h[9] << 5) & 0xffff;\n f = this.h[0] + this.pad[0];\n this.h[0] = f & 0xffff;\n\n for (i = 1; i < 8; i++) {\n f = (this.h[i] + this.pad[i] | 0) + (f >>> 16) | 0;\n this.h[i] = f & 0xffff;\n }\n\n mac[macpos + 0] = this.h[0] >>> 0 & 0xff;\n mac[macpos + 1] = this.h[0] >>> 8 & 0xff;\n mac[macpos + 2] = this.h[1] >>> 0 & 0xff;\n mac[macpos + 3] = this.h[1] >>> 8 & 0xff;\n mac[macpos + 4] = this.h[2] >>> 0 & 0xff;\n mac[macpos + 5] = this.h[2] >>> 8 & 0xff;\n mac[macpos + 6] = this.h[3] >>> 0 & 0xff;\n mac[macpos + 7] = this.h[3] >>> 8 & 0xff;\n mac[macpos + 8] = this.h[4] >>> 0 & 0xff;\n mac[macpos + 9] = this.h[4] >>> 8 & 0xff;\n mac[macpos + 10] = this.h[5] >>> 0 & 0xff;\n mac[macpos + 11] = this.h[5] >>> 8 & 0xff;\n mac[macpos + 12] = this.h[6] >>> 0 & 0xff;\n mac[macpos + 13] = this.h[6] >>> 8 & 0xff;\n mac[macpos + 14] = this.h[7] >>> 0 & 0xff;\n mac[macpos + 15] = this.h[7] >>> 8 & 0xff;\n };\n\n poly1305.prototype.update = function (m, mpos, bytes) {\n var i, want;\n\n if (this.leftover) {\n want = 16 - this.leftover;\n if (want > bytes) want = bytes;\n\n for (i = 0; i < want; i++) {\n this.buffer[this.leftover + i] = m[mpos + i];\n }\n\n bytes -= want;\n mpos += want;\n this.leftover += want;\n if (this.leftover < 16) return;\n this.blocks(this.buffer, 0, 16);\n this.leftover = 0;\n }\n\n if (bytes >= 16) {\n want = bytes - bytes % 16;\n this.blocks(m, mpos, want);\n mpos += want;\n bytes -= want;\n }\n\n if (bytes) {\n for (i = 0; i < bytes; i++) {\n this.buffer[this.leftover + i] = m[mpos + i];\n }\n\n this.leftover += bytes;\n }\n };\n\n function crypto_onetimeauth(out, outpos, m, mpos, n, k) {\n var s = new poly1305(k);\n s.update(m, mpos, n);\n s.finish(out, outpos);\n return 0;\n }\n\n function crypto_onetimeauth_verify(h, hpos, m, mpos, n, k) {\n var x = new Uint8Array(16);\n crypto_onetimeauth(x, 0, m, mpos, n, k);\n return crypto_verify_16(h, hpos, x, 0);\n }\n\n function crypto_secretbox(c, m, d, n, k) {\n var i;\n if (d < 32) return -1;\n crypto_stream_xor(c, 0, m, 0, d, n, k);\n crypto_onetimeauth(c, 16, c, 32, d - 32, c);\n\n for (i = 0; i < 16; i++) {\n c[i] = 0;\n }\n\n return 0;\n }\n\n function crypto_secretbox_open(m, c, d, n, k) {\n var i;\n var x = new Uint8Array(32);\n if (d < 32) return -1;\n crypto_stream(x, 0, 32, n, k);\n if (crypto_onetimeauth_verify(c, 16, c, 32, d - 32, x) !== 0) return -1;\n crypto_stream_xor(m, 0, c, 0, d, n, k);\n\n for (i = 0; i < 32; i++) {\n m[i] = 0;\n }\n\n return 0;\n }\n\n function set25519(r, a) {\n var i;\n\n for (i = 0; i < 16; i++) {\n r[i] = a[i] | 0;\n }\n }\n\n function car25519(o) {\n var i,\n v,\n c = 1;\n\n for (i = 0; i < 16; i++) {\n v = o[i] + c + 65535;\n c = Math.floor(v / 65536);\n o[i] = v - c * 65536;\n }\n\n o[0] += c - 1 + 37 * (c - 1);\n }\n\n function sel25519(p, q, b) {\n var t,\n c = ~(b - 1);\n\n for (var i = 0; i < 16; i++) {\n t = c & (p[i] ^ q[i]);\n p[i] ^= t;\n q[i] ^= t;\n }\n }\n\n function pack25519(o, n) {\n var i, j, b;\n var m = gf(),\n t = gf();\n\n for (i = 0; i < 16; i++) {\n t[i] = n[i];\n }\n\n car25519(t);\n car25519(t);\n car25519(t);\n\n for (j = 0; j < 2; j++) {\n m[0] = t[0] - 0xffed;\n\n for (i = 1; i < 15; i++) {\n m[i] = t[i] - 0xffff - (m[i - 1] >> 16 & 1);\n m[i - 1] &= 0xffff;\n }\n\n m[15] = t[15] - 0x7fff - (m[14] >> 16 & 1);\n b = m[15] >> 16 & 1;\n m[14] &= 0xffff;\n sel25519(t, m, 1 - b);\n }\n\n for (i = 0; i < 16; i++) {\n o[2 * i] = t[i] & 0xff;\n o[2 * i + 1] = t[i] >> 8;\n }\n }\n\n function neq25519(a, b) {\n var c = new Uint8Array(32),\n d = new Uint8Array(32);\n pack25519(c, a);\n pack25519(d, b);\n return crypto_verify_32(c, 0, d, 0);\n }\n\n function par25519(a) {\n var d = new Uint8Array(32);\n pack25519(d, a);\n return d[0] & 1;\n }\n\n function unpack25519(o, n) {\n var i;\n\n for (i = 0; i < 16; i++) {\n o[i] = n[2 * i] + (n[2 * i + 1] << 8);\n }\n\n o[15] &= 0x7fff;\n }\n\n function A(o, a, b) {\n for (var i = 0; i < 16; i++) {\n o[i] = a[i] + b[i];\n }\n }\n\n function Z(o, a, b) {\n for (var i = 0; i < 16; i++) {\n o[i] = a[i] - b[i];\n }\n }\n\n function M(o, a, b) {\n var v,\n c,\n t0 = 0,\n t1 = 0,\n t2 = 0,\n t3 = 0,\n t4 = 0,\n t5 = 0,\n t6 = 0,\n t7 = 0,\n t8 = 0,\n t9 = 0,\n t10 = 0,\n t11 = 0,\n t12 = 0,\n t13 = 0,\n t14 = 0,\n t15 = 0,\n t16 = 0,\n t17 = 0,\n t18 = 0,\n t19 = 0,\n t20 = 0,\n t21 = 0,\n t22 = 0,\n t23 = 0,\n t24 = 0,\n t25 = 0,\n t26 = 0,\n t27 = 0,\n t28 = 0,\n t29 = 0,\n t30 = 0,\n b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3],\n b4 = b[4],\n b5 = b[5],\n b6 = b[6],\n b7 = b[7],\n b8 = b[8],\n b9 = b[9],\n b10 = b[10],\n b11 = b[11],\n b12 = b[12],\n b13 = b[13],\n b14 = b[14],\n b15 = b[15];\n v = a[0];\n t0 += v * b0;\n t1 += v * b1;\n t2 += v * b2;\n t3 += v * b3;\n t4 += v * b4;\n t5 += v * b5;\n t6 += v * b6;\n t7 += v * b7;\n t8 += v * b8;\n t9 += v * b9;\n t10 += v * b10;\n t11 += v * b11;\n t12 += v * b12;\n t13 += v * b13;\n t14 += v * b14;\n t15 += v * b15;\n v = a[1];\n t1 += v * b0;\n t2 += v * b1;\n t3 += v * b2;\n t4 += v * b3;\n t5 += v * b4;\n t6 += v * b5;\n t7 += v * b6;\n t8 += v * b7;\n t9 += v * b8;\n t10 += v * b9;\n t11 += v * b10;\n t12 += v * b11;\n t13 += v * b12;\n t14 += v * b13;\n t15 += v * b14;\n t16 += v * b15;\n v = a[2];\n t2 += v * b0;\n t3 += v * b1;\n t4 += v * b2;\n t5 += v * b3;\n t6 += v * b4;\n t7 += v * b5;\n t8 += v * b6;\n t9 += v * b7;\n t10 += v * b8;\n t11 += v * b9;\n t12 += v * b10;\n t13 += v * b11;\n t14 += v * b12;\n t15 += v * b13;\n t16 += v * b14;\n t17 += v * b15;\n v = a[3];\n t3 += v * b0;\n t4 += v * b1;\n t5 += v * b2;\n t6 += v * b3;\n t7 += v * b4;\n t8 += v * b5;\n t9 += v * b6;\n t10 += v * b7;\n t11 += v * b8;\n t12 += v * b9;\n t13 += v * b10;\n t14 += v * b11;\n t15 += v * b12;\n t16 += v * b13;\n t17 += v * b14;\n t18 += v * b15;\n v = a[4];\n t4 += v * b0;\n t5 += v * b1;\n t6 += v * b2;\n t7 += v * b3;\n t8 += v * b4;\n t9 += v * b5;\n t10 += v * b6;\n t11 += v * b7;\n t12 += v * b8;\n t13 += v * b9;\n t14 += v * b10;\n t15 += v * b11;\n t16 += v * b12;\n t17 += v * b13;\n t18 += v * b14;\n t19 += v * b15;\n v = a[5];\n t5 += v * b0;\n t6 += v * b1;\n t7 += v * b2;\n t8 += v * b3;\n t9 += v * b4;\n t10 += v * b5;\n t11 += v * b6;\n t12 += v * b7;\n t13 += v * b8;\n t14 += v * b9;\n t15 += v * b10;\n t16 += v * b11;\n t17 += v * b12;\n t18 += v * b13;\n t19 += v * b14;\n t20 += v * b15;\n v = a[6];\n t6 += v * b0;\n t7 += v * b1;\n t8 += v * b2;\n t9 += v * b3;\n t10 += v * b4;\n t11 += v * b5;\n t12 += v * b6;\n t13 += v * b7;\n t14 += v * b8;\n t15 += v * b9;\n t16 += v * b10;\n t17 += v * b11;\n t18 += v * b12;\n t19 += v * b13;\n t20 += v * b14;\n t21 += v * b15;\n v = a[7];\n t7 += v * b0;\n t8 += v * b1;\n t9 += v * b2;\n t10 += v * b3;\n t11 += v * b4;\n t12 += v * b5;\n t13 += v * b6;\n t14 += v * b7;\n t15 += v * b8;\n t16 += v * b9;\n t17 += v * b10;\n t18 += v * b11;\n t19 += v * b12;\n t20 += v * b13;\n t21 += v * b14;\n t22 += v * b15;\n v = a[8];\n t8 += v * b0;\n t9 += v * b1;\n t10 += v * b2;\n t11 += v * b3;\n t12 += v * b4;\n t13 += v * b5;\n t14 += v * b6;\n t15 += v * b7;\n t16 += v * b8;\n t17 += v * b9;\n t18 += v * b10;\n t19 += v * b11;\n t20 += v * b12;\n t21 += v * b13;\n t22 += v * b14;\n t23 += v * b15;\n v = a[9];\n t9 += v * b0;\n t10 += v * b1;\n t11 += v * b2;\n t12 += v * b3;\n t13 += v * b4;\n t14 += v * b5;\n t15 += v * b6;\n t16 += v * b7;\n t17 += v * b8;\n t18 += v * b9;\n t19 += v * b10;\n t20 += v * b11;\n t21 += v * b12;\n t22 += v * b13;\n t23 += v * b14;\n t24 += v * b15;\n v = a[10];\n t10 += v * b0;\n t11 += v * b1;\n t12 += v * b2;\n t13 += v * b3;\n t14 += v * b4;\n t15 += v * b5;\n t16 += v * b6;\n t17 += v * b7;\n t18 += v * b8;\n t19 += v * b9;\n t20 += v * b10;\n t21 += v * b11;\n t22 += v * b12;\n t23 += v * b13;\n t24 += v * b14;\n t25 += v * b15;\n v = a[11];\n t11 += v * b0;\n t12 += v * b1;\n t13 += v * b2;\n t14 += v * b3;\n t15 += v * b4;\n t16 += v * b5;\n t17 += v * b6;\n t18 += v * b7;\n t19 += v * b8;\n t20 += v * b9;\n t21 += v * b10;\n t22 += v * b11;\n t23 += v * b12;\n t24 += v * b13;\n t25 += v * b14;\n t26 += v * b15;\n v = a[12];\n t12 += v * b0;\n t13 += v * b1;\n t14 += v * b2;\n t15 += v * b3;\n t16 += v * b4;\n t17 += v * b5;\n t18 += v * b6;\n t19 += v * b7;\n t20 += v * b8;\n t21 += v * b9;\n t22 += v * b10;\n t23 += v * b11;\n t24 += v * b12;\n t25 += v * b13;\n t26 += v * b14;\n t27 += v * b15;\n v = a[13];\n t13 += v * b0;\n t14 += v * b1;\n t15 += v * b2;\n t16 += v * b3;\n t17 += v * b4;\n t18 += v * b5;\n t19 += v * b6;\n t20 += v * b7;\n t21 += v * b8;\n t22 += v * b9;\n t23 += v * b10;\n t24 += v * b11;\n t25 += v * b12;\n t26 += v * b13;\n t27 += v * b14;\n t28 += v * b15;\n v = a[14];\n t14 += v * b0;\n t15 += v * b1;\n t16 += v * b2;\n t17 += v * b3;\n t18 += v * b4;\n t19 += v * b5;\n t20 += v * b6;\n t21 += v * b7;\n t22 += v * b8;\n t23 += v * b9;\n t24 += v * b10;\n t25 += v * b11;\n t26 += v * b12;\n t27 += v * b13;\n t28 += v * b14;\n t29 += v * b15;\n v = a[15];\n t15 += v * b0;\n t16 += v * b1;\n t17 += v * b2;\n t18 += v * b3;\n t19 += v * b4;\n t20 += v * b5;\n t21 += v * b6;\n t22 += v * b7;\n t23 += v * b8;\n t24 += v * b9;\n t25 += v * b10;\n t26 += v * b11;\n t27 += v * b12;\n t28 += v * b13;\n t29 += v * b14;\n t30 += v * b15;\n t0 += 38 * t16;\n t1 += 38 * t17;\n t2 += 38 * t18;\n t3 += 38 * t19;\n t4 += 38 * t20;\n t5 += 38 * t21;\n t6 += 38 * t22;\n t7 += 38 * t23;\n t8 += 38 * t24;\n t9 += 38 * t25;\n t10 += 38 * t26;\n t11 += 38 * t27;\n t12 += 38 * t28;\n t13 += 38 * t29;\n t14 += 38 * t30; // t15 left as is\n // first car\n\n c = 1;\n v = t0 + c + 65535;\n c = Math.floor(v / 65536);\n t0 = v - c * 65536;\n v = t1 + c + 65535;\n c = Math.floor(v / 65536);\n t1 = v - c * 65536;\n v = t2 + c + 65535;\n c = Math.floor(v / 65536);\n t2 = v - c * 65536;\n v = t3 + c + 65535;\n c = Math.floor(v / 65536);\n t3 = v - c * 65536;\n v = t4 + c + 65535;\n c = Math.floor(v / 65536);\n t4 = v - c * 65536;\n v = t5 + c + 65535;\n c = Math.floor(v / 65536);\n t5 = v - c * 65536;\n v = t6 + c + 65535;\n c = Math.floor(v / 65536);\n t6 = v - c * 65536;\n v = t7 + c + 65535;\n c = Math.floor(v / 65536);\n t7 = v - c * 65536;\n v = t8 + c + 65535;\n c = Math.floor(v / 65536);\n t8 = v - c * 65536;\n v = t9 + c + 65535;\n c = Math.floor(v / 65536);\n t9 = v - c * 65536;\n v = t10 + c + 65535;\n c = Math.floor(v / 65536);\n t10 = v - c * 65536;\n v = t11 + c + 65535;\n c = Math.floor(v / 65536);\n t11 = v - c * 65536;\n v = t12 + c + 65535;\n c = Math.floor(v / 65536);\n t12 = v - c * 65536;\n v = t13 + c + 65535;\n c = Math.floor(v / 65536);\n t13 = v - c * 65536;\n v = t14 + c + 65535;\n c = Math.floor(v / 65536);\n t14 = v - c * 65536;\n v = t15 + c + 65535;\n c = Math.floor(v / 65536);\n t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1); // second car\n\n c = 1;\n v = t0 + c + 65535;\n c = Math.floor(v / 65536);\n t0 = v - c * 65536;\n v = t1 + c + 65535;\n c = Math.floor(v / 65536);\n t1 = v - c * 65536;\n v = t2 + c + 65535;\n c = Math.floor(v / 65536);\n t2 = v - c * 65536;\n v = t3 + c + 65535;\n c = Math.floor(v / 65536);\n t3 = v - c * 65536;\n v = t4 + c + 65535;\n c = Math.floor(v / 65536);\n t4 = v - c * 65536;\n v = t5 + c + 65535;\n c = Math.floor(v / 65536);\n t5 = v - c * 65536;\n v = t6 + c + 65535;\n c = Math.floor(v / 65536);\n t6 = v - c * 65536;\n v = t7 + c + 65535;\n c = Math.floor(v / 65536);\n t7 = v - c * 65536;\n v = t8 + c + 65535;\n c = Math.floor(v / 65536);\n t8 = v - c * 65536;\n v = t9 + c + 65535;\n c = Math.floor(v / 65536);\n t9 = v - c * 65536;\n v = t10 + c + 65535;\n c = Math.floor(v / 65536);\n t10 = v - c * 65536;\n v = t11 + c + 65535;\n c = Math.floor(v / 65536);\n t11 = v - c * 65536;\n v = t12 + c + 65535;\n c = Math.floor(v / 65536);\n t12 = v - c * 65536;\n v = t13 + c + 65535;\n c = Math.floor(v / 65536);\n t13 = v - c * 65536;\n v = t14 + c + 65535;\n c = Math.floor(v / 65536);\n t14 = v - c * 65536;\n v = t15 + c + 65535;\n c = Math.floor(v / 65536);\n t15 = v - c * 65536;\n t0 += c - 1 + 37 * (c - 1);\n o[0] = t0;\n o[1] = t1;\n o[2] = t2;\n o[3] = t3;\n o[4] = t4;\n o[5] = t5;\n o[6] = t6;\n o[7] = t7;\n o[8] = t8;\n o[9] = t9;\n o[10] = t10;\n o[11] = t11;\n o[12] = t12;\n o[13] = t13;\n o[14] = t14;\n o[15] = t15;\n }\n\n function S(o, a) {\n M(o, a, a);\n }\n\n function inv25519(o, i) {\n var c = gf();\n var a;\n\n for (a = 0; a < 16; a++) {\n c[a] = i[a];\n }\n\n for (a = 253; a >= 0; a--) {\n S(c, c);\n if (a !== 2 && a !== 4) M(c, c, i);\n }\n\n for (a = 0; a < 16; a++) {\n o[a] = c[a];\n }\n }\n\n function pow2523(o, i) {\n var c = gf();\n var a;\n\n for (a = 0; a < 16; a++) {\n c[a] = i[a];\n }\n\n for (a = 250; a >= 0; a--) {\n S(c, c);\n if (a !== 1) M(c, c, i);\n }\n\n for (a = 0; a < 16; a++) {\n o[a] = c[a];\n }\n }\n\n function crypto_scalarmult(q, n, p) {\n var z = new Uint8Array(32);\n var x = new Float64Array(80),\n r,\n i;\n var a = gf(),\n b = gf(),\n c = gf(),\n d = gf(),\n e = gf(),\n f = gf();\n\n for (i = 0; i < 31; i++) {\n z[i] = n[i];\n }\n\n z[31] = n[31] & 127 | 64;\n z[0] &= 248;\n unpack25519(x, p);\n\n for (i = 0; i < 16; i++) {\n b[i] = x[i];\n d[i] = a[i] = c[i] = 0;\n }\n\n a[0] = d[0] = 1;\n\n for (i = 254; i >= 0; --i) {\n r = z[i >>> 3] >>> (i & 7) & 1;\n sel25519(a, b, r);\n sel25519(c, d, r);\n A(e, a, c);\n Z(a, a, c);\n A(c, b, d);\n Z(b, b, d);\n S(d, e);\n S(f, a);\n M(a, c, a);\n M(c, b, e);\n A(e, a, c);\n Z(a, a, c);\n S(b, a);\n Z(c, d, f);\n M(a, c, _121665);\n A(a, a, d);\n M(c, c, a);\n M(a, d, f);\n M(d, b, x);\n S(b, e);\n sel25519(a, b, r);\n sel25519(c, d, r);\n }\n\n for (i = 0; i < 16; i++) {\n x[i + 16] = a[i];\n x[i + 32] = c[i];\n x[i + 48] = b[i];\n x[i + 64] = d[i];\n }\n\n var x32 = x.subarray(32);\n var x16 = x.subarray(16);\n inv25519(x32, x32);\n M(x16, x16, x32);\n pack25519(q, x16);\n return 0;\n }\n\n function crypto_scalarmult_base(q, n) {\n return crypto_scalarmult(q, n, _9);\n }\n\n function crypto_box_keypair(y, x) {\n randombytes(x, 32);\n return crypto_scalarmult_base(y, x);\n }\n\n function crypto_box_beforenm(k, y, x) {\n var s = new Uint8Array(32);\n crypto_scalarmult(s, x, y);\n return crypto_core_hsalsa20(k, _0, s, sigma);\n }\n\n var crypto_box_afternm = crypto_secretbox;\n var crypto_box_open_afternm = crypto_secretbox_open;\n\n function crypto_box(c, m, d, n, y, x) {\n var k = new Uint8Array(32);\n crypto_box_beforenm(k, y, x);\n return crypto_box_afternm(c, m, d, n, k);\n }\n\n function crypto_box_open(m, c, d, n, y, x) {\n var k = new Uint8Array(32);\n crypto_box_beforenm(k, y, x);\n return crypto_box_open_afternm(m, c, d, n, k);\n }\n\n var K = [0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc, 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019, 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118, 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe, 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2, 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1, 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694, 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3, 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65, 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5, 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210, 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4, 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725, 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70, 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926, 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df, 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8, 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b, 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30, 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910, 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8, 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53, 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8, 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3, 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60, 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec, 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b, 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207, 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178, 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6, 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b, 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493, 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c, 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a, 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817];\n\n function crypto_hashblocks_hl(hh, hl, m, n) {\n var wh = new Int32Array(16),\n wl = new Int32Array(16),\n bh0,\n bh1,\n bh2,\n bh3,\n bh4,\n bh5,\n bh6,\n bh7,\n bl0,\n bl1,\n bl2,\n bl3,\n bl4,\n bl5,\n bl6,\n bl7,\n th,\n tl,\n i,\n j,\n h,\n l,\n a,\n b,\n c,\n d;\n var ah0 = hh[0],\n ah1 = hh[1],\n ah2 = hh[2],\n ah3 = hh[3],\n ah4 = hh[4],\n ah5 = hh[5],\n ah6 = hh[6],\n ah7 = hh[7],\n al0 = hl[0],\n al1 = hl[1],\n al2 = hl[2],\n al3 = hl[3],\n al4 = hl[4],\n al5 = hl[5],\n al6 = hl[6],\n al7 = hl[7];\n var pos = 0;\n\n while (n >= 128) {\n for (i = 0; i < 16; i++) {\n j = 8 * i + pos;\n wh[i] = m[j + 0] << 24 | m[j + 1] << 16 | m[j + 2] << 8 | m[j + 3];\n wl[i] = m[j + 4] << 24 | m[j + 5] << 16 | m[j + 6] << 8 | m[j + 7];\n }\n\n for (i = 0; i < 80; i++) {\n bh0 = ah0;\n bh1 = ah1;\n bh2 = ah2;\n bh3 = ah3;\n bh4 = ah4;\n bh5 = ah5;\n bh6 = ah6;\n bh7 = ah7;\n bl0 = al0;\n bl1 = al1;\n bl2 = al2;\n bl3 = al3;\n bl4 = al4;\n bl5 = al5;\n bl6 = al6;\n bl7 = al7; // add\n\n h = ah7;\n l = al7;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16; // Sigma1\n\n h = (ah4 >>> 14 | al4 << 32 - 14) ^ (ah4 >>> 18 | al4 << 32 - 18) ^ (al4 >>> 41 - 32 | ah4 << 32 - (41 - 32));\n l = (al4 >>> 14 | ah4 << 32 - 14) ^ (al4 >>> 18 | ah4 << 32 - 18) ^ (ah4 >>> 41 - 32 | al4 << 32 - (41 - 32));\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16; // Ch\n\n h = ah4 & ah5 ^ ~ah4 & ah6;\n l = al4 & al5 ^ ~al4 & al6;\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16; // K\n\n h = K[i * 2];\n l = K[i * 2 + 1];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16; // w\n\n h = wh[i % 16];\n l = wl[i % 16];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n th = c & 0xffff | d << 16;\n tl = a & 0xffff | b << 16; // add\n\n h = th;\n l = tl;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16; // Sigma0\n\n h = (ah0 >>> 28 | al0 << 32 - 28) ^ (al0 >>> 34 - 32 | ah0 << 32 - (34 - 32)) ^ (al0 >>> 39 - 32 | ah0 << 32 - (39 - 32));\n l = (al0 >>> 28 | ah0 << 32 - 28) ^ (ah0 >>> 34 - 32 | al0 << 32 - (34 - 32)) ^ (ah0 >>> 39 - 32 | al0 << 32 - (39 - 32));\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16; // Maj\n\n h = ah0 & ah1 ^ ah0 & ah2 ^ ah1 & ah2;\n l = al0 & al1 ^ al0 & al2 ^ al1 & al2;\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n bh7 = c & 0xffff | d << 16;\n bl7 = a & 0xffff | b << 16; // add\n\n h = bh3;\n l = bl3;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = th;\n l = tl;\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n bh3 = c & 0xffff | d << 16;\n bl3 = a & 0xffff | b << 16;\n ah1 = bh0;\n ah2 = bh1;\n ah3 = bh2;\n ah4 = bh3;\n ah5 = bh4;\n ah6 = bh5;\n ah7 = bh6;\n ah0 = bh7;\n al1 = bl0;\n al2 = bl1;\n al3 = bl2;\n al4 = bl3;\n al5 = bl4;\n al6 = bl5;\n al7 = bl6;\n al0 = bl7;\n\n if (i % 16 === 15) {\n for (j = 0; j < 16; j++) {\n // add\n h = wh[j];\n l = wl[j];\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = wh[(j + 9) % 16];\n l = wl[(j + 9) % 16];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16; // sigma0\n\n th = wh[(j + 1) % 16];\n tl = wl[(j + 1) % 16];\n h = (th >>> 1 | tl << 32 - 1) ^ (th >>> 8 | tl << 32 - 8) ^ th >>> 7;\n l = (tl >>> 1 | th << 32 - 1) ^ (tl >>> 8 | th << 32 - 8) ^ (tl >>> 7 | th << 32 - 7);\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16; // sigma1\n\n th = wh[(j + 14) % 16];\n tl = wl[(j + 14) % 16];\n h = (th >>> 19 | tl << 32 - 19) ^ (tl >>> 61 - 32 | th << 32 - (61 - 32)) ^ th >>> 6;\n l = (tl >>> 19 | th << 32 - 19) ^ (th >>> 61 - 32 | tl << 32 - (61 - 32)) ^ (tl >>> 6 | th << 32 - 6);\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n wh[j] = c & 0xffff | d << 16;\n wl[j] = a & 0xffff | b << 16;\n }\n }\n } // add\n\n\n h = ah0;\n l = al0;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[0];\n l = hl[0];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[0] = ah0 = c & 0xffff | d << 16;\n hl[0] = al0 = a & 0xffff | b << 16;\n h = ah1;\n l = al1;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[1];\n l = hl[1];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[1] = ah1 = c & 0xffff | d << 16;\n hl[1] = al1 = a & 0xffff | b << 16;\n h = ah2;\n l = al2;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[2];\n l = hl[2];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[2] = ah2 = c & 0xffff | d << 16;\n hl[2] = al2 = a & 0xffff | b << 16;\n h = ah3;\n l = al3;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[3];\n l = hl[3];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[3] = ah3 = c & 0xffff | d << 16;\n hl[3] = al3 = a & 0xffff | b << 16;\n h = ah4;\n l = al4;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[4];\n l = hl[4];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[4] = ah4 = c & 0xffff | d << 16;\n hl[4] = al4 = a & 0xffff | b << 16;\n h = ah5;\n l = al5;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[5];\n l = hl[5];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[5] = ah5 = c & 0xffff | d << 16;\n hl[5] = al5 = a & 0xffff | b << 16;\n h = ah6;\n l = al6;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[6];\n l = hl[6];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[6] = ah6 = c & 0xffff | d << 16;\n hl[6] = al6 = a & 0xffff | b << 16;\n h = ah7;\n l = al7;\n a = l & 0xffff;\n b = l >>> 16;\n c = h & 0xffff;\n d = h >>> 16;\n h = hh[7];\n l = hl[7];\n a += l & 0xffff;\n b += l >>> 16;\n c += h & 0xffff;\n d += h >>> 16;\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n hh[7] = ah7 = c & 0xffff | d << 16;\n hl[7] = al7 = a & 0xffff | b << 16;\n pos += 128;\n n -= 128;\n }\n\n return n;\n }\n\n function crypto_hash(out, m, n) {\n var hh = new Int32Array(8),\n hl = new Int32Array(8),\n x = new Uint8Array(256),\n i,\n b = n;\n hh[0] = 0x6a09e667;\n hh[1] = 0xbb67ae85;\n hh[2] = 0x3c6ef372;\n hh[3] = 0xa54ff53a;\n hh[4] = 0x510e527f;\n hh[5] = 0x9b05688c;\n hh[6] = 0x1f83d9ab;\n hh[7] = 0x5be0cd19;\n hl[0] = 0xf3bcc908;\n hl[1] = 0x84caa73b;\n hl[2] = 0xfe94f82b;\n hl[3] = 0x5f1d36f1;\n hl[4] = 0xade682d1;\n hl[5] = 0x2b3e6c1f;\n hl[6] = 0xfb41bd6b;\n hl[7] = 0x137e2179;\n crypto_hashblocks_hl(hh, hl, m, n);\n n %= 128;\n\n for (i = 0; i < n; i++) {\n x[i] = m[b - n + i];\n }\n\n x[n] = 128;\n n = 256 - 128 * (n < 112 ? 1 : 0);\n x[n - 9] = 0;\n ts64(x, n - 8, b / 0x20000000 | 0, b << 3);\n crypto_hashblocks_hl(hh, hl, x, n);\n\n for (i = 0; i < 8; i++) {\n ts64(out, 8 * i, hh[i], hl[i]);\n }\n\n return 0;\n }\n\n function add(p, q) {\n var a = gf(),\n b = gf(),\n c = gf(),\n d = gf(),\n e = gf(),\n f = gf(),\n g = gf(),\n h = gf(),\n t = gf();\n Z(a, p[1], p[0]);\n Z(t, q[1], q[0]);\n M(a, a, t);\n A(b, p[0], p[1]);\n A(t, q[0], q[1]);\n M(b, b, t);\n M(c, p[3], q[3]);\n M(c, c, D2);\n M(d, p[2], q[2]);\n A(d, d, d);\n Z(e, b, a);\n Z(f, d, c);\n A(g, d, c);\n A(h, b, a);\n M(p[0], e, f);\n M(p[1], h, g);\n M(p[2], g, f);\n M(p[3], e, h);\n }\n\n function cswap(p, q, b) {\n var i;\n\n for (i = 0; i < 4; i++) {\n sel25519(p[i], q[i], b);\n }\n }\n\n function pack(r, p) {\n var tx = gf(),\n ty = gf(),\n zi = gf();\n inv25519(zi, p[2]);\n M(tx, p[0], zi);\n M(ty, p[1], zi);\n pack25519(r, ty);\n r[31] ^= par25519(tx) << 7;\n }\n\n function scalarmult(p, q, s) {\n var b, i;\n set25519(p[0], gf0);\n set25519(p[1], gf1);\n set25519(p[2], gf1);\n set25519(p[3], gf0);\n\n for (i = 255; i >= 0; --i) {\n b = s[i / 8 | 0] >> (i & 7) & 1;\n cswap(p, q, b);\n add(q, p);\n add(p, p);\n cswap(p, q, b);\n }\n }\n\n function scalarbase(p, s) {\n var q = [gf(), gf(), gf(), gf()];\n set25519(q[0], X);\n set25519(q[1], Y);\n set25519(q[2], gf1);\n M(q[3], X, Y);\n scalarmult(p, q, s);\n }\n\n function crypto_sign_keypair(pk, sk, seeded) {\n var d = new Uint8Array(64);\n var p = [gf(), gf(), gf(), gf()];\n var i;\n if (!seeded) randombytes(sk, 32);\n crypto_hash(d, sk, 32);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n scalarbase(p, d);\n pack(pk, p);\n\n for (i = 0; i < 32; i++) {\n sk[i + 32] = pk[i];\n }\n\n return 0;\n }\n\n var L = new Float64Array([0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x10]);\n\n function modL(r, x) {\n var carry, i, j, k;\n\n for (i = 63; i >= 32; --i) {\n carry = 0;\n\n for (j = i - 32, k = i - 12; j < k; ++j) {\n x[j] += carry - 16 * x[i] * L[j - (i - 32)];\n carry = Math.floor((x[j] + 128) / 256);\n x[j] -= carry * 256;\n }\n\n x[j] += carry;\n x[i] = 0;\n }\n\n carry = 0;\n\n for (j = 0; j < 32; j++) {\n x[j] += carry - (x[31] >> 4) * L[j];\n carry = x[j] >> 8;\n x[j] &= 255;\n }\n\n for (j = 0; j < 32; j++) {\n x[j] -= carry * L[j];\n }\n\n for (i = 0; i < 32; i++) {\n x[i + 1] += x[i] >> 8;\n r[i] = x[i] & 255;\n }\n }\n\n function reduce(r) {\n var x = new Float64Array(64),\n i;\n\n for (i = 0; i < 64; i++) {\n x[i] = r[i];\n }\n\n for (i = 0; i < 64; i++) {\n r[i] = 0;\n }\n\n modL(r, x);\n } // Note: difference from C - smlen returned, not passed as argument.\n\n\n function crypto_sign(sm, m, n, sk) {\n var d = new Uint8Array(64),\n h = new Uint8Array(64),\n r = new Uint8Array(64);\n var i,\n j,\n x = new Float64Array(64);\n var p = [gf(), gf(), gf(), gf()];\n crypto_hash(d, sk, 32);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n var smlen = n + 64;\n\n for (i = 0; i < n; i++) {\n sm[64 + i] = m[i];\n }\n\n for (i = 0; i < 32; i++) {\n sm[32 + i] = d[32 + i];\n }\n\n crypto_hash(r, sm.subarray(32), n + 32);\n reduce(r);\n scalarbase(p, r);\n pack(sm, p);\n\n for (i = 32; i < 64; i++) {\n sm[i] = sk[i];\n }\n\n crypto_hash(h, sm, n + 64);\n reduce(h);\n\n for (i = 0; i < 64; i++) {\n x[i] = 0;\n }\n\n for (i = 0; i < 32; i++) {\n x[i] = r[i];\n }\n\n for (i = 0; i < 32; i++) {\n for (j = 0; j < 32; j++) {\n x[i + j] += h[i] * d[j];\n }\n }\n\n modL(sm.subarray(32), x);\n return smlen;\n }\n\n function unpackneg(r, p) {\n var t = gf(),\n chk = gf(),\n num = gf(),\n den = gf(),\n den2 = gf(),\n den4 = gf(),\n den6 = gf();\n set25519(r[2], gf1);\n unpack25519(r[1], p);\n S(num, r[1]);\n M(den, num, D);\n Z(num, num, r[2]);\n A(den, r[2], den);\n S(den2, den);\n S(den4, den2);\n M(den6, den4, den2);\n M(t, den6, num);\n M(t, t, den);\n pow2523(t, t);\n M(t, t, num);\n M(t, t, den);\n M(t, t, den);\n M(r[0], t, den);\n S(chk, r[0]);\n M(chk, chk, den);\n if (neq25519(chk, num)) M(r[0], r[0], I);\n S(chk, r[0]);\n M(chk, chk, den);\n if (neq25519(chk, num)) return -1;\n if (par25519(r[0]) === p[31] >> 7) Z(r[0], gf0, r[0]);\n M(r[3], r[0], r[1]);\n return 0;\n }\n\n function crypto_sign_open(m, sm, n, pk) {\n var i;\n var t = new Uint8Array(32),\n h = new Uint8Array(64);\n var p = [gf(), gf(), gf(), gf()],\n q = [gf(), gf(), gf(), gf()];\n if (n < 64) return -1;\n if (unpackneg(q, pk)) return -1;\n\n for (i = 0; i < n; i++) {\n m[i] = sm[i];\n }\n\n for (i = 0; i < 32; i++) {\n m[i + 32] = pk[i];\n }\n\n crypto_hash(h, m, n);\n reduce(h);\n scalarmult(p, q, h);\n scalarbase(q, sm.subarray(32));\n add(p, q);\n pack(t, p);\n n -= 64;\n\n if (crypto_verify_32(sm, 0, t, 0)) {\n for (i = 0; i < n; i++) {\n m[i] = 0;\n }\n\n return -1;\n }\n\n for (i = 0; i < n; i++) {\n m[i] = sm[i + 64];\n }\n\n return n;\n }\n\n var crypto_secretbox_KEYBYTES = 32,\n crypto_secretbox_NONCEBYTES = 24,\n crypto_secretbox_ZEROBYTES = 32,\n crypto_secretbox_BOXZEROBYTES = 16,\n crypto_scalarmult_BYTES = 32,\n crypto_scalarmult_SCALARBYTES = 32,\n crypto_box_PUBLICKEYBYTES = 32,\n crypto_box_SECRETKEYBYTES = 32,\n crypto_box_BEFORENMBYTES = 32,\n crypto_box_NONCEBYTES = crypto_secretbox_NONCEBYTES,\n crypto_box_ZEROBYTES = crypto_secretbox_ZEROBYTES,\n crypto_box_BOXZEROBYTES = crypto_secretbox_BOXZEROBYTES,\n crypto_sign_BYTES = 64,\n crypto_sign_PUBLICKEYBYTES = 32,\n crypto_sign_SECRETKEYBYTES = 64,\n crypto_sign_SEEDBYTES = 32,\n crypto_hash_BYTES = 64;\n nacl.lowlevel = {\n crypto_core_hsalsa20: crypto_core_hsalsa20,\n crypto_stream_xor: crypto_stream_xor,\n crypto_stream: crypto_stream,\n crypto_stream_salsa20_xor: crypto_stream_salsa20_xor,\n crypto_stream_salsa20: crypto_stream_salsa20,\n crypto_onetimeauth: crypto_onetimeauth,\n crypto_onetimeauth_verify: crypto_onetimeauth_verify,\n crypto_verify_16: crypto_verify_16,\n crypto_verify_32: crypto_verify_32,\n crypto_secretbox: crypto_secretbox,\n crypto_secretbox_open: crypto_secretbox_open,\n crypto_scalarmult: crypto_scalarmult,\n crypto_scalarmult_base: crypto_scalarmult_base,\n crypto_box_beforenm: crypto_box_beforenm,\n crypto_box_afternm: crypto_box_afternm,\n crypto_box: crypto_box,\n crypto_box_open: crypto_box_open,\n crypto_box_keypair: crypto_box_keypair,\n crypto_hash: crypto_hash,\n crypto_sign: crypto_sign,\n crypto_sign_keypair: crypto_sign_keypair,\n crypto_sign_open: crypto_sign_open,\n crypto_secretbox_KEYBYTES: crypto_secretbox_KEYBYTES,\n crypto_secretbox_NONCEBYTES: crypto_secretbox_NONCEBYTES,\n crypto_secretbox_ZEROBYTES: crypto_secretbox_ZEROBYTES,\n crypto_secretbox_BOXZEROBYTES: crypto_secretbox_BOXZEROBYTES,\n crypto_scalarmult_BYTES: crypto_scalarmult_BYTES,\n crypto_scalarmult_SCALARBYTES: crypto_scalarmult_SCALARBYTES,\n crypto_box_PUBLICKEYBYTES: crypto_box_PUBLICKEYBYTES,\n crypto_box_SECRETKEYBYTES: crypto_box_SECRETKEYBYTES,\n crypto_box_BEFORENMBYTES: crypto_box_BEFORENMBYTES,\n crypto_box_NONCEBYTES: crypto_box_NONCEBYTES,\n crypto_box_ZEROBYTES: crypto_box_ZEROBYTES,\n crypto_box_BOXZEROBYTES: crypto_box_BOXZEROBYTES,\n crypto_sign_BYTES: crypto_sign_BYTES,\n crypto_sign_PUBLICKEYBYTES: crypto_sign_PUBLICKEYBYTES,\n crypto_sign_SECRETKEYBYTES: crypto_sign_SECRETKEYBYTES,\n crypto_sign_SEEDBYTES: crypto_sign_SEEDBYTES,\n crypto_hash_BYTES: crypto_hash_BYTES,\n gf: gf,\n D: D,\n L: L,\n pack25519: pack25519,\n unpack25519: unpack25519,\n M: M,\n A: A,\n S: S,\n Z: Z,\n pow2523: pow2523,\n add: add,\n set25519: set25519,\n modL: modL,\n scalarmult: scalarmult,\n scalarbase: scalarbase\n };\n /* High-level API */\n\n function checkLengths(k, n) {\n if (k.length !== crypto_secretbox_KEYBYTES) throw new Error('bad key size');\n if (n.length !== crypto_secretbox_NONCEBYTES) throw new Error('bad nonce size');\n }\n\n function checkBoxLengths(pk, sk) {\n if (pk.length !== crypto_box_PUBLICKEYBYTES) throw new Error('bad public key size');\n if (sk.length !== crypto_box_SECRETKEYBYTES) throw new Error('bad secret key size');\n }\n\n function checkArrayTypes() {\n for (var i = 0; i < arguments.length; i++) {\n if (!(arguments[i] instanceof Uint8Array)) throw new TypeError('unexpected type, use Uint8Array');\n }\n }\n\n function cleanup(arr) {\n for (var i = 0; i < arr.length; i++) {\n arr[i] = 0;\n }\n }\n\n nacl.randomBytes = function (n) {\n var b = new Uint8Array(n);\n randombytes(b, n);\n return b;\n };\n\n nacl.secretbox = function (msg, nonce, key) {\n checkArrayTypes(msg, nonce, key);\n checkLengths(key, nonce);\n var m = new Uint8Array(crypto_secretbox_ZEROBYTES + msg.length);\n var c = new Uint8Array(m.length);\n\n for (var i = 0; i < msg.length; i++) {\n m[i + crypto_secretbox_ZEROBYTES] = msg[i];\n }\n\n crypto_secretbox(c, m, m.length, nonce, key);\n return c.subarray(crypto_secretbox_BOXZEROBYTES);\n };\n\n nacl.secretbox.open = function (box, nonce, key) {\n checkArrayTypes(box, nonce, key);\n checkLengths(key, nonce);\n var c = new Uint8Array(crypto_secretbox_BOXZEROBYTES + box.length);\n var m = new Uint8Array(c.length);\n\n for (var i = 0; i < box.length; i++) {\n c[i + crypto_secretbox_BOXZEROBYTES] = box[i];\n }\n\n if (c.length < 32) return null;\n if (crypto_secretbox_open(m, c, c.length, nonce, key) !== 0) return null;\n return m.subarray(crypto_secretbox_ZEROBYTES);\n };\n\n nacl.secretbox.keyLength = crypto_secretbox_KEYBYTES;\n nacl.secretbox.nonceLength = crypto_secretbox_NONCEBYTES;\n nacl.secretbox.overheadLength = crypto_secretbox_BOXZEROBYTES;\n\n nacl.scalarMult = function (n, p) {\n checkArrayTypes(n, p);\n if (n.length !== crypto_scalarmult_SCALARBYTES) throw new Error('bad n size');\n if (p.length !== crypto_scalarmult_BYTES) throw new Error('bad p size');\n var q = new Uint8Array(crypto_scalarmult_BYTES);\n crypto_scalarmult(q, n, p);\n return q;\n };\n\n nacl.scalarMult.base = function (n) {\n checkArrayTypes(n);\n if (n.length !== crypto_scalarmult_SCALARBYTES) throw new Error('bad n size');\n var q = new Uint8Array(crypto_scalarmult_BYTES);\n crypto_scalarmult_base(q, n);\n return q;\n };\n\n nacl.scalarMult.scalarLength = crypto_scalarmult_SCALARBYTES;\n nacl.scalarMult.groupElementLength = crypto_scalarmult_BYTES;\n\n nacl.box = function (msg, nonce, publicKey, secretKey) {\n var k = nacl.box.before(publicKey, secretKey);\n return nacl.secretbox(msg, nonce, k);\n };\n\n nacl.box.before = function (publicKey, secretKey) {\n checkArrayTypes(publicKey, secretKey);\n checkBoxLengths(publicKey, secretKey);\n var k = new Uint8Array(crypto_box_BEFORENMBYTES);\n crypto_box_beforenm(k, publicKey, secretKey);\n return k;\n };\n\n nacl.box.after = nacl.secretbox;\n\n nacl.box.open = function (msg, nonce, publicKey, secretKey) {\n var k = nacl.box.before(publicKey, secretKey);\n return nacl.secretbox.open(msg, nonce, k);\n };\n\n nacl.box.open.after = nacl.secretbox.open;\n\n nacl.box.keyPair = function () {\n var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_box_SECRETKEYBYTES);\n crypto_box_keypair(pk, sk);\n return {\n publicKey: pk,\n secretKey: sk\n };\n };\n\n nacl.box.keyPair.fromSecretKey = function (secretKey) {\n checkArrayTypes(secretKey);\n if (secretKey.length !== crypto_box_SECRETKEYBYTES) throw new Error('bad secret key size');\n var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES);\n crypto_scalarmult_base(pk, secretKey);\n return {\n publicKey: pk,\n secretKey: new Uint8Array(secretKey)\n };\n };\n\n nacl.box.publicKeyLength = crypto_box_PUBLICKEYBYTES;\n nacl.box.secretKeyLength = crypto_box_SECRETKEYBYTES;\n nacl.box.sharedKeyLength = crypto_box_BEFORENMBYTES;\n nacl.box.nonceLength = crypto_box_NONCEBYTES;\n nacl.box.overheadLength = nacl.secretbox.overheadLength;\n\n nacl.sign = function (msg, secretKey) {\n checkArrayTypes(msg, secretKey);\n if (secretKey.length !== crypto_sign_SECRETKEYBYTES) throw new Error('bad secret key size');\n var signedMsg = new Uint8Array(crypto_sign_BYTES + msg.length);\n crypto_sign(signedMsg, msg, msg.length, secretKey);\n return signedMsg;\n };\n\n nacl.sign.open = function (signedMsg, publicKey) {\n checkArrayTypes(signedMsg, publicKey);\n if (publicKey.length !== crypto_sign_PUBLICKEYBYTES) throw new Error('bad public key size');\n var tmp = new Uint8Array(signedMsg.length);\n var mlen = crypto_sign_open(tmp, signedMsg, signedMsg.length, publicKey);\n if (mlen < 0) return null;\n var m = new Uint8Array(mlen);\n\n for (var i = 0; i < m.length; i++) {\n m[i] = tmp[i];\n }\n\n return m;\n };\n\n nacl.sign.detached = function (msg, secretKey) {\n var signedMsg = nacl.sign(msg, secretKey);\n var sig = new Uint8Array(crypto_sign_BYTES);\n\n for (var i = 0; i < sig.length; i++) {\n sig[i] = signedMsg[i];\n }\n\n return sig;\n };\n\n nacl.sign.detached.verify = function (msg, sig, publicKey) {\n checkArrayTypes(msg, sig, publicKey);\n if (sig.length !== crypto_sign_BYTES) throw new Error('bad signature size');\n if (publicKey.length !== crypto_sign_PUBLICKEYBYTES) throw new Error('bad public key size');\n var sm = new Uint8Array(crypto_sign_BYTES + msg.length);\n var m = new Uint8Array(crypto_sign_BYTES + msg.length);\n var i;\n\n for (i = 0; i < crypto_sign_BYTES; i++) {\n sm[i] = sig[i];\n }\n\n for (i = 0; i < msg.length; i++) {\n sm[i + crypto_sign_BYTES] = msg[i];\n }\n\n return crypto_sign_open(m, sm, sm.length, publicKey) >= 0;\n };\n\n nacl.sign.keyPair = function () {\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES);\n crypto_sign_keypair(pk, sk);\n return {\n publicKey: pk,\n secretKey: sk\n };\n };\n\n nacl.sign.keyPair.fromSecretKey = function (secretKey) {\n checkArrayTypes(secretKey);\n if (secretKey.length !== crypto_sign_SECRETKEYBYTES) throw new Error('bad secret key size');\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n\n for (var i = 0; i < pk.length; i++) {\n pk[i] = secretKey[32 + i];\n }\n\n return {\n publicKey: pk,\n secretKey: new Uint8Array(secretKey)\n };\n };\n\n nacl.sign.keyPair.fromSeed = function (seed) {\n checkArrayTypes(seed);\n if (seed.length !== crypto_sign_SEEDBYTES) throw new Error('bad seed size');\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES);\n\n for (var i = 0; i < 32; i++) {\n sk[i] = seed[i];\n }\n\n crypto_sign_keypair(pk, sk, true);\n return {\n publicKey: pk,\n secretKey: sk\n };\n };\n\n nacl.sign.publicKeyLength = crypto_sign_PUBLICKEYBYTES;\n nacl.sign.secretKeyLength = crypto_sign_SECRETKEYBYTES;\n nacl.sign.seedLength = crypto_sign_SEEDBYTES;\n nacl.sign.signatureLength = crypto_sign_BYTES;\n\n nacl.hash = function (msg) {\n checkArrayTypes(msg);\n var h = new Uint8Array(crypto_hash_BYTES);\n crypto_hash(h, msg, msg.length);\n return h;\n };\n\n nacl.hash.hashLength = crypto_hash_BYTES;\n\n nacl.verify = function (x, y) {\n checkArrayTypes(x, y); // Zero length arguments are considered not equal.\n\n if (x.length === 0 || y.length === 0) return false;\n if (x.length !== y.length) return false;\n return vn(x, 0, y, 0, x.length) === 0 ? true : false;\n };\n\n nacl.setPRNG = function (fn) {\n randombytes = fn;\n };\n\n (function () {\n // Initialize PRNG if environment provides CSPRNG.\n // If not, methods calling randombytes will throw.\n var crypto = typeof self !== 'undefined' ? self.crypto || self.msCrypto : null;\n\n if (crypto && crypto.getRandomValues) {\n // Browsers.\n var QUOTA = 65536;\n nacl.setPRNG(function (x, n) {\n var i,\n v = new Uint8Array(n);\n\n for (i = 0; i < n; i += QUOTA) {\n crypto.getRandomValues(v.subarray(i, i + Math.min(n - i, QUOTA)));\n }\n\n for (i = 0; i < n; i++) {\n x[i] = v[i];\n }\n\n cleanup(v);\n });\n } else if (typeof require !== 'undefined') {\n // Node.js.\n crypto = require('crypto');\n\n if (crypto && crypto.randomBytes) {\n nacl.setPRNG(function (x, n) {\n var i,\n v = crypto.randomBytes(n);\n\n for (i = 0; i < n; i++) {\n x[i] = v[i];\n }\n\n cleanup(v);\n });\n }\n }\n })();\n})(typeof module !== 'undefined' && module.exports ? module.exports : self.nacl = self.nacl || {});","require(\"capability/es5\");\n\nmodule.exports = require(\"./lib\");","var Class = function Class() {\n var options = Object.create({\n Source: Object,\n config: {},\n buildArgs: []\n });\n\n function checkOption(option) {\n var key = \"config\";\n if (option instanceof Function) key = \"Source\";else if (option instanceof Array) key = \"buildArgs\";else if (option instanceof Object) key = \"config\";else throw new Error(\"Invalid configuration option.\");\n if (options.hasOwnProperty(key)) throw new Error(\"Duplicated configuration option: \" + key + \".\");\n options[key] = option;\n }\n\n for (var index = 0, length = arguments.length; index < length; ++index) {\n checkOption(arguments[index]);\n }\n\n var Source = options.Source,\n config = options.config,\n buildArgs = options.buildArgs;\n return (Source.extend || Class.extend).call(Source, config, buildArgs);\n};\n\nClass.factory = function () {\n var Source = this;\n return function () {\n var instance = this;\n if (instance.build instanceof Function) instance.build.apply(instance, arguments);\n if (instance.init instanceof Function) instance.init.apply(instance, arguments);\n };\n};\n\nClass.extend = function (config, buildArgs) {\n var Source = this;\n if (!config) config = {};\n var Subject;\n if (config.prototype instanceof Object && config.prototype.constructor !== Object) Subject = config.prototype.constructor;else if (config.factory instanceof Function) Subject = config.factory.call(Source);\n Subject = (Source.clone || Class.clone).call(Source, Subject, buildArgs);\n (Subject.merge || Class.merge).call(Subject, config);\n return Subject;\n};\n\nClass.prototype.extend = function (config, buildArgs) {\n var subject = this;\n var instance = (subject.clone || Class.prototype.clone).apply(subject, buildArgs);\n (instance.merge || Class.prototype.merge).call(instance, config);\n return instance;\n};\n\nClass.clone = function (Subject, buildArgs) {\n var Source = this;\n if (!(Subject instanceof Function)) Subject = (Source.factory || Class.factory).call(Source);\n Subject.prototype = (Source.prototype.clone || Class.prototype.clone).apply(Source.prototype, buildArgs || []);\n Subject.prototype.constructor = Subject;\n\n for (var staticProperty in Source) {\n if (staticProperty !== \"prototype\") Subject[staticProperty] = Source[staticProperty];\n }\n\n return Subject;\n};\n\nClass.prototype.clone = function () {\n var subject = this;\n var instance = Object.create(subject);\n if (instance.build instanceof Function) instance.build.apply(instance, arguments);\n return instance;\n};\n\nClass.merge = function (config) {\n var Subject = this;\n\n for (var staticProperty in config) {\n if (staticProperty !== \"prototype\") Subject[staticProperty] = config[staticProperty];\n }\n\n if (config.prototype instanceof Object) (Subject.prototype.merge || Class.prototype.merge).call(Subject.prototype, config.prototype);\n return Subject;\n};\n\nClass.prototype.merge = function (config) {\n var subject = this;\n\n for (var property in config) {\n if (property !== \"constructor\") subject[property] = config[property];\n }\n\n return subject;\n};\n\nClass.absorb = function (config) {\n var Subject = this;\n\n for (var staticProperty in config) {\n if (staticProperty !== \"prototype\" && (Subject[staticProperty] === undefined || Subject[staticProperty] === Function.prototype[staticProperty])) Subject[staticProperty] = config[staticProperty];\n }\n\n if (config.prototype instanceof Object) (Subject.prototype.absorb || Class.prototype.absorb).call(Subject.prototype, config.prototype);\n return Subject;\n};\n\nClass.prototype.absorb = function (config) {\n var subject = this;\n\n for (var property in config) {\n if (property !== \"constructor\" && (subject[property] === undefined || subject[property] === Object.prototype[property])) subject[property] = config[property];\n }\n\n return subject;\n};\n\nClass.getAncestor = function () {\n var Source = this;\n if (Source !== Source.prototype.constructor) return Source.prototype.constructor;\n};\n\nClass.newInstance = function () {\n var Subject = this;\n var instance = Object.create(this.prototype);\n Subject.apply(instance, arguments);\n return instance;\n};\n\nmodule.exports = Class;","module.exports = function () {\n throw new Error(\"Not implemented.\");\n};","module.exports = {\n Class: require(\"./Class\"),\n abstractMethod: require(\"./abstractMethod\")\n};","/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer');\n\nvar Buffer = buffer.Buffer; // alternative to using Object.keys for old browsers\n\nfunction copyProps(src, dst) {\n for (var key in src) {\n dst[key] = src[key];\n }\n}\n\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer;\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports);\n exports.Buffer = SafeBuffer;\n}\n\nfunction SafeBuffer(arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length);\n} // Copy static methods from Buffer\n\n\ncopyProps(Buffer, SafeBuffer);\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number');\n }\n\n return Buffer(arg, encodingOrOffset, length);\n};\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number');\n }\n\n var buf = Buffer(size);\n\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding);\n } else {\n buf.fill(fill);\n }\n } else {\n buf.fill(0);\n }\n\n return buf;\n};\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number');\n }\n\n return Buffer(size);\n};\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number');\n }\n\n return buffer.SlowBuffer(size);\n};","'use strict';\n/* eslint no-proto: 0 */\n\nmodule.exports = Object.setPrototypeOf || ({\n __proto__: []\n} instanceof Array ? setProtoOf : mixinProperties);\n\nfunction setProtoOf(obj, proto) {\n obj.__proto__ = proto;\n return obj;\n}\n\nfunction mixinProperties(obj, proto) {\n for (var prop in proto) {\n if (!Object.prototype.hasOwnProperty.call(obj, prop)) {\n obj[prop] = proto[prop];\n }\n }\n\n return obj;\n}","/*!\n * statuses\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2016 Douglas Christopher Wilson\n * MIT Licensed\n */\n'use strict';\n/**\n * Module dependencies.\n * @private\n */\n\nvar codes = require('./codes.json');\n/**\n * Module exports.\n * @public\n */\n\n\nmodule.exports = status; // status code to message map\n\nstatus.STATUS_CODES = codes; // array of status codes\n\nstatus.codes = populateStatusesMap(status, codes); // status codes for redirects\n\nstatus.redirect = {\n 300: true,\n 301: true,\n 302: true,\n 303: true,\n 305: true,\n 307: true,\n 308: true\n}; // status codes for empty bodies\n\nstatus.empty = {\n 204: true,\n 205: true,\n 304: true\n}; // status codes for when you should retry the request\n\nstatus.retry = {\n 502: true,\n 503: true,\n 504: true\n};\n/**\n * Populate the statuses map for given codes.\n * @private\n */\n\nfunction populateStatusesMap(statuses, codes) {\n var arr = [];\n Object.keys(codes).forEach(function forEachCode(code) {\n var message = codes[code];\n var status = Number(code); // Populate properties\n\n statuses[status] = message;\n statuses[message] = status;\n statuses[message.toLowerCase()] = status; // Add to array\n\n arr.push(status);\n });\n return arr;\n}\n/**\n * Get the status code.\n *\n * Given a number, this will throw if it is not a known status\n * code, otherwise the code will be returned. Given a string,\n * the string will be parsed for a number and return the code\n * if valid, otherwise will lookup the code assuming this is\n * the status message.\n *\n * @param {string|number} code\n * @returns {number}\n * @public\n */\n\n\nfunction status(code) {\n if (typeof code === 'number') {\n if (!status[code]) throw new Error('invalid status code: ' + code);\n return code;\n }\n\n if (typeof code !== 'string') {\n throw new TypeError('code must be a number or string');\n } // '403'\n\n\n var n = parseInt(code, 10);\n\n if (!isNaN(n)) {\n if (!status[n]) throw new Error('invalid status code: ' + n);\n return n;\n }\n\n n = status[code.toLowerCase()];\n if (!n) throw new Error('invalid status message: \"' + code + '\"');\n return n;\n}","'use strict'; // This is free and unencumbered software released into the public domain.\n// See LICENSE.md for more information.\n//\n// Utilities\n//\n\n/**\n * @param {number} a The number to test.\n * @param {number} min The minimum value in the range, inclusive.\n * @param {number} max The maximum value in the range, inclusive.\n * @return {boolean} True if a >= min and a <= max.\n */\n\nfunction inRange(a, min, max) {\n return min <= a && a <= max;\n}\n/**\n * @param {*} o\n * @return {Object}\n */\n\n\nfunction ToDictionary(o) {\n if (o === undefined) return {};\n if (o === Object(o)) return o;\n throw TypeError('Could not convert argument to dictionary');\n}\n/**\n * @param {string} string Input string of UTF-16 code units.\n * @return {!Array.} Code points.\n */\n\n\nfunction stringToCodePoints(string) {\n // https://heycam.github.io/webidl/#dfn-obtain-unicode\n // 1. Let S be the DOMString value.\n var s = String(string); // 2. Let n be the length of S.\n\n var n = s.length; // 3. Initialize i to 0.\n\n var i = 0; // 4. Initialize U to be an empty sequence of Unicode characters.\n\n var u = []; // 5. While i < n:\n\n while (i < n) {\n // 1. Let c be the code unit in S at index i.\n var c = s.charCodeAt(i); // 2. Depending on the value of c:\n // c < 0xD800 or c > 0xDFFF\n\n if (c < 0xD800 || c > 0xDFFF) {\n // Append to U the Unicode character with code point c.\n u.push(c);\n } // 0xDC00 ≤ c ≤ 0xDFFF\n else if (0xDC00 <= c && c <= 0xDFFF) {\n // Append to U a U+FFFD REPLACEMENT CHARACTER.\n u.push(0xFFFD);\n } // 0xD800 ≤ c ≤ 0xDBFF\n else if (0xD800 <= c && c <= 0xDBFF) {\n // 1. If i = n−1, then append to U a U+FFFD REPLACEMENT\n // CHARACTER.\n if (i === n - 1) {\n u.push(0xFFFD);\n } // 2. Otherwise, i < n−1:\n else {\n // 1. Let d be the code unit in S at index i+1.\n var d = string.charCodeAt(i + 1); // 2. If 0xDC00 ≤ d ≤ 0xDFFF, then:\n\n if (0xDC00 <= d && d <= 0xDFFF) {\n // 1. Let a be c & 0x3FF.\n var a = c & 0x3FF; // 2. Let b be d & 0x3FF.\n\n var b = d & 0x3FF; // 3. Append to U the Unicode character with code point\n // 2^16+2^10*a+b.\n\n u.push(0x10000 + (a << 10) + b); // 4. Set i to i+1.\n\n i += 1;\n } // 3. Otherwise, d < 0xDC00 or d > 0xDFFF. Append to U a\n // U+FFFD REPLACEMENT CHARACTER.\n else {\n u.push(0xFFFD);\n }\n }\n } // 3. Set i to i+1.\n\n\n i += 1;\n } // 6. Return U.\n\n\n return u;\n}\n/**\n * @param {!Array.} code_points Array of code points.\n * @return {string} string String of UTF-16 code units.\n */\n\n\nfunction codePointsToString(code_points) {\n var s = '';\n\n for (var i = 0; i < code_points.length; ++i) {\n var cp = code_points[i];\n\n if (cp <= 0xFFFF) {\n s += String.fromCharCode(cp);\n } else {\n cp -= 0x10000;\n s += String.fromCharCode((cp >> 10) + 0xD800, (cp & 0x3FF) + 0xDC00);\n }\n }\n\n return s;\n} //\n// Implementation of Encoding specification\n// https://encoding.spec.whatwg.org/\n//\n//\n// 3. Terminology\n//\n\n/**\n * End-of-stream is a special token that signifies no more tokens\n * are in the stream.\n * @const\n */\n\n\nvar end_of_stream = -1;\n/**\n * A stream represents an ordered sequence of tokens.\n *\n * @constructor\n * @param {!(Array.|Uint8Array)} tokens Array of tokens that provide the\n * stream.\n */\n\nfunction Stream(tokens) {\n /** @type {!Array.} */\n this.tokens = [].slice.call(tokens);\n}\n\nStream.prototype = {\n /**\n * @return {boolean} True if end-of-stream has been hit.\n */\n endOfStream: function endOfStream() {\n return !this.tokens.length;\n },\n\n /**\n * When a token is read from a stream, the first token in the\n * stream must be returned and subsequently removed, and\n * end-of-stream must be returned otherwise.\n *\n * @return {number} Get the next token from the stream, or\n * end_of_stream.\n */\n read: function read() {\n if (!this.tokens.length) return end_of_stream;\n return this.tokens.shift();\n },\n\n /**\n * When one or more tokens are prepended to a stream, those tokens\n * must be inserted, in given order, before the first token in the\n * stream.\n *\n * @param {(number|!Array.)} token The token(s) to prepend to the stream.\n */\n prepend: function prepend(token) {\n if (Array.isArray(token)) {\n var tokens =\n /**@type {!Array.}*/\n token;\n\n while (tokens.length) {\n this.tokens.unshift(tokens.pop());\n }\n } else {\n this.tokens.unshift(token);\n }\n },\n\n /**\n * When one or more tokens are pushed to a stream, those tokens\n * must be inserted, in given order, after the last token in the\n * stream.\n *\n * @param {(number|!Array.)} token The tokens(s) to prepend to the stream.\n */\n push: function push(token) {\n if (Array.isArray(token)) {\n var tokens =\n /**@type {!Array.}*/\n token;\n\n while (tokens.length) {\n this.tokens.push(tokens.shift());\n }\n } else {\n this.tokens.push(token);\n }\n }\n}; //\n// 4. Encodings\n//\n// 4.1 Encoders and decoders\n\n/** @const */\n\nvar finished = -1;\n/**\n * @param {boolean} fatal If true, decoding errors raise an exception.\n * @param {number=} opt_code_point Override the standard fallback code point.\n * @return {number} The code point to insert on a decoding error.\n */\n\nfunction decoderError(fatal, opt_code_point) {\n if (fatal) throw TypeError('Decoder error');\n return opt_code_point || 0xFFFD;\n}\n/** @interface */\n\n\nfunction Decoder() {}\n\nDecoder.prototype = {\n /**\n * @param {Stream} stream The stream of bytes being decoded.\n * @param {number} bite The next byte read from the stream.\n * @return {?(number|!Array.)} The next code point(s)\n * decoded, or null if not enough data exists in the input\n * stream to decode a complete code point, or |finished|.\n */\n handler: function handler(stream, bite) {}\n};\n/** @interface */\n\nfunction Encoder() {}\n\nEncoder.prototype = {\n /**\n * @param {Stream} stream The stream of code points being encoded.\n * @param {number} code_point Next code point read from the stream.\n * @return {(number|!Array.)} Byte(s) to emit, or |finished|.\n */\n handler: function handler(stream, code_point) {}\n}; //\n// 7. API\n//\n\n/** @const */\n\nvar DEFAULT_ENCODING = 'utf-8'; // 7.1 Interface TextDecoder\n\n/**\n * @constructor\n * @param {string=} encoding The label of the encoding;\n * defaults to 'utf-8'.\n * @param {Object=} options\n */\n\nfunction TextDecoder(encoding, options) {\n if (!(this instanceof TextDecoder)) {\n return new TextDecoder(encoding, options);\n }\n\n encoding = encoding !== undefined ? String(encoding).toLowerCase() : DEFAULT_ENCODING;\n\n if (encoding !== DEFAULT_ENCODING) {\n throw new Error('Encoding not supported. Only utf-8 is supported');\n }\n\n options = ToDictionary(options);\n /** @private @type {boolean} */\n\n this._streaming = false;\n /** @private @type {boolean} */\n\n this._BOMseen = false;\n /** @private @type {?Decoder} */\n\n this._decoder = null;\n /** @private @type {boolean} */\n\n this._fatal = Boolean(options['fatal']);\n /** @private @type {boolean} */\n\n this._ignoreBOM = Boolean(options['ignoreBOM']);\n Object.defineProperty(this, 'encoding', {\n value: 'utf-8'\n });\n Object.defineProperty(this, 'fatal', {\n value: this._fatal\n });\n Object.defineProperty(this, 'ignoreBOM', {\n value: this._ignoreBOM\n });\n}\n\nTextDecoder.prototype = {\n /**\n * @param {ArrayBufferView=} input The buffer of bytes to decode.\n * @param {Object=} options\n * @return {string} The decoded string.\n */\n decode: function decode(input, options) {\n var bytes;\n\n if (typeof input === 'object' && input instanceof ArrayBuffer) {\n bytes = new Uint8Array(input);\n } else if (typeof input === 'object' && 'buffer' in input && input.buffer instanceof ArrayBuffer) {\n bytes = new Uint8Array(input.buffer, input.byteOffset, input.byteLength);\n } else {\n bytes = new Uint8Array(0);\n }\n\n options = ToDictionary(options);\n\n if (!this._streaming) {\n this._decoder = new UTF8Decoder({\n fatal: this._fatal\n });\n this._BOMseen = false;\n }\n\n this._streaming = Boolean(options['stream']);\n var input_stream = new Stream(bytes);\n var code_points = [];\n /** @type {?(number|!Array.)} */\n\n var result;\n\n while (!input_stream.endOfStream()) {\n result = this._decoder.handler(input_stream, input_stream.read());\n if (result === finished) break;\n if (result === null) continue;\n if (Array.isArray(result)) code_points.push.apply(code_points,\n /**@type {!Array.}*/\n result);else code_points.push(result);\n }\n\n if (!this._streaming) {\n do {\n result = this._decoder.handler(input_stream, input_stream.read());\n if (result === finished) break;\n if (result === null) continue;\n if (Array.isArray(result)) code_points.push.apply(code_points,\n /**@type {!Array.}*/\n result);else code_points.push(result);\n } while (!input_stream.endOfStream());\n\n this._decoder = null;\n }\n\n if (code_points.length) {\n // If encoding is one of utf-8, utf-16be, and utf-16le, and\n // ignore BOM flag and BOM seen flag are unset, run these\n // subsubsteps:\n if (['utf-8'].indexOf(this.encoding) !== -1 && !this._ignoreBOM && !this._BOMseen) {\n // If token is U+FEFF, set BOM seen flag.\n if (code_points[0] === 0xFEFF) {\n this._BOMseen = true;\n code_points.shift();\n } else {\n // Otherwise, if token is not end-of-stream, set BOM seen\n // flag and append token to output.\n this._BOMseen = true;\n }\n }\n }\n\n return codePointsToString(code_points);\n }\n}; // 7.2 Interface TextEncoder\n\n/**\n * @constructor\n * @param {string=} encoding The label of the encoding;\n * defaults to 'utf-8'.\n * @param {Object=} options\n */\n\nfunction TextEncoder(encoding, options) {\n if (!(this instanceof TextEncoder)) return new TextEncoder(encoding, options);\n encoding = encoding !== undefined ? String(encoding).toLowerCase() : DEFAULT_ENCODING;\n\n if (encoding !== DEFAULT_ENCODING) {\n throw new Error('Encoding not supported. Only utf-8 is supported');\n }\n\n options = ToDictionary(options);\n /** @private @type {boolean} */\n\n this._streaming = false;\n /** @private @type {?Encoder} */\n\n this._encoder = null;\n /** @private @type {{fatal: boolean}} */\n\n this._options = {\n fatal: Boolean(options['fatal'])\n };\n Object.defineProperty(this, 'encoding', {\n value: 'utf-8'\n });\n}\n\nTextEncoder.prototype = {\n /**\n * @param {string=} opt_string The string to encode.\n * @param {Object=} options\n * @return {Uint8Array} Encoded bytes, as a Uint8Array.\n */\n encode: function encode(opt_string, options) {\n opt_string = opt_string ? String(opt_string) : '';\n options = ToDictionary(options); // NOTE: This option is nonstandard. None of the encodings\n // permitted for encoding (i.e. UTF-8, UTF-16) are stateful,\n // so streaming is not necessary.\n\n if (!this._streaming) this._encoder = new UTF8Encoder(this._options);\n this._streaming = Boolean(options['stream']);\n var bytes = [];\n var input_stream = new Stream(stringToCodePoints(opt_string));\n /** @type {?(number|!Array.)} */\n\n var result;\n\n while (!input_stream.endOfStream()) {\n result = this._encoder.handler(input_stream, input_stream.read());\n if (result === finished) break;\n if (Array.isArray(result)) bytes.push.apply(bytes,\n /**@type {!Array.}*/\n result);else bytes.push(result);\n }\n\n if (!this._streaming) {\n while (true) {\n result = this._encoder.handler(input_stream, input_stream.read());\n if (result === finished) break;\n if (Array.isArray(result)) bytes.push.apply(bytes,\n /**@type {!Array.}*/\n result);else bytes.push(result);\n }\n\n this._encoder = null;\n }\n\n return new Uint8Array(bytes);\n }\n}; //\n// 8. The encoding\n//\n// 8.1 utf-8\n\n/**\n * @constructor\n * @implements {Decoder}\n * @param {{fatal: boolean}} options\n */\n\nfunction UTF8Decoder(options) {\n var fatal = options.fatal; // utf-8's decoder's has an associated utf-8 code point, utf-8\n // bytes seen, and utf-8 bytes needed (all initially 0), a utf-8\n // lower boundary (initially 0x80), and a utf-8 upper boundary\n // (initially 0xBF).\n\n var\n /** @type {number} */\n utf8_code_point = 0,\n\n /** @type {number} */\n utf8_bytes_seen = 0,\n\n /** @type {number} */\n utf8_bytes_needed = 0,\n\n /** @type {number} */\n utf8_lower_boundary = 0x80,\n\n /** @type {number} */\n utf8_upper_boundary = 0xBF;\n /**\n * @param {Stream} stream The stream of bytes being decoded.\n * @param {number} bite The next byte read from the stream.\n * @return {?(number|!Array.)} The next code point(s)\n * decoded, or null if not enough data exists in the input\n * stream to decode a complete code point.\n */\n\n this.handler = function (stream, bite) {\n // 1. If byte is end-of-stream and utf-8 bytes needed is not 0,\n // set utf-8 bytes needed to 0 and return error.\n if (bite === end_of_stream && utf8_bytes_needed !== 0) {\n utf8_bytes_needed = 0;\n return decoderError(fatal);\n } // 2. If byte is end-of-stream, return finished.\n\n\n if (bite === end_of_stream) return finished; // 3. If utf-8 bytes needed is 0, based on byte:\n\n if (utf8_bytes_needed === 0) {\n // 0x00 to 0x7F\n if (inRange(bite, 0x00, 0x7F)) {\n // Return a code point whose value is byte.\n return bite;\n } // 0xC2 to 0xDF\n\n\n if (inRange(bite, 0xC2, 0xDF)) {\n // Set utf-8 bytes needed to 1 and utf-8 code point to byte\n // − 0xC0.\n utf8_bytes_needed = 1;\n utf8_code_point = bite - 0xC0;\n } // 0xE0 to 0xEF\n else if (inRange(bite, 0xE0, 0xEF)) {\n // 1. If byte is 0xE0, set utf-8 lower boundary to 0xA0.\n if (bite === 0xE0) utf8_lower_boundary = 0xA0; // 2. If byte is 0xED, set utf-8 upper boundary to 0x9F.\n\n if (bite === 0xED) utf8_upper_boundary = 0x9F; // 3. Set utf-8 bytes needed to 2 and utf-8 code point to\n // byte − 0xE0.\n\n utf8_bytes_needed = 2;\n utf8_code_point = bite - 0xE0;\n } // 0xF0 to 0xF4\n else if (inRange(bite, 0xF0, 0xF4)) {\n // 1. If byte is 0xF0, set utf-8 lower boundary to 0x90.\n if (bite === 0xF0) utf8_lower_boundary = 0x90; // 2. If byte is 0xF4, set utf-8 upper boundary to 0x8F.\n\n if (bite === 0xF4) utf8_upper_boundary = 0x8F; // 3. Set utf-8 bytes needed to 3 and utf-8 code point to\n // byte − 0xF0.\n\n utf8_bytes_needed = 3;\n utf8_code_point = bite - 0xF0;\n } // Otherwise\n else {\n // Return error.\n return decoderError(fatal);\n } // Then (byte is in the range 0xC2 to 0xF4) set utf-8 code\n // point to utf-8 code point << (6 × utf-8 bytes needed) and\n // return continue.\n\n\n utf8_code_point = utf8_code_point << 6 * utf8_bytes_needed;\n return null;\n } // 4. If byte is not in the range utf-8 lower boundary to utf-8\n // upper boundary, run these substeps:\n\n\n if (!inRange(bite, utf8_lower_boundary, utf8_upper_boundary)) {\n // 1. Set utf-8 code point, utf-8 bytes needed, and utf-8\n // bytes seen to 0, set utf-8 lower boundary to 0x80, and set\n // utf-8 upper boundary to 0xBF.\n utf8_code_point = utf8_bytes_needed = utf8_bytes_seen = 0;\n utf8_lower_boundary = 0x80;\n utf8_upper_boundary = 0xBF; // 2. Prepend byte to stream.\n\n stream.prepend(bite); // 3. Return error.\n\n return decoderError(fatal);\n } // 5. Set utf-8 lower boundary to 0x80 and utf-8 upper boundary\n // to 0xBF.\n\n\n utf8_lower_boundary = 0x80;\n utf8_upper_boundary = 0xBF; // 6. Increase utf-8 bytes seen by one and set utf-8 code point\n // to utf-8 code point + (byte − 0x80) << (6 × (utf-8 bytes\n // needed − utf-8 bytes seen)).\n\n utf8_bytes_seen += 1;\n utf8_code_point += bite - 0x80 << 6 * (utf8_bytes_needed - utf8_bytes_seen); // 7. If utf-8 bytes seen is not equal to utf-8 bytes needed,\n // continue.\n\n if (utf8_bytes_seen !== utf8_bytes_needed) return null; // 8. Let code point be utf-8 code point.\n\n var code_point = utf8_code_point; // 9. Set utf-8 code point, utf-8 bytes needed, and utf-8 bytes\n // seen to 0.\n\n utf8_code_point = utf8_bytes_needed = utf8_bytes_seen = 0; // 10. Return a code point whose value is code point.\n\n return code_point;\n };\n}\n/**\n * @constructor\n * @implements {Encoder}\n * @param {{fatal: boolean}} options\n */\n\n\nfunction UTF8Encoder(options) {\n var fatal = options.fatal;\n /**\n * @param {Stream} stream Input stream.\n * @param {number} code_point Next code point read from the stream.\n * @return {(number|!Array.)} Byte(s) to emit.\n */\n\n this.handler = function (stream, code_point) {\n // 1. If code point is end-of-stream, return finished.\n if (code_point === end_of_stream) return finished; // 2. If code point is in the range U+0000 to U+007F, return a\n // byte whose value is code point.\n\n if (inRange(code_point, 0x0000, 0x007f)) return code_point; // 3. Set count and offset based on the range code point is in:\n\n var count, offset; // U+0080 to U+07FF: 1 and 0xC0\n\n if (inRange(code_point, 0x0080, 0x07FF)) {\n count = 1;\n offset = 0xC0;\n } // U+0800 to U+FFFF: 2 and 0xE0\n else if (inRange(code_point, 0x0800, 0xFFFF)) {\n count = 2;\n offset = 0xE0;\n } // U+10000 to U+10FFFF: 3 and 0xF0\n else if (inRange(code_point, 0x10000, 0x10FFFF)) {\n count = 3;\n offset = 0xF0;\n } // 4.Let bytes be a byte sequence whose first byte is (code\n // point >> (6 × count)) + offset.\n\n\n var bytes = [(code_point >> 6 * count) + offset]; // 5. Run these substeps while count is greater than 0:\n\n while (count > 0) {\n // 1. Set temp to code point >> (6 × (count − 1)).\n var temp = code_point >> 6 * (count - 1); // 2. Append to bytes 0x80 | (temp & 0x3F).\n\n bytes.push(0x80 | temp & 0x3F); // 3. Decrease count by one.\n\n count -= 1;\n } // 6. Return bytes bytes, in order.\n\n\n return bytes;\n };\n}\n\nexport { TextEncoder, TextDecoder };","/*!\n * toidentifier\n * Copyright(c) 2016 Douglas Christopher Wilson\n * MIT Licensed\n */\n'use strict';\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = toIdentifier;\n/**\n * Trasform the given string into a JavaScript identifier\n *\n * @param {string} str\n * @returns {string}\n * @public\n */\n\nfunction toIdentifier(str) {\n return str.split(' ').map(function (token) {\n return token.slice(0, 1).toUpperCase() + token.slice(1);\n }).join('').replace(/[^ _0-9a-z]/gi, '');\n}","module.exports = require(\"./lib\");","var cache = function cache(fn) {\n var called = false,\n store;\n\n if (!(fn instanceof Function)) {\n called = true;\n store = fn;\n fn = null;\n }\n\n return function () {\n if (!called) {\n called = true;\n store = fn.apply(this, arguments);\n fn = null;\n }\n\n return store;\n };\n};\n\nmodule.exports = cache;","module.exports = function eachCombination(alternativesByDimension, callback, combination) {\n if (!combination) combination = [];\n\n if (combination.length < alternativesByDimension.length) {\n var alternatives = alternativesByDimension[combination.length];\n\n for (var index in alternatives) {\n combination[combination.length] = alternatives[index];\n eachCombination(alternativesByDimension, callback, combination);\n --combination.length;\n }\n } else callback.apply(null, combination);\n};","module.exports = {\n cache: require(\"./cache\"),\n eachCombination: require(\"./eachCombination\")\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 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 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');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\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, exceptions) {\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) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\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","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 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 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 getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\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","// 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 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","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\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 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 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 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","module.exports = {};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\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 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","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\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 isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\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 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","/* 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","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 global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\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// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $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 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 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 uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\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","'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","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 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 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 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","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 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","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.20.3',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.20.3/LICENSE',\n source: 'https://github.com/zloirock/core-js'\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","// 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","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 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 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 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');\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 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","/* 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 DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\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 $ = require('../internals/export');\nvar global = require('../internals/global');\n\n// `globalThis` object\n// https://tc39.es/ecma262/#sec-globalthis\n$({ global: true }, {\n globalThis: global\n});\n","// TODO: Remove from `core-js@4`\nrequire('../modules/es.global-this');\n","import * as React from \"react\"\nimport { GatsbyImage } from \"gatsby-plugin-image\"\nimport type { GatsbyImageProps } from \"gatsby-plugin-image\"\nimport useImageData from \"../hooks/useImageData\"\n\nexport type ImageProps = Omit & {\n src: string\n}\n\n/**\n * Simple image handling for Gatsby! Pass in the name of a file in\n * `config/images`, and this will render it correctly. It will render it either\n * as an SVG using the gatsby-transformer-inline-svg plugin, or using\n * GatsbyImage.\n */\nexport default function ({ src, ...props }: ImageProps) {\n const { svg, image } = useImageData(src)\n\n if (svg) {\n if (svg.svg?.content) {\n // Inlined SVGs\n return
\n }\n // SVGs that can/should not be inlined\n return {props.alt}\n }\n\n const imageData = image.childImageSharp?.gatsbyImageData\n\n if (imageData) {\n return (\n \n )\n }\n\n return \n\n \n\n/*\n return (\n \n )\n */\n}\n","import React from \"react\"\nimport { Link } from \"gatsby\"\nimport useHeroStatuses from '../../hooks/useHeroStatuses'\nimport * as css from './banner.module.css'\n\nexport default function () {\n const { saleStatus, userStatus, heroParam, overrides } = useHeroStatuses()\n if (heroParam === undefined) return null\n\n const prevOverride = overrides[heroParam - 1]\n const nextOverride = overrides[heroParam + 1]\n\n return (\n \n )\n}","// extracted by mini-css-extract-plugin\nexport var banner = \"banner-module--banner--sD0Xc\";","// extracted by mini-css-extract-plugin\nexport var nav = \"nav-module--nav--6LHsO\";\nexport var social = \"nav-module--social--y-kwm\";\nexport var main = \"nav-module--main--fECAo\";","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","import \"core-js/modules/esnext.global-this.js\";\nimport * as o from \"react\";\nexport var useLayoutEffect = Boolean(null === globalThis || void 0 === globalThis ? void 0 : globalThis.document) ? o.useLayoutEffect : function () {};","import _slicedToArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport { useLayoutEffect as e } from \"@radix-ui/react-use-layout-effect\";\nimport * as t from \"react\";\n\nvar r = t[\"useId\".toString()] || function () {};\n\nvar i = 0;\nexport function useId(n) {\n var _t$useState = t.useState(r()),\n _t$useState2 = _slicedToArray(_t$useState, 2),\n o = _t$useState2[0],\n s = _t$useState2[1];\n\n return e(function () {\n n || s(function (e) {\n return null != e ? e : String(i++);\n });\n }, [n]), n || (o ? \"radix-\".concat(o) : \"\");\n}\nexport function IdProvider(_ref) {\n var e = _ref.children;\n return t.useEffect(function () {\n console.warn(n);\n }, []), /*#__PURE__*/t.createElement(t.Fragment, null, e);\n}\nvar n = \"Warning: The `IdProvider` has been deprecated. For details, see https://radix-ui.com/docs/primitives/utilities/id-provider\";","import * as e from \"react\";\nvar t = 0;\nexport function FocusGuards(e) {\n return useFocusGuards(), e.children;\n}\nexport function useFocusGuards() {\n e.useEffect(function () {\n var e, n;\n var r = document.querySelectorAll(\"[data-radix-focus-guard]\");\n return document.body.insertAdjacentElement(\"afterbegin\", null !== (e = r[0]) && void 0 !== e ? e : o()), document.body.insertAdjacentElement(\"beforeend\", null !== (n = r[1]) && void 0 !== n ? n : o()), t++, function () {\n 1 === t && document.querySelectorAll(\"[data-radix-focus-guard]\").forEach(function (e) {\n return e.remove();\n }), t--;\n };\n }, []);\n}\n\nfunction o() {\n var e = document.createElement(\"span\");\n return e.setAttribute(\"data-radix-focus-guard\", \"\"), e.tabIndex = 0, e.style.cssText = \"outline: none; opacity: 0; position: fixed; pointer-events: none\", e;\n}\n\nexport var Root = FocusGuards;","import * as e from \"react\";\nexport function useCallbackRef(r) {\n var t = e.useRef(r);\n return e.useEffect(function () {\n t.current = r;\n }), e.useMemo(function () {\n return function () {\n var _r;\n\n var r;\n\n for (var _len = arguments.length, e = new Array(_len), _key = 0; _key < _len; _key++) {\n e[_key] = arguments[_key];\n }\n\n return null === (r = t.current) || void 0 === r ? void 0 : (_r = r).call.apply(_r, [t].concat(e));\n };\n }, []);\n}","import _slicedToArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport { useCallbackRef as e } from \"@radix-ui/react-use-callback-ref\";\nimport * as t from \"react\";\nexport function useControllableState(_ref) {\n var o = _ref.prop,\n r = _ref.defaultProp,\n _ref$onChange = _ref.onChange,\n n = _ref$onChange === void 0 ? function () {} : _ref$onChange;\n\n var _ref2 = function (_ref4) {\n var o = _ref4.defaultProp,\n r = _ref4.onChange;\n\n var n = t.useState(o),\n _n = _slicedToArray(n, 1),\n a = _n[0],\n u = t.useRef(a),\n c = e(r);\n\n return t.useEffect(function () {\n u.current !== a && (c(a), u.current = a);\n }, [a, u, c]), n;\n }({\n defaultProp: r,\n onChange: n\n }),\n _ref3 = _slicedToArray(_ref2, 2),\n a = _ref3[0],\n u = _ref3[1],\n c = void 0 !== o,\n f = c ? o : a,\n l = e(n);\n\n return [f, t.useCallback(function (e) {\n if (c) {\n var _t = e,\n _r = \"function\" == typeof e ? _t(o) : e;\n\n _r !== o && l(_r);\n } else u(e);\n }, [c, o, u, l])];\n}","import * as o from \"react\";\nexport function composeRefs() {\n for (var _len = arguments.length, o = new Array(_len), _key = 0; _key < _len; _key++) {\n o[_key] = arguments[_key];\n }\n\n return function (e) {\n return o.forEach(function (o) {\n return function (o, e) {\n \"function\" == typeof o ? o(e) : null != o && (o.current = e);\n }(o, e);\n });\n };\n}\nexport function useComposedRefs() {\n for (var _len2 = arguments.length, e = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n e[_key2] = arguments[_key2];\n }\n\n return o.useCallback(composeRefs.apply(void 0, e), e);\n}","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","import _defineProperty from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nimport _objectWithoutProperties from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\";\nvar _excluded = [\"children\"],\n _excluded2 = [\"children\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport { composeRefs as e } from \"@radix-ui/react-compose-refs\";\nimport * as t from \"react\";\nimport r from \"@babel/runtime/helpers/esm/extends\";\nexport var Slot = /*#__PURE__*/t.forwardRef(function (e, o) {\n var a = e.children,\n s = _objectWithoutProperties(e, _excluded);\n\n return t.Children.toArray(a).some(l) ? /*#__PURE__*/t.createElement(t.Fragment, null, t.Children.map(a, function (e) {\n return l(e) ? /*#__PURE__*/t.createElement(n, r({}, s, {\n ref: o\n }), e.props.children) : e;\n })) : /*#__PURE__*/t.createElement(n, r({}, s, {\n ref: o\n }), a);\n});\nSlot.displayName = \"Slot\";\nvar n = /*#__PURE__*/t.forwardRef(function (r, n) {\n var l = r.children,\n a = _objectWithoutProperties(r, _excluded2);\n /*#__PURE__*/\n\n\n return t.isValidElement(l) ? /*#__PURE__*/t.cloneElement(l, _objectSpread(_objectSpread({}, o(a, l.props)), {}, {\n ref: e(n, l.ref)\n })) : t.Children.count(l) > 1 ? t.Children.only(null) : null;\n});\nn.displayName = \"SlotClone\";\nexport var Slottable = function Slottable(_ref) {\n var e = _ref.children;\n return /*#__PURE__*/t.createElement(t.Fragment, null, e);\n};\n\nfunction l(e) {\n /*#__PURE__*/\n return t.isValidElement(e) && e.type === Slottable;\n}\n\nfunction o(e, t) {\n var r = _objectSpread({}, t);\n\n var _loop = function _loop(_n) {\n var l = e[_n],\n o = t[_n];\n /^on[A-Z]/.test(_n) ? r[_n] = function () {\n null == o || o.apply(void 0, arguments), null == l || l.apply(void 0, arguments);\n } : \"style\" === _n ? r[_n] = _objectSpread(_objectSpread({}, l), o) : \"className\" === _n && (r[_n] = [l, o].filter(Boolean).join(\" \"));\n };\n\n for (var _n in t) {\n _loop(_n);\n }\n\n return _objectSpread(_objectSpread({}, e), r);\n}\n\nexport var Root = Slot;","import _objectWithoutProperties from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\";\nimport _defineProperty from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nvar _excluded = [\"asChild\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport { Slot as e } from \"@radix-ui/react-slot\";\nimport * as r from \"react\";\nimport i from \"@babel/runtime/helpers/esm/extends\";\nexport var Primitive = [\"a\", \"button\", \"div\", \"h2\", \"h3\", \"img\", \"li\", \"nav\", \"p\", \"span\", \"svg\", \"ul\"].reduce(function (t, s) {\n return _objectSpread(_objectSpread({}, t), {}, _defineProperty({}, s, /*#__PURE__*/r.forwardRef(function (t, n) {\n var a = t.asChild,\n m = _objectWithoutProperties(t, _excluded),\n d = a ? e : s;\n\n return r.useEffect(function () {\n window[Symbol.for(\"radix-ui\")] = !0;\n }, []), t.as && console.error(o), /*#__PURE__*/r.createElement(d, i({}, m, {\n ref: n\n }));\n })));\n}, {});\nvar o = \"Warning: The `as` prop has been removed in favour of `asChild`. For details, see https://radix-ui.com/docs/primitives/overview/styling#changing-the-rendered-element\";\nexport var Root = Primitive;","import _toConsumableArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nimport _defineProperty from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nimport _objectWithoutProperties from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\";\nvar _excluded = [\"children\"],\n _excluded2 = [\"scope\", \"children\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport * as e from \"react\";\nexport function createContext(t, n) {\n var o = /*#__PURE__*/e.createContext(n);\n\n function r(t) {\n var n = t.children,\n r = _objectWithoutProperties(t, _excluded),\n c = e.useMemo(function () {\n return r;\n }, Object.values(r));\n /*#__PURE__*/\n\n\n return e.createElement(o.Provider, {\n value: c\n }, n);\n }\n\n return r.displayName = t + \"Provider\", [r, function (r) {\n var c = e.useContext(o);\n if (c) return c;\n if (void 0 !== n) return n;\n throw new Error(\"`\".concat(r, \"` must be used within `\").concat(t, \"`\"));\n }];\n}\nexport function createContextScope(n) {\n var o = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var r = [];\n\n var c = function c() {\n var t = r.map(function (t) {\n return /*#__PURE__*/e.createContext(t);\n });\n return function (o) {\n var r = (null == o ? void 0 : o[n]) || t;\n return e.useMemo(function () {\n return _defineProperty({}, \"__scope\".concat(n), _objectSpread(_objectSpread({}, o), {}, _defineProperty({}, n, r)));\n }, [o, r]);\n };\n };\n\n return c.scopeName = n, [function (t, o) {\n var c = /*#__PURE__*/e.createContext(o),\n u = r.length;\n\n function s(t) {\n var o = t.scope,\n r = t.children,\n s = _objectWithoutProperties(t, _excluded2),\n i = (null == o ? void 0 : o[n][u]) || c,\n a = e.useMemo(function () {\n return s;\n }, Object.values(s));\n /*#__PURE__*/\n\n\n return e.createElement(i.Provider, {\n value: a\n }, r);\n }\n\n return r = [].concat(_toConsumableArray(r), [o]), s.displayName = t + \"Provider\", [s, function (r, s) {\n var i = (null == s ? void 0 : s[n][u]) || c,\n a = e.useContext(i);\n if (a) return a;\n if (void 0 !== o) return o;\n throw new Error(\"`\".concat(r, \"` must be used within `\").concat(t, \"`\"));\n }];\n }, t.apply(void 0, [c].concat(_toConsumableArray(o)))];\n}\n\nfunction t() {\n for (var _len = arguments.length, t = new Array(_len), _key = 0; _key < _len; _key++) {\n t[_key] = arguments[_key];\n }\n\n var n = t[0];\n if (1 === t.length) return n;\n\n var o = function o() {\n var o = t.map(function (e) {\n return {\n useScope: e(),\n scopeName: e.scopeName\n };\n });\n return function (t) {\n var r = o.reduce(function (e, _ref2) {\n var n = _ref2.useScope,\n o = _ref2.scopeName;\n return _objectSpread(_objectSpread({}, e), n(t)[\"__scope\".concat(o)]);\n }, {});\n return e.useMemo(function () {\n return _defineProperty({}, \"__scope\".concat(n.scopeName), r);\n }, [r]);\n };\n };\n\n return o.scopeName = n.scopeName, o;\n}","import _defineProperty from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nimport _objectWithoutProperties from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\";\nimport _slicedToArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nvar _excluded = [\"scope\", \"children\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport { Slot as e } from \"@radix-ui/react-slot\";\nimport { useComposedRefs as r } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope as t } from \"@radix-ui/react-context\";\nimport o from \"react\";\nexport function createCollection(c) {\n var n = c + \"CollectionProvider\",\n _t = t(n),\n _t2 = _slicedToArray(_t, 2),\n l = _t2[0],\n i = _t2[1],\n _l = l(n, {\n collectionRef: {\n current: null\n },\n itemMap: new Map()\n }),\n _l2 = _slicedToArray(_l, 2),\n f = _l2[0],\n a = _l2[1],\n u = function u(e) {\n var r = e.scope,\n t = e.children,\n c = o.useRef(null),\n n = o.useRef(new Map()).current;\n /*#__PURE__*/\n\n /*#__PURE__*/\n return o.createElement(f, {\n scope: r,\n itemMap: n,\n collectionRef: c\n }, t);\n },\n m = c + \"CollectionSlot\",\n s = /*#__PURE__*/o.forwardRef(function (t, c) {\n var n = t.scope,\n l = t.children,\n i = a(m, n),\n f = r(c, i.collectionRef);\n /*#__PURE__*/\n\n /*#__PURE__*/\n return o.createElement(e, {\n ref: f\n }, l);\n }),\n p = c + \"CollectionItemSlot\",\n d = \"data-radix-collection-item\",\n R = /*#__PURE__*/o.forwardRef(function (t, c) {\n var _o$createElement;\n\n var n = t.scope,\n l = t.children,\n i = _objectWithoutProperties(t, _excluded),\n f = o.useRef(null),\n u = r(c, f),\n m = a(p, n);\n\n return o.useEffect(function () {\n return m.itemMap.set(f, _objectSpread({\n ref: f\n }, i)), function () {\n m.itemMap.delete(f);\n };\n }), /*#__PURE__*/o.createElement(e, (_o$createElement = {}, _defineProperty(_o$createElement, d, \"\"), _defineProperty(_o$createElement, \"ref\", u), _o$createElement), l);\n });\n\n return [{\n Provider: u,\n Slot: s,\n ItemSlot: R\n }, function (e) {\n var r = a(c + \"CollectionConsumer\", e);\n return o.useCallback(function () {\n var e = r.collectionRef.current;\n if (!e) return [];\n var t = Array.from(e.querySelectorAll(\"[\".concat(d, \"]\")));\n return Array.from(r.itemMap.values()).sort(function (e, r) {\n return t.indexOf(e.ref.current) - t.indexOf(r.ref.current);\n });\n }, [r.collectionRef, r.itemMap]);\n }, i];\n}","export function composeEventHandlers(e, n) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref$checkForDefaultP = _ref.checkForDefaultPrevented,\n t = _ref$checkForDefaultP === void 0 ? !0 : _ref$checkForDefaultP;\n\n return function (r) {\n if (null == e || e(r), !1 === t || !r.defaultPrevented) return null == n ? void 0 : n(r);\n };\n}","import _toConsumableArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nimport _defineProperty from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nimport _objectWithoutProperties from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\";\nimport _slicedToArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nvar _excluded = [\"__scopeRovingFocusGroup\", \"orientation\", \"dir\", \"loop\", \"currentTabStopId\", \"defaultCurrentTabStopId\", \"onCurrentTabStopIdChange\", \"onEntryFocus\"],\n _excluded2 = [\"__scopeRovingFocusGroup\", \"focusable\", \"active\"];\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e4) { throw _e4; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e5) { didErr = true; err = _e5; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport { useControllableState as e } from \"@radix-ui/react-use-controllable-state\";\nimport { useCallbackRef as o } from \"@radix-ui/react-use-callback-ref\";\nimport { Primitive as r } from \"@radix-ui/react-primitive\";\nimport { useId as t } from \"@radix-ui/react-id\";\nimport { createContextScope as n } from \"@radix-ui/react-context\";\nimport { useComposedRefs as i } from \"@radix-ui/react-compose-refs\";\nimport { createCollection as c } from \"@radix-ui/react-collection\";\nimport { composeEventHandlers as u } from \"@radix-ui/primitive\";\nimport * as s from \"react\";\nimport a from \"@babel/runtime/helpers/esm/extends\";\n\nvar f = {\n bubbles: !1,\n cancelable: !0\n},\n _c = c(\"RovingFocusGroup\"),\n _c2 = _slicedToArray(_c, 3),\n p = _c2[0],\n l = _c2[1],\n m = _c2[2],\n _n = n(\"RovingFocusGroup\", [m]),\n _n2 = _slicedToArray(_n, 2),\n d = _n2[0],\n v = _n2[1];\n\nexport { v as createRovingFocusGroupScope };\n\nvar _d = d(\"RovingFocusGroup\"),\n _d2 = _slicedToArray(_d, 2),\n g = _d2[0],\n F = _d2[1];\n\nexport var RovingFocusGroup = /*#__PURE__*/s.forwardRef(function (e, o) {\n return /*#__PURE__*/s.createElement(p.Provider, {\n scope: e.__scopeRovingFocusGroup\n }, /*#__PURE__*/s.createElement(p.Slot, {\n scope: e.__scopeRovingFocusGroup\n }, /*#__PURE__*/s.createElement(w, a({}, e, {\n ref: o\n }))));\n});\n/*#__PURE__*/\n\nvar w = /*#__PURE__*/s.forwardRef(function (t, n) {\n var c = t.__scopeRovingFocusGroup,\n p = t.orientation,\n _t$dir = t.dir,\n m = _t$dir === void 0 ? \"ltr\" : _t$dir,\n _t$loop = t.loop,\n d = _t$loop === void 0 ? !1 : _t$loop,\n v = t.currentTabStopId,\n F = t.defaultCurrentTabStopId,\n w = t.onCurrentTabStopIdChange,\n b = t.onEntryFocus,\n x = _objectWithoutProperties(t, _excluded),\n E = s.useRef(null),\n I = i(n, E),\n _e = e({\n prop: v,\n defaultProp: F,\n onChange: w\n }),\n _e2 = _slicedToArray(_e, 2),\n _e2$ = _e2[0],\n G = _e2$ === void 0 ? null : _e2$,\n h = _e2[1],\n _s$useState = s.useState(!1),\n _s$useState2 = _slicedToArray(_s$useState, 2),\n T = _s$useState2[0],\n A = _s$useState2[1],\n y = o(b),\n D = l(c),\n S = s.useRef(!1);\n\n return s.useEffect(function () {\n var e = E.current;\n if (e) return e.addEventListener(\"rovingFocusGroup.onEntryFocus\", y), function () {\n return e.removeEventListener(\"rovingFocusGroup.onEntryFocus\", y);\n };\n }, [y]), /*#__PURE__*/s.createElement(g, {\n scope: c,\n orientation: p,\n dir: m,\n loop: d,\n currentTabStopId: G,\n onItemFocus: s.useCallback(function (e) {\n return h(e);\n }, [h]),\n onItemShiftTab: s.useCallback(function () {\n return A(!0);\n }, [])\n }, /*#__PURE__*/s.createElement(r.div, a({\n tabIndex: T ? -1 : 0,\n \"data-orientation\": p\n }, x, {\n ref: I,\n style: _objectSpread({\n outline: \"none\"\n }, t.style),\n onMouseDown: u(t.onMouseDown, function () {\n S.current = !0;\n }),\n onFocus: u(t.onFocus, function (e) {\n var o = !S.current;\n\n if (e.target === e.currentTarget && o && !T) {\n var _o = new Event(\"rovingFocusGroup.onEntryFocus\", f);\n\n if (e.currentTarget.dispatchEvent(_o), !_o.defaultPrevented) {\n var _e3 = D().filter(function (e) {\n return e.focusable;\n });\n\n R([_e3.find(function (e) {\n return e.active;\n }), _e3.find(function (e) {\n return e.id === G;\n })].concat(_toConsumableArray(_e3)).filter(Boolean).map(function (e) {\n return e.ref.current;\n }));\n }\n }\n\n S.current = !1;\n }),\n onBlur: u(t.onBlur, function () {\n return A(!1);\n })\n })));\n});\nexport var RovingFocusGroupItem = /*#__PURE__*/s.forwardRef(function (e, o) {\n var n = e.__scopeRovingFocusGroup,\n _e$focusable = e.focusable,\n i = _e$focusable === void 0 ? !0 : _e$focusable,\n _e$active = e.active,\n c = _e$active === void 0 ? !1 : _e$active,\n f = _objectWithoutProperties(e, _excluded2),\n m = t(),\n d = F(\"RovingFocusGroupItem\", n),\n v = d.currentTabStopId === m,\n g = l(n);\n /*#__PURE__*/\n\n\n return s.createElement(p.ItemSlot, {\n scope: n,\n id: m,\n focusable: i,\n active: c\n }, /*#__PURE__*/s.createElement(r.span, a({\n tabIndex: v ? 0 : -1,\n \"data-orientation\": d.orientation\n }, f, {\n ref: o,\n onMouseDown: u(e.onMouseDown, function (e) {\n i ? d.onItemFocus(m) : e.preventDefault();\n }),\n onFocus: u(e.onFocus, function () {\n return d.onItemFocus(m);\n }),\n onKeyDown: u(e.onKeyDown, function (e) {\n if (\"Tab\" === e.key && e.shiftKey) return void d.onItemShiftTab();\n if (e.target !== e.currentTarget) return;\n\n var o = function (e, o, r) {\n var t = function (e, o) {\n return \"rtl\" !== o ? e : \"ArrowLeft\" === e ? \"ArrowRight\" : \"ArrowRight\" === e ? \"ArrowLeft\" : e;\n }(e.key, r);\n\n return \"vertical\" === o && [\"ArrowLeft\", \"ArrowRight\"].includes(t) || \"horizontal\" === o && [\"ArrowUp\", \"ArrowDown\"].includes(t) ? void 0 : b[t];\n }(e, d.orientation, d.dir);\n\n if (void 0 !== o) {\n e.preventDefault();\n\n var _n3 = g().filter(function (e) {\n return e.focusable;\n }).map(function (e) {\n return e.ref.current;\n });\n\n if (\"last\" === o) _n3.reverse();else if (\"prev\" === o || \"next\" === o) {\n \"prev\" === o && _n3.reverse();\n\n var _i = _n3.indexOf(e.currentTarget);\n\n _n3 = d.loop ? (t = _i + 1, (r = _n3).map(function (e, o) {\n return r[(t + o) % r.length];\n })) : _n3.slice(_i + 1);\n }\n setTimeout(function () {\n return R(_n3);\n });\n }\n\n var r, t;\n })\n })));\n});\n/*#__PURE__*/\n\nvar b = {\n ArrowLeft: \"prev\",\n ArrowUp: \"prev\",\n ArrowRight: \"next\",\n ArrowDown: \"next\",\n PageUp: \"first\",\n Home: \"first\",\n PageDown: \"last\",\n End: \"last\"\n};\n\nfunction R(e) {\n var o = document.activeElement;\n\n var _iterator = _createForOfIteratorHelper(e),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _r = _step.value;\n if (_r === o) return;\n if (_r.focus(), document.activeElement !== o) return;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n}\n\nexport var Root = RovingFocusGroup;\nexport var Item = RovingFocusGroupItem;","import _defineProperty from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nimport _slicedToArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport _objectWithoutProperties from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\";\nvar _excluded = [\"containerRef\", \"style\"],\n _excluded2 = [\"container\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport \"core-js/modules/esnext.global-this.js\";\nimport { Primitive as o } from \"@radix-ui/react-primitive\";\nimport { useLayoutEffect as t } from \"@radix-ui/react-use-layout-effect\";\nimport e from \"react-dom\";\nimport * as r from \"react\";\nimport l from \"@babel/runtime/helpers/esm/extends\";\nexport var Portal = /*#__PURE__*/r.forwardRef(function (a, i) {\n var n, d;\n\n var s = a.containerRef,\n u = a.style,\n c = _objectWithoutProperties(a, _excluded),\n m = null !== (n = null == s ? void 0 : s.current) && void 0 !== n ? n : null === globalThis || void 0 === globalThis || null === (d = globalThis.document) || void 0 === d ? void 0 : d.body,\n _r$useState = r.useState({}),\n _r$useState2 = _slicedToArray(_r$useState, 2),\n f = _r$useState2[1];\n\n return t(function () {\n f({});\n }, []), m ? /*#__PURE__*/e.createPortal( /*#__PURE__*/r.createElement(o.div, l({\n \"data-radix-portal\": \"\"\n }, c, {\n ref: i,\n style: m === document.body ? _objectSpread({\n position: \"absolute\",\n top: 0,\n left: 0,\n zIndex: 2147483647\n }, u) : void 0\n })), m) : null;\n});\n/*#__PURE__*/\n\nexport var UnstablePortal = /*#__PURE__*/r.forwardRef(function (t, a) {\n var i;\n\n var _t$container = t.container,\n n = _t$container === void 0 ? null === globalThis || void 0 === globalThis || null === (i = globalThis.document) || void 0 === i ? void 0 : i.body : _t$container,\n d = _objectWithoutProperties(t, _excluded2);\n\n return n ? /*#__PURE__*/e.createPortal( /*#__PURE__*/r.createElement(o.div, l({}, d, {\n ref: a\n })), n) : null;\n});\n/*#__PURE__*/\n\nexport var Root = Portal;","export function observeElementRect(n, o) {\n var i = e.get(n);\n return void 0 === i ? (e.set(n, {\n rect: {},\n callbacks: [o]\n }), 1 === e.size && (t = requestAnimationFrame(c))) : (i.callbacks.push(o), o(n.getBoundingClientRect())), function () {\n var c = e.get(n);\n if (void 0 === c) return;\n var i = c.callbacks.indexOf(o);\n i > -1 && c.callbacks.splice(i, 1), 0 === c.callbacks.length && (e.delete(n), 0 === e.size && cancelAnimationFrame(t));\n };\n}\nvar t;\nvar e = new Map();\n\nfunction c() {\n var n = [];\n e.forEach(function (t, e) {\n var c = e.getBoundingClientRect();\n var o, i;\n o = t.rect, i = c, (o.width !== i.width || o.height !== i.height || o.top !== i.top || o.right !== i.right || o.bottom !== i.bottom || o.left !== i.left) && (t.rect = c, n.push(t));\n }), n.forEach(function (t) {\n t.callbacks.forEach(function (e) {\n return e(t.rect);\n });\n }), t = requestAnimationFrame(c);\n}","import _objectWithoutProperties from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\";\nvar _excluded = [\"children\", \"width\", \"height\"];\nimport { Primitive as e } from \"@radix-ui/react-primitive\";\nimport * as r from \"react\";\nimport t from \"@babel/runtime/helpers/esm/extends\";\nexport var Arrow = /*#__PURE__*/r.forwardRef(function (o, i) {\n var n = o.children,\n _o$width = o.width,\n s = _o$width === void 0 ? 10 : _o$width,\n _o$height = o.height,\n m = _o$height === void 0 ? 5 : _o$height,\n p = _objectWithoutProperties(o, _excluded);\n /*#__PURE__*/\n\n\n return r.createElement(e.svg, t({}, p, {\n ref: i,\n width: s,\n height: m,\n viewBox: \"0 0 30 10\",\n preserveAspectRatio: \"none\"\n }), o.asChild ? n : /*#__PURE__*/r.createElement(\"polygon\", {\n points: \"0,0 30,0 15,10\"\n }));\n});\n/*#__PURE__*/\n\nexport var Root = Arrow;","import _slicedToArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport * as e from \"react\";\nexport function useSize(r) {\n var _e$useState = e.useState(void 0),\n _e$useState2 = _slicedToArray(_e$useState, 2),\n i = _e$useState2[0],\n t = _e$useState2[1];\n\n return e.useEffect(function () {\n if (r) {\n var _e = new ResizeObserver(function (e) {\n if (!Array.isArray(e)) return;\n if (!e.length) return;\n var i = e[0];\n var o, n;\n\n if (\"borderBoxSize\" in i) {\n var _e2 = i.borderBoxSize,\n _r = Array.isArray(_e2) ? _e2[0] : _e2;\n\n o = _r.inlineSize, n = _r.blockSize;\n } else {\n var _e3 = r.getBoundingClientRect();\n\n o = _e3.width, n = _e3.height;\n }\n\n t({\n width: o,\n height: n\n });\n });\n\n return _e.observe(r, {\n box: \"border-box\"\n }), function () {\n t(void 0), _e.unobserve(r);\n };\n }\n }, [r]), i;\n}","import _slicedToArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport { observeElementRect as t } from \"@radix-ui/rect\";\nimport * as r from \"react\";\nexport function useRect(e) {\n var _r$useState = r.useState(),\n _r$useState2 = _slicedToArray(_r$useState, 2),\n o = _r$useState2[0],\n c = _r$useState2[1];\n\n return r.useEffect(function () {\n if (e) {\n var _r = t(e, c);\n\n return function () {\n c(void 0), _r();\n };\n }\n }, [e]), o;\n}","import _defineProperty from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nexport var SIDE_OPTIONS = [\"top\", \"right\", \"bottom\", \"left\"];\nexport var ALIGN_OPTIONS = [\"start\", \"center\", \"end\"];\nexport function getPlacementData(_ref) {\n var p = _ref.anchorRect,\n c = _ref.popperSize,\n f = _ref.arrowSize,\n _ref$arrowOffset = _ref.arrowOffset,\n l = _ref$arrowOffset === void 0 ? 0 : _ref$arrowOffset,\n d = _ref.side,\n _ref$sideOffset = _ref.sideOffset,\n h = _ref$sideOffset === void 0 ? 0 : _ref$sideOffset,\n x = _ref.align,\n _ref$alignOffset = _ref.alignOffset,\n g = _ref$alignOffset === void 0 ? 0 : _ref$alignOffset,\n _ref$shouldAvoidColli = _ref.shouldAvoidCollisions,\n u = _ref$shouldAvoidColli === void 0 ? !0 : _ref$shouldAvoidColli,\n w = _ref.collisionBoundariesRect,\n _ref$collisionToleran = _ref.collisionTolerance,\n m = _ref$collisionToleran === void 0 ? 0 : _ref$collisionToleran;\n if (!p || !c || !w) return {\n popperStyles: o,\n arrowStyles: n\n };\n\n var y = function (e, r) {\n var o = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var i = arguments.length > 4 ? arguments[4] : undefined;\n var p = i ? i.height : 0,\n a = t(r, e, \"x\"),\n s = t(r, e, \"y\"),\n c = s.before - o - p,\n f = s.after + o + p,\n l = a.before - o - p,\n d = a.after + o + p;\n return {\n top: {\n start: {\n x: a.start + n,\n y: c\n },\n center: {\n x: a.center,\n y: c\n },\n end: {\n x: a.end - n,\n y: c\n }\n },\n right: {\n start: {\n x: d,\n y: s.start + n\n },\n center: {\n x: d,\n y: s.center\n },\n end: {\n x: d,\n y: s.end - n\n }\n },\n bottom: {\n start: {\n x: a.start + n,\n y: f\n },\n center: {\n x: a.center,\n y: f\n },\n end: {\n x: a.end - n,\n y: f\n }\n },\n left: {\n start: {\n x: l,\n y: s.start + n\n },\n center: {\n x: l,\n y: s.center\n },\n end: {\n x: l,\n y: s.end - n\n }\n }\n };\n }(c, p, h, g, f),\n b = y[d][x];\n\n if (!1 === u) {\n var _t = e(b);\n\n var _o = n;\n f && (_o = i({\n popperSize: c,\n arrowSize: f,\n arrowOffset: l,\n side: d,\n align: x\n }));\n return {\n popperStyles: _objectSpread(_objectSpread({}, _t), {}, {\n \"--radix-popper-transform-origin\": r(c, d, x, l, f)\n }),\n arrowStyles: _o,\n placedSide: d,\n placedAlign: x\n };\n }\n\n var S = DOMRect.fromRect(_objectSpread(_objectSpread({}, c), b)),\n $ = (O = w, z = m, DOMRect.fromRect({\n width: O.width - 2 * z,\n height: O.height - 2 * z,\n x: O.left + z,\n y: O.top + z\n }));\n var O, z;\n\n var R = s(S, $),\n M = y[a(d)][x],\n D = function (t, e, r) {\n var o = a(t);\n return e[t] && !r[o] ? o : t;\n }(d, R, s(DOMRect.fromRect(_objectSpread(_objectSpread({}, c), M)), $)),\n A = function (t, e, r, o, n) {\n var i = \"top\" === r || \"bottom\" === r,\n p = i ? \"left\" : \"top\",\n a = i ? \"right\" : \"bottom\",\n s = i ? \"width\" : \"height\",\n c = e[s] > t[s];\n if ((\"start\" === o || \"center\" === o) && (n[p] && c || n[a] && !c)) return \"end\";\n if ((\"end\" === o || \"center\" === o) && (n[a] && c || n[p] && !c)) return \"start\";\n return o;\n }(c, p, d, x, R),\n I = e(y[D][A]);\n\n var C = n;\n f && (C = i({\n popperSize: c,\n arrowSize: f,\n arrowOffset: l,\n side: D,\n align: A\n }));\n return {\n popperStyles: _objectSpread(_objectSpread({}, I), {}, {\n \"--radix-popper-transform-origin\": r(c, D, A, l, f)\n }),\n arrowStyles: C,\n placedSide: D,\n placedAlign: A\n };\n}\n\nfunction t(t, e, r) {\n var o = t[\"x\" === r ? \"left\" : \"top\"],\n n = \"x\" === r ? \"width\" : \"height\",\n i = t[n],\n p = e[n];\n return {\n before: o - p,\n start: o,\n center: o + (i - p) / 2,\n end: o + i - p,\n after: o + i\n };\n}\n\nfunction e(t) {\n return {\n position: \"absolute\",\n top: 0,\n left: 0,\n minWidth: \"max-content\",\n willChange: \"transform\",\n transform: \"translate3d(\".concat(Math.round(t.x + window.scrollX), \"px, \").concat(Math.round(t.y + window.scrollY), \"px, 0)\")\n };\n}\n\nfunction r(t, e, r, o, n) {\n var i = \"top\" === e || \"bottom\" === e,\n p = n ? n.width : 0,\n a = n ? n.height : 0,\n s = p / 2 + o;\n var c = \"\",\n f = \"\";\n return i ? (c = {\n start: \"\".concat(s, \"px\"),\n center: \"center\",\n end: t.width - s + \"px\"\n }[r], f = \"top\" === e ? \"\".concat(t.height + a, \"px\") : -a + \"px\") : (c = \"left\" === e ? \"\".concat(t.width + a, \"px\") : -a + \"px\", f = {\n start: \"\".concat(s, \"px\"),\n center: \"center\",\n end: t.height - s + \"px\"\n }[r]), \"\".concat(c, \" \").concat(f);\n}\n\nvar o = {\n position: \"fixed\",\n top: 0,\n left: 0,\n opacity: 0,\n transform: \"translate3d(0, -200%, 0)\"\n},\n n = {\n position: \"absolute\",\n opacity: 0\n};\n\nfunction i(_ref2) {\n var _f;\n\n var t = _ref2.popperSize,\n e = _ref2.arrowSize,\n r = _ref2.arrowOffset,\n o = _ref2.side,\n n = _ref2.align;\n var i = (t.width - e.width) / 2,\n a = (t.height - e.width) / 2,\n s = {\n top: 0,\n right: 90,\n bottom: 180,\n left: -90\n }[o],\n c = Math.max(e.width, e.height),\n f = (_f = {\n width: \"\".concat(c, \"px\"),\n height: \"\".concat(c, \"px\"),\n transform: \"rotate(\".concat(s, \"deg)\"),\n willChange: \"transform\",\n position: \"absolute\"\n }, _defineProperty(_f, o, \"100%\"), _defineProperty(_f, \"direction\", p(o, n)), _f);\n return \"top\" !== o && \"bottom\" !== o || (\"start\" === n && (f.left = \"\".concat(r, \"px\")), \"center\" === n && (f.left = \"\".concat(i, \"px\")), \"end\" === n && (f.right = \"\".concat(r, \"px\"))), \"left\" !== o && \"right\" !== o || (\"start\" === n && (f.top = \"\".concat(r, \"px\")), \"center\" === n && (f.top = \"\".concat(a, \"px\")), \"end\" === n && (f.bottom = \"\".concat(r, \"px\"))), f;\n}\n\nfunction p(t, e) {\n return (\"top\" !== t && \"right\" !== t || \"end\" !== e) && (\"bottom\" !== t && \"left\" !== t || \"end\" === e) ? \"ltr\" : \"rtl\";\n}\n\nfunction a(t) {\n return {\n top: \"bottom\",\n right: \"left\",\n bottom: \"top\",\n left: \"right\"\n }[t];\n}\n\nfunction s(t, e) {\n return {\n top: t.top < e.top,\n right: t.right > e.right,\n bottom: t.bottom > e.bottom,\n left: t.left < e.left\n };\n}","import _defineProperty from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nimport _objectWithoutProperties from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\";\nimport _slicedToArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nvar _excluded = [\"__scopePopper\", \"virtualRef\"],\n _excluded2 = [\"__scopePopper\", \"side\", \"sideOffset\", \"align\", \"alignOffset\", \"collisionTolerance\", \"avoidCollisions\"],\n _excluded3 = [\"__scopePopper\", \"offset\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport * as e from \"@radix-ui/react-arrow\";\nimport { Primitive as o } from \"@radix-ui/react-primitive\";\nimport { useSize as r } from \"@radix-ui/react-use-size\";\nimport { useRect as t } from \"@radix-ui/react-use-rect\";\nimport { createContextScope as n } from \"@radix-ui/react-context\";\nimport { useComposedRefs as i } from \"@radix-ui/react-compose-refs\";\nimport { getPlacementData as p } from \"@radix-ui/popper\";\nimport * as s from \"react\";\nimport a from \"@babel/runtime/helpers/esm/extends\";\n\nvar _n = n(\"Popper\"),\n _n2 = _slicedToArray(_n, 2),\n c = _n2[0],\n l = _n2[1];\n\nexport { l as createPopperScope };\n\nvar _c = c(\"Popper\"),\n _c2 = _slicedToArray(_c, 2),\n f = _c2[0],\n d = _c2[1];\n\nexport var Popper = function Popper(e) {\n var o = e.__scopePopper,\n r = e.children,\n _s$useState = s.useState(null),\n _s$useState2 = _slicedToArray(_s$useState, 2),\n t = _s$useState2[0],\n n = _s$useState2[1];\n /*#__PURE__*/\n\n\n return s.createElement(f, {\n scope: o,\n anchor: t,\n onAnchorChange: n\n }, r);\n};\n/*#__PURE__*/\n\nexport var PopperAnchor = /*#__PURE__*/s.forwardRef(function (e, r) {\n var t = e.__scopePopper,\n n = e.virtualRef,\n p = _objectWithoutProperties(e, _excluded),\n c = d(\"PopperAnchor\", t),\n l = s.useRef(null),\n f = i(r, l);\n\n return s.useEffect(function () {\n c.onAnchorChange((null == n ? void 0 : n.current) || l.current);\n }), n ? null : /*#__PURE__*/s.createElement(o.div, a({}, p, {\n ref: f\n }));\n});\n/*#__PURE__*/\n\nvar _c3 = c(\"PopperContent\"),\n _c4 = _slicedToArray(_c3, 2),\n u = _c4[0],\n m = _c4[1];\n\nexport var PopperContent = /*#__PURE__*/s.forwardRef(function (e, n) {\n var c = e.__scopePopper,\n _e$side = e.side,\n l = _e$side === void 0 ? \"bottom\" : _e$side,\n f = e.sideOffset,\n _e$align = e.align,\n m = _e$align === void 0 ? \"center\" : _e$align,\n w = e.alignOffset,\n h = e.collisionTolerance,\n _e$avoidCollisions = e.avoidCollisions,\n x = _e$avoidCollisions === void 0 ? !0 : _e$avoidCollisions,\n v = _objectWithoutProperties(e, _excluded2),\n P = d(\"PopperContent\", c),\n _s$useState3 = s.useState(),\n _s$useState4 = _slicedToArray(_s$useState3, 2),\n A = _s$useState4[0],\n g = _s$useState4[1],\n E = t(P.anchor),\n _s$useState5 = s.useState(null),\n _s$useState6 = _slicedToArray(_s$useState5, 2),\n y = _s$useState6[0],\n C = _s$useState6[1],\n S = r(y),\n _s$useState7 = s.useState(null),\n _s$useState8 = _slicedToArray(_s$useState7, 2),\n R = _s$useState8[0],\n O = _s$useState8[1],\n _ = r(R),\n b = i(n, function (e) {\n return C(e);\n }),\n z = function () {\n var _s$useState9 = s.useState(void 0),\n _s$useState10 = _slicedToArray(_s$useState9, 2),\n e = _s$useState10[0],\n o = _s$useState10[1];\n\n return s.useEffect(function () {\n var e;\n\n function r() {\n o({\n width: window.innerWidth,\n height: window.innerHeight\n });\n }\n\n function t() {\n window.clearTimeout(e), e = window.setTimeout(r, 100);\n }\n\n return r(), window.addEventListener(\"resize\", t), function () {\n return window.removeEventListener(\"resize\", t);\n };\n }, []), e;\n }(),\n T = z ? DOMRect.fromRect(_objectSpread(_objectSpread({}, z), {}, {\n x: 0,\n y: 0\n })) : void 0,\n _p = p({\n anchorRect: E,\n popperSize: S,\n arrowSize: _,\n arrowOffset: A,\n side: l,\n sideOffset: f,\n align: m,\n alignOffset: w,\n shouldAvoidCollisions: x,\n collisionBoundariesRect: T,\n collisionTolerance: h\n }),\n k = _p.popperStyles,\n L = _p.arrowStyles,\n B = _p.placedSide,\n D = _p.placedAlign,\n H = void 0 !== B;\n /*#__PURE__*/\n\n\n return s.createElement(\"div\", {\n style: k,\n \"data-radix-popper-content-wrapper\": \"\"\n }, /*#__PURE__*/s.createElement(u, {\n scope: c,\n arrowStyles: L,\n onArrowChange: O,\n onArrowOffsetChange: g\n }, /*#__PURE__*/s.createElement(o.div, a({\n \"data-side\": B,\n \"data-align\": D\n }, v, {\n style: _objectSpread(_objectSpread({}, v.style), {}, {\n animation: H ? void 0 : \"none\"\n }),\n ref: b\n }))));\n});\n/*#__PURE__*/\n\nexport var PopperArrow = /*#__PURE__*/s.forwardRef(function (o, r) {\n var t = o.__scopePopper,\n n = o.offset,\n i = _objectWithoutProperties(o, _excluded3),\n p = m(\"PopperArrow\", t),\n c = p.onArrowOffsetChange;\n\n return s.useEffect(function () {\n return c(n);\n }, [c, n]), /*#__PURE__*/s.createElement(\"span\", {\n style: _objectSpread(_objectSpread({}, p.arrowStyles), {}, {\n pointerEvents: \"none\"\n })\n }, /*#__PURE__*/s.createElement(\"span\", {\n ref: p.onArrowChange,\n style: {\n display: \"inline-block\",\n verticalAlign: \"top\",\n pointerEvents: \"auto\"\n }\n }, /*#__PURE__*/s.createElement(e.Root, a({}, i, {\n ref: r,\n style: _objectSpread(_objectSpread({}, i.style), {}, {\n display: \"block\"\n })\n }))));\n});\n/*#__PURE__*/\n\nexport var Root = Popper;\nexport var Anchor = PopperAnchor;\nexport var Content = PopperContent;\nexport var Arrow = PopperArrow;","import _slicedToArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport { useLayoutEffect as e } from \"@radix-ui/react-use-layout-effect\";\nimport { useComposedRefs as n } from \"@radix-ui/react-compose-refs\";\nimport * as t from \"react\";\nexport var Presence = function Presence(u) {\n var o = u.present,\n i = u.children,\n s = function (n) {\n var _t$useState = t.useState(),\n _t$useState2 = _slicedToArray(_t$useState, 2),\n u = _t$useState2[0],\n o = _t$useState2[1],\n i = t.useRef({}),\n s = t.useRef(n),\n c = t.useRef(\"none\"),\n a = n ? \"mounted\" : \"unmounted\",\n _ref = function (e, n) {\n return t.useReducer(function (e, t) {\n var r = n[e][t];\n return null != r ? r : e;\n }, e);\n }(a, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n }),\n _ref2 = _slicedToArray(_ref, 2),\n d = _ref2[0],\n m = _ref2[1];\n\n return t.useEffect(function () {\n var e = r(i.current);\n c.current = \"mounted\" === d ? e : \"none\";\n }, [d]), e(function () {\n var e = i.current,\n t = s.current;\n\n if (t !== n) {\n var _u = c.current,\n _o = r(e);\n\n if (n) m(\"MOUNT\");else if (\"none\" === _o || \"none\" === (null == e ? void 0 : e.display)) m(\"UNMOUNT\");else {\n var _e = _u !== _o;\n\n m(t && _e ? \"ANIMATION_OUT\" : \"UNMOUNT\");\n }\n s.current = n;\n }\n }, [n, m]), e(function () {\n if (u) {\n var _e2 = function _e2(e) {\n var n = r(i.current).includes(e.animationName);\n e.target === u && n && m(\"ANIMATION_END\");\n },\n _n = function _n(e) {\n e.target === u && (c.current = r(i.current));\n };\n\n return u.addEventListener(\"animationstart\", _n), u.addEventListener(\"animationcancel\", _e2), u.addEventListener(\"animationend\", _e2), function () {\n u.removeEventListener(\"animationstart\", _n), u.removeEventListener(\"animationcancel\", _e2), u.removeEventListener(\"animationend\", _e2);\n };\n }\n }, [u, m]), {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(d),\n ref: t.useCallback(function (e) {\n e && (i.current = getComputedStyle(e)), o(e);\n }, [])\n };\n }(o),\n c = \"function\" == typeof i ? i({\n present: s.isPresent\n }) : t.Children.only(i),\n a = n(s.ref, c.ref);\n\n return \"function\" == typeof i || s.isPresent ? /*#__PURE__*/t.cloneElement(c, {\n ref: a\n }) : null;\n};\n\nfunction r(e) {\n return (null == e ? void 0 : e.animationName) || \"none\";\n}\n\nPresence.displayName = \"Presence\";","import _toConsumableArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nimport _slicedToArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport _objectWithoutProperties from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\";\nvar _excluded = [\"loop\", \"trapped\", \"onMountAutoFocus\", \"onUnmountAutoFocus\"];\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { useCallbackRef as e } from \"@radix-ui/react-use-callback-ref\";\nimport { Primitive as t } from \"@radix-ui/react-primitive\";\nimport { useComposedRefs as n } from \"@radix-ui/react-compose-refs\";\nimport * as o from \"react\";\nimport u from \"@babel/runtime/helpers/esm/extends\";\nvar c = {\n bubbles: !1,\n cancelable: !0\n};\nexport var FocusScope = /*#__PURE__*/o.forwardRef(function (i, f) {\n var _i$loop = i.loop,\n l = _i$loop === void 0 ? !1 : _i$loop,\n _i$trapped = i.trapped,\n m = _i$trapped === void 0 ? !1 : _i$trapped,\n p = i.onMountAutoFocus,\n v = i.onUnmountAutoFocus,\n E = _objectWithoutProperties(i, _excluded),\n _o$useState = o.useState(null),\n _o$useState2 = _slicedToArray(_o$useState, 2),\n F = _o$useState2[0],\n S = _o$useState2[1],\n b = e(p),\n T = e(v),\n y = o.useRef(null),\n L = n(f, function (e) {\n return S(e);\n }),\n h = o.useRef({\n paused: !1,\n pause: function pause() {\n this.paused = !0;\n },\n resume: function resume() {\n this.paused = !1;\n }\n }).current;\n\n o.useEffect(function () {\n if (m) {\n var _e = function _e(e) {\n if (h.paused || !F) return;\n var t = e.target;\n F.contains(t) ? y.current = t : a(y.current, {\n select: !0\n });\n };\n\n var _t = function _t(e) {\n !h.paused && F && (F.contains(e.relatedTarget) || a(y.current, {\n select: !0\n }));\n };\n\n return document.addEventListener(\"focusin\", _e), document.addEventListener(\"focusout\", _t), function () {\n document.removeEventListener(\"focusin\", _e), document.removeEventListener(\"focusout\", _t);\n };\n }\n }, [m, F, h.paused]), o.useEffect(function () {\n if (F) {\n d.add(h);\n var _t2 = document.activeElement;\n\n if (!F.contains(_t2)) {\n var _n = new Event(\"focusScope.autoFocusOnMount\", c);\n\n F.addEventListener(\"focusScope.autoFocusOnMount\", b), F.dispatchEvent(_n), _n.defaultPrevented || (!function (e) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$select = _ref.select,\n t = _ref$select === void 0 ? !1 : _ref$select;\n\n var n = document.activeElement;\n\n var _iterator = _createForOfIteratorHelper(e),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _o = _step.value;\n if (a(_o, {\n select: t\n }), document.activeElement !== n) return;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }((e = r(F), e.filter(function (e) {\n return \"A\" !== e.tagName;\n })), {\n select: !0\n }), document.activeElement === _t2 && a(F));\n }\n\n return function () {\n F.removeEventListener(\"focusScope.autoFocusOnMount\", b), setTimeout(function () {\n var e = new Event(\"focusScope.autoFocusOnUnmount\", c);\n F.addEventListener(\"focusScope.autoFocusOnUnmount\", T), F.dispatchEvent(e), e.defaultPrevented || a(null != _t2 ? _t2 : document.body, {\n select: !0\n }), F.removeEventListener(\"focusScope.autoFocusOnUnmount\", T), d.remove(h);\n }, 0);\n };\n }\n\n var e;\n }, [F, b, T, h]);\n var N = o.useCallback(function (e) {\n if (!l && !m) return;\n if (h.paused) return;\n var t = \"Tab\" === e.key && !e.altKey && !e.ctrlKey && !e.metaKey,\n n = document.activeElement;\n\n if (t && n) {\n var _t3 = e.currentTarget,\n _ref2 = function (e) {\n var t = r(e),\n n = s(t, e),\n o = s(t.reverse(), e);\n return [n, o];\n }(_t3),\n _ref3 = _slicedToArray(_ref2, 2),\n _o2 = _ref3[0],\n _u = _ref3[1];\n\n _o2 && _u ? e.shiftKey || n !== _u ? e.shiftKey && n === _o2 && (e.preventDefault(), l && a(_u, {\n select: !0\n })) : (e.preventDefault(), l && a(_o2, {\n select: !0\n })) : n === _t3 && e.preventDefault();\n }\n }, [l, m, h.paused]);\n /*#__PURE__*/\n\n return o.createElement(t.div, u({\n tabIndex: -1\n }, E, {\n ref: L,\n onKeyDown: N\n }));\n});\n/*#__PURE__*/\n\nfunction r(e) {\n var t = [],\n n = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, {\n acceptNode: function acceptNode(e) {\n var t = \"INPUT\" === e.tagName && \"hidden\" === e.type;\n return e.disabled || e.hidden || t ? NodeFilter.FILTER_SKIP : e.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n\n for (; n.nextNode();) {\n t.push(n.currentNode);\n }\n\n return t;\n}\n\nfunction s(e, t) {\n var _iterator2 = _createForOfIteratorHelper(e),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _n2 = _step2.value;\n if (!i(_n2, {\n upTo: t\n })) return _n2;\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n}\n\nfunction i(e, _ref4) {\n var t = _ref4.upTo;\n if (\"hidden\" === getComputedStyle(e).visibility) return !0;\n\n for (; e;) {\n if (void 0 !== t && e === t) return !1;\n if (\"none\" === getComputedStyle(e).display) return !0;\n e = e.parentElement;\n }\n\n return !1;\n}\n\nfunction a(e) {\n var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref5$select = _ref5.select,\n t = _ref5$select === void 0 ? !1 : _ref5$select;\n\n if (e && e.focus) {\n var _n3 = document.activeElement;\n e.focus({\n preventScroll: !0\n }), e !== _n3 && function (e) {\n return e instanceof HTMLInputElement && \"select\" in e;\n }(e) && t && e.select();\n }\n}\n\nvar d = function () {\n var e = [];\n return {\n add: function add(t) {\n var n = e[0];\n t !== n && (null == n || n.pause()), e = f(e, t), e.unshift(t);\n },\n remove: function remove(t) {\n var n;\n e = f(e, t), null === (n = e[0]) || void 0 === n || n.resume();\n }\n };\n}();\n\nfunction f(e, t) {\n var n = _toConsumableArray(e),\n o = n.indexOf(t);\n\n return -1 !== o && n.splice(o, 1), n;\n}\n\nexport var Root = FocusScope;","import { useLayoutEffect as e } from \"@radix-ui/react-use-layout-effect\";\nimport * as t from \"react\";\nvar n,\n o = 0;\nexport function useBodyPointerEvents(_ref) {\n var r = _ref.disabled;\n var u = t.useRef(!1),\n c = t.useRef(!1);\n t.useEffect(function () {\n var e = function e(_e) {\n var t = \"mouse\" === _e.pointerType;\n u.current = !t, c.current = t && 0 === _e.button;\n },\n t = function t() {\n u.current = !1, c.current = !1;\n };\n\n return document.addEventListener(\"pointerdown\", e), document.addEventListener(\"pointerup\", t), function () {\n document.removeEventListener(\"pointerdown\", e), document.removeEventListener(\"pointerup\", t);\n };\n }, []), e(function () {\n if (r) {\n var _e2 = function _e2() {\n o--, 0 === o && (document.body.style.pointerEvents = n);\n };\n\n return 0 === o && (n = document.body.style.pointerEvents), document.body.style.pointerEvents = \"none\", o++, function () {\n u.current ? document.addEventListener(\"click\", _e2, {\n once: !0\n }) : c.current ? document.addEventListener(\"pointerup\", _e2, {\n once: !0\n }) : _e2();\n };\n }\n }, [r]);\n}","import _defineProperty from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nimport _objectWithoutProperties from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\";\nimport _slicedToArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nvar _excluded = [\"disableOutsidePointerEvents\", \"onEscapeKeyDown\", \"onPointerDownOutside\", \"onFocusOutside\", \"onInteractOutside\", \"onDismiss\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport { useEscapeKeydown as e } from \"@radix-ui/react-use-escape-keydown\";\nimport { useCallbackRef as t } from \"@radix-ui/react-use-callback-ref\";\nimport { useBodyPointerEvents as n } from \"@radix-ui/react-use-body-pointer-events\";\nimport { createContext as r } from \"@radix-ui/react-context\";\nimport { Primitive as o } from \"@radix-ui/react-primitive\";\nimport { composeEventHandlers as u } from \"@radix-ui/primitive\";\nimport * as i from \"react\";\nimport s from \"@babel/runtime/helpers/esm/extends\";\n\nvar _C = C(),\n _C2 = _slicedToArray(_C, 2),\n a = _C2[0],\n c = _C2[1],\n _b = b(),\n _b2 = _slicedToArray(_b, 2),\n l = _b2[0],\n d = _b2[1],\n _C3 = C(\"TotalLayerCountWithDisabledOutsidePointerEventsProvider\"),\n _C4 = _slicedToArray(_C3, 2),\n m = _C4[0],\n f = _C4[1],\n _b3 = b(\"RunningLayerCountWithDisabledOutsidePointerEventsProvider\"),\n _b4 = _slicedToArray(_b3, 2),\n p = _b4[0],\n v = _b4[1];\n\nexport var DismissableLayer = /*#__PURE__*/i.forwardRef(function (e, t) {\n var n = 0 === d(),\n r = /*#__PURE__*/i.createElement(E, s({}, e, {\n ref: t\n }));\n return n ? /*#__PURE__*/i.createElement(a, null, /*#__PURE__*/i.createElement(m, null, r)) : r;\n});\n/*#__PURE__*/\n\nvar E = /*#__PURE__*/i.forwardRef(function (r, a) {\n var _r$disableOutsidePoin = r.disableOutsidePointerEvents,\n m = _r$disableOutsidePoin === void 0 ? !1 : _r$disableOutsidePoin,\n E = r.onEscapeKeyDown,\n C = r.onPointerDownOutside,\n b = r.onFocusOutside,\n w = r.onInteractOutside,\n L = r.onDismiss,\n y = _objectWithoutProperties(r, _excluded),\n D = c(),\n P = d() + 1,\n T = P === D,\n g = f(m),\n x = v() + (m ? 1 : 0),\n O = x < g;\n\n n({\n disabled: m\n }), e(function (e) {\n T && (null == E || E(e), e.defaultPrevented || null == L || L());\n });\n\n var _ref = function (e) {\n var n = t(e),\n r = i.useRef(!1);\n return i.useEffect(function () {\n var e = function e(_e) {\n var t = _e.target;\n\n if (t && !r.current) {\n var _r = new CustomEvent(\"dismissableLayer.pointerDownOutside\", {\n bubbles: !1,\n cancelable: !0,\n detail: {\n originalEvent: _e\n }\n });\n\n t.addEventListener(\"dismissableLayer.pointerDownOutside\", n, {\n once: !0\n }), t.dispatchEvent(_r);\n }\n\n r.current = !1;\n },\n t = window.setTimeout(function () {\n document.addEventListener(\"pointerdown\", e);\n }, 0);\n\n return function () {\n window.clearTimeout(t), document.removeEventListener(\"pointerdown\", e);\n };\n }, [n]), {\n onPointerDownCapture: function onPointerDownCapture() {\n return r.current = !0;\n }\n };\n }(function (e) {\n O || (null == C || C(e), null == w || w(e), e.defaultPrevented || null == L || L());\n }),\n R = _ref.onPointerDownCapture,\n _ref2 = function (e) {\n var n = t(e),\n r = i.useRef(!1);\n return i.useEffect(function () {\n var e = function e(_e2) {\n var t = _e2.target;\n\n if (t && !r.current) {\n var _r2 = new CustomEvent(\"dismissableLayer.focusOutside\", {\n bubbles: !1,\n cancelable: !0,\n detail: {\n originalEvent: _e2\n }\n });\n\n t.addEventListener(\"dismissableLayer.focusOutside\", n, {\n once: !0\n }), t.dispatchEvent(_r2);\n }\n };\n\n return document.addEventListener(\"focusin\", e), function () {\n return document.removeEventListener(\"focusin\", e);\n };\n }, [n]), {\n onFocusCapture: function onFocusCapture() {\n return r.current = !0;\n },\n onBlurCapture: function onBlurCapture() {\n return r.current = !1;\n }\n };\n }(function (e) {\n null == b || b(e), null == w || w(e), e.defaultPrevented || null == L || L();\n }),\n h = _ref2.onBlurCapture,\n F = _ref2.onFocusCapture,\n k = g > 0 && !O;\n /*#__PURE__*/\n\n\n return i.createElement(l, {\n runningCount: P\n }, /*#__PURE__*/i.createElement(p, {\n runningCount: x\n }, /*#__PURE__*/i.createElement(o.div, s({}, y, {\n ref: a,\n style: _objectSpread({\n pointerEvents: k ? \"auto\" : void 0\n }, y.style),\n onPointerDownCapture: u(r.onPointerDownCapture, R),\n onBlurCapture: u(r.onBlurCapture, h),\n onFocusCapture: u(r.onFocusCapture, F)\n }))));\n});\n\nfunction C(e) {\n var _r3 = r(\"TotalLayerCount\", {\n total: 0,\n onTotalIncrease: function onTotalIncrease() {},\n onTotalDecrease: function onTotalDecrease() {}\n }),\n _r4 = _slicedToArray(_r3, 2),\n t = _r4[0],\n n = _r4[1],\n o = function o(_ref3) {\n var e = _ref3.children;\n\n var _i$useState = i.useState(0),\n _i$useState2 = _slicedToArray(_i$useState, 2),\n n = _i$useState2[0],\n r = _i$useState2[1];\n /*#__PURE__*/\n\n\n /*#__PURE__*/\n return i.createElement(t, {\n total: n,\n onTotalIncrease: i.useCallback(function () {\n return r(function (e) {\n return e + 1;\n });\n }, []),\n onTotalDecrease: i.useCallback(function () {\n return r(function (e) {\n return e - 1;\n });\n }, [])\n }, e);\n };\n\n return [o, function () {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !0;\n\n var _n = n(\"TotalLayerCountConsumer\"),\n t = _n.total,\n r = _n.onTotalIncrease,\n o = _n.onTotalDecrease;\n\n return i.useLayoutEffect(function () {\n if (e) return r(), function () {\n return o();\n };\n }, [e, r, o]), t;\n }];\n}\n\nfunction b(e) {\n var _r5 = r(\"RunningLayerCount\", {\n count: 0\n }),\n _r6 = _slicedToArray(_r5, 2),\n t = _r6[0],\n n = _r6[1],\n o = function o(e) {\n var n = e.children,\n r = e.runningCount;\n /*#__PURE__*/\n\n /*#__PURE__*/\n return i.createElement(t, {\n count: r\n }, n);\n };\n\n return [o, function () {\n return n(\"RunningLayerCountConsumer\").count || 0;\n }];\n}\n\nexport var Root = DismissableLayer;","import { useCallbackRef as e } from \"@radix-ui/react-use-callback-ref\";\nimport * as t from \"react\";\nexport function useEscapeKeydown(n) {\n var o = e(n);\n t.useEffect(function () {\n var e = function e(_e) {\n \"Escape\" === _e.key && o(_e);\n };\n\n return document.addEventListener(\"keydown\", e), function () {\n return document.removeEventListener(\"keydown\", e);\n };\n }, [o]);\n}","var getDefaultParent = function getDefaultParent(originalTarget) {\n if (typeof document === 'undefined') {\n return null;\n }\n\n var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;\n return sampleTarget.ownerDocument.body;\n};\n\nvar counterMap = new WeakMap();\nvar uncontrolledNodes = new WeakMap();\nvar markerMap = {};\nvar lockCount = 0;\nexport var hideOthers = function hideOthers(originalTarget, parentNode, markerName) {\n if (parentNode === void 0) {\n parentNode = getDefaultParent(originalTarget);\n }\n\n if (markerName === void 0) {\n markerName = \"data-aria-hidden\";\n }\n\n var targets = Array.isArray(originalTarget) ? originalTarget : [originalTarget];\n\n if (!markerMap[markerName]) {\n markerMap[markerName] = new WeakMap();\n }\n\n var markerCounter = markerMap[markerName];\n var hiddenNodes = [];\n var elementsToKeep = new Set();\n\n var keep = function keep(el) {\n if (!el || elementsToKeep.has(el)) {\n return;\n }\n\n elementsToKeep.add(el);\n keep(el.parentNode);\n };\n\n targets.forEach(keep);\n\n var deep = function deep(parent) {\n if (!parent || targets.indexOf(parent) >= 0) {\n return;\n }\n\n Array.prototype.forEach.call(parent.children, function (node) {\n if (elementsToKeep.has(node)) {\n deep(node);\n } else {\n var attr = node.getAttribute('aria-hidden');\n var alreadyHidden = attr !== null && attr !== 'false';\n var counterValue = (counterMap.get(node) || 0) + 1;\n var markerValue = (markerCounter.get(node) || 0) + 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n hiddenNodes.push(node);\n\n if (counterValue === 1 && alreadyHidden) {\n uncontrolledNodes.set(node, true);\n }\n\n if (markerValue === 1) {\n node.setAttribute(markerName, 'true');\n }\n\n if (!alreadyHidden) {\n node.setAttribute('aria-hidden', 'true');\n }\n }\n });\n };\n\n deep(parentNode);\n elementsToKeep.clear();\n lockCount++;\n return function () {\n hiddenNodes.forEach(function (node) {\n var counterValue = counterMap.get(node) - 1;\n var markerValue = markerCounter.get(node) - 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n\n if (!counterValue) {\n if (!uncontrolledNodes.has(node)) {\n node.removeAttribute('aria-hidden');\n }\n\n uncontrolledNodes.delete(node);\n }\n\n if (!markerValue) {\n node.removeAttribute(markerName);\n }\n });\n lockCount--;\n\n if (!lockCount) {\n counterMap = new WeakMap();\n counterMap = new WeakMap();\n uncontrolledNodes = new WeakMap();\n markerMap = {};\n }\n };\n};","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n\n/* global Reflect, Promise */\nvar _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nvar _assign = function __assign() {\n _assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return _assign.apply(this, arguments);\n};\n\nexport { _assign as __assign };\nexport function __rest(s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {\n if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n }\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nexport function __param(paramIndex, decorator) {\n return function (target, key) {\n decorator(target, key, paramIndex);\n };\n}\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nexport function __createBinding(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}\nexport function __exportStar(m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\n }\n}\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function next() {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\n ar.push(r.value);\n }\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n\n return ar;\n}\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) {\n ar = ar.concat(__read(arguments[i]));\n }\n\n return ar;\n}\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n}\n;\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []),\n i,\n q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n\n function verb(n) {\n if (g[n]) i[n] = function (v) {\n return new Promise(function (a, b) {\n q.push([n, v, a, b]) > 1 || resume(n, v);\n });\n };\n }\n\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n\n function step(r) {\n r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n\n function fulfill(value) {\n resume(\"next\", value);\n }\n\n function reject(value) {\n resume(\"throw\", value);\n }\n\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function () {\n return this;\n }, i;\n\n function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: n === \"return\"\n } : f ? f(v) : v;\n } : f;\n }\n}\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator],\n i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i);\n\n function verb(n) {\n i[n] = o[n] && function (v) {\n return new Promise(function (resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function (v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n } else {\n cooked.raw = raw;\n }\n\n return cooked;\n}\n;\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) {\n if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n }\n result.default = mod;\n return result;\n}\nexport function __importDefault(mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n}\nexport function __classPrivateFieldGet(receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n\n return privateMap.get(receiver);\n}\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n\n privateMap.set(receiver, value);\n return value;\n}","export var zeroRightClassName = 'right-scroll-bar-position';\nexport var fullWidthClassName = 'width-before-scroll-bar';\nexport var noScrollbarsClassName = 'with-scroll-bars-hidden';\nexport var removedBarSizeVariable = '--removed-body-scroll-bar-size';","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n\n/* global Reflect, Promise */\nvar _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nvar _assign = function __assign() {\n _assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return _assign.apply(this, arguments);\n};\n\nexport { _assign as __assign };\nexport function __rest(s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {\n if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n }\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nexport function __param(paramIndex, decorator) {\n return function (target, key) {\n decorator(target, key, paramIndex);\n };\n}\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nexport function __createBinding(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}\nexport function __exportStar(m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\n }\n}\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function next() {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\n ar.push(r.value);\n }\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n\n return ar;\n}\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) {\n ar = ar.concat(__read(arguments[i]));\n }\n\n return ar;\n}\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n}\n;\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []),\n i,\n q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n\n function verb(n) {\n if (g[n]) i[n] = function (v) {\n return new Promise(function (a, b) {\n q.push([n, v, a, b]) > 1 || resume(n, v);\n });\n };\n }\n\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n\n function step(r) {\n r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n\n function fulfill(value) {\n resume(\"next\", value);\n }\n\n function reject(value) {\n resume(\"throw\", value);\n }\n\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function () {\n return this;\n }, i;\n\n function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: n === \"return\"\n } : f ? f(v) : v;\n } : f;\n }\n}\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator],\n i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i);\n\n function verb(n) {\n i[n] = o[n] && function (v) {\n return new Promise(function (resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function (v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n } else {\n cooked.raw = raw;\n }\n\n return cooked;\n}\n;\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) {\n if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n }\n result.default = mod;\n return result;\n}\nexport function __importDefault(mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n}\nexport function __classPrivateFieldGet(receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n\n return privateMap.get(receiver);\n}\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n\n privateMap.set(receiver, value);\n return value;\n}","import * as tslib_1 from \"tslib\";\n\nfunction ItoI(a) {\n return a;\n}\n\nfunction innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) {\n middleware = ItoI;\n }\n\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function read() {\n if (assigned) {\n throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n }\n\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n\n return defaults;\n },\n useMedium: function useMedium(data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function () {\n buffer = buffer.filter(function (x) {\n return x !== item;\n });\n };\n },\n assignSyncMedium: function assignSyncMedium(cb) {\n assigned = true;\n\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n\n buffer = {\n push: function push(x) {\n return cb(x);\n },\n filter: function filter() {\n return buffer;\n }\n };\n },\n assignMedium: function assignMedium(cb) {\n assigned = true;\n var pendingQueue = [];\n\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n\n var executeQueue = function executeQueue() {\n var cbs = pendingQueue;\n pendingQueue = [];\n cbs.forEach(cb);\n };\n\n var cycle = function cycle() {\n return Promise.resolve().then(executeQueue);\n };\n\n cycle();\n buffer = {\n push: function push(x) {\n pendingQueue.push(x);\n cycle();\n },\n filter: function filter(_filter) {\n pendingQueue = pendingQueue.filter(_filter);\n return buffer;\n }\n };\n }\n };\n return medium;\n}\n\nexport function createMedium(defaults, middleware) {\n if (middleware === void 0) {\n middleware = ItoI;\n }\n\n return innerCreateMedium(defaults, middleware);\n}\nexport function createSidecarMedium(options) {\n if (options === void 0) {\n options = {};\n }\n\n var medium = innerCreateMedium(null);\n medium.options = tslib_1.__assign({\n async: true,\n ssr: false\n }, options);\n return medium;\n}","import { createSidecarMedium } from 'use-sidecar';\nexport var effectCar = createSidecarMedium();","import { useCallbackRef } from './useRef';\nimport { assignRef } from './assignRef';\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const ownRef = useRef();\n * const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n * return
...
\n * }\n */\n\nexport function useMergeRefs(refs, defaultValue) {\n return useCallbackRef(defaultValue, function (newValue) {\n return refs.forEach(function (ref) {\n return assignRef(ref, newValue);\n });\n });\n}","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\n\nexport function useCallbackRef(initialValue, callback) {\n var ref = useState(function () {\n return {\n // value\n value: initialValue,\n // last callback\n callback: callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n\n set current(value) {\n var last = ref.value;\n\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n }\n\n }\n };\n })[0]; // update callback\n\n ref.callback = callback;\n return ref.facade;\n}","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n\n return ref;\n}","import * as tslib_1 from \"tslib\";\nimport * as React from 'react';\nimport { fullWidthClassName, zeroRightClassName } from 'react-remove-scroll-bar/constants';\nimport { effectCar } from './medium';\nimport { useMergeRefs } from 'use-callback-ref';\n\nvar nothing = function nothing() {\n return;\n};\n/**\n * Removes scrollbar from the page and contain the scroll within the Lock\n */\n\n\nvar RemoveScroll = React.forwardRef(function (props, parentRef) {\n var ref = React.useRef(null);\n\n var _a = React.useState({\n onScrollCapture: nothing,\n onWheelCapture: nothing,\n onTouchMoveCapture: nothing\n }),\n callbacks = _a[0],\n setCallbacks = _a[1];\n\n var forwardProps = props.forwardProps,\n children = props.children,\n className = props.className,\n removeScrollBar = props.removeScrollBar,\n enabled = props.enabled,\n shards = props.shards,\n sideCar = props.sideCar,\n noIsolation = props.noIsolation,\n inert = props.inert,\n allowPinchZoom = props.allowPinchZoom,\n _b = props.as,\n Container = _b === void 0 ? 'div' : _b,\n rest = tslib_1.__rest(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\"]);\n\n var SideCar = sideCar;\n var containerRef = useMergeRefs([ref, parentRef]);\n\n var containerProps = tslib_1.__assign({}, rest, callbacks);\n\n return React.createElement(React.Fragment, null, enabled && React.createElement(SideCar, {\n sideCar: effectCar,\n removeScrollBar: removeScrollBar,\n shards: shards,\n noIsolation: noIsolation,\n inert: inert,\n setCallbacks: setCallbacks,\n allowPinchZoom: !!allowPinchZoom,\n lockRef: ref\n }), forwardProps ? React.cloneElement(React.Children.only(children), tslib_1.__assign({}, containerProps, {\n ref: containerRef\n })) : React.createElement(Container, tslib_1.__assign({}, containerProps, {\n className: className,\n ref: containerRef\n }), children));\n});\nRemoveScroll.defaultProps = {\n enabled: true,\n removeScrollBar: true,\n inert: false\n};\nRemoveScroll.classNames = {\n fullWidth: fullWidthClassName,\n zeroRight: zeroRightClassName\n};\nexport { RemoveScroll };","import * as tslib_1 from \"tslib\";\nimport * as React from 'react';\n\nvar SideCar = function SideCar(_a) {\n var sideCar = _a.sideCar,\n rest = tslib_1.__rest(_a, [\"sideCar\"]);\n\n if (!sideCar) {\n throw new Error('Sidecar: please provide `sideCar` property to import the right car');\n }\n\n var Target = sideCar.read();\n\n if (!Target) {\n throw new Error('Sidecar medium not found');\n }\n\n return React.createElement(Target, tslib_1.__assign({}, rest));\n};\n\nSideCar.isSideCarExport = true;\nexport function exportSidecar(medium, exported) {\n medium.useMedium(exported);\n return SideCar;\n}","var currentNonce;\nexport var setNonce = function setNonce(nonce) {\n currentNonce = nonce;\n};\nexport var getNonce = function getNonce() {\n if (currentNonce) {\n return currentNonce;\n }\n\n if (typeof __webpack_nonce__ !== 'undefined') {\n return __webpack_nonce__;\n }\n\n return undefined;\n};","import { getNonce } from \"get-nonce\";\n\nfunction makeStyleTag() {\n if (!document) return null;\n var tag = document.createElement('style');\n tag.type = 'text/css';\n var nonce = getNonce();\n\n if (nonce) {\n tag.setAttribute('nonce', nonce);\n }\n\n return tag;\n}\n\nfunction injectStyles(tag, css) {\n if (tag.styleSheet) {\n tag.styleSheet.cssText = css;\n } else {\n tag.appendChild(document.createTextNode(css));\n }\n}\n\nfunction insertStyleTag(tag) {\n var head = document.head || document.getElementsByTagName('head')[0];\n head.appendChild(tag);\n}\n\nexport var stylesheetSingleton = function stylesheetSingleton() {\n var counter = 0;\n var stylesheet = null;\n return {\n add: function add(style) {\n if (counter == 0) {\n if (stylesheet = makeStyleTag()) {\n injectStyles(stylesheet, style);\n insertStyleTag(stylesheet);\n }\n }\n\n counter++;\n },\n remove: function remove() {\n counter--;\n\n if (!counter && stylesheet) {\n stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);\n stylesheet = null;\n }\n }\n };\n};","import { styleHookSingleton } from \"./hook\";\nexport var styleSingleton = function styleSingleton() {\n var useStyle = styleHookSingleton();\n\n var Sheet = function Sheet(_a) {\n var styles = _a.styles;\n useStyle(styles);\n return null;\n };\n\n return Sheet;\n};","import * as React from 'react';\nimport { stylesheetSingleton } from \"./singleton\";\nexport var styleHookSingleton = function styleHookSingleton() {\n var sheet = stylesheetSingleton();\n return function (styles) {\n React.useEffect(function () {\n sheet.add(styles);\n return function () {\n sheet.remove();\n };\n }, []);\n };\n};","export var zeroGap = {\n left: 0,\n top: 0,\n right: 0,\n gap: 0\n};\n\nvar parse = function parse(x) {\n return parseInt(x || '', 10) || 0;\n};\n\nvar getOffset = function getOffset(gapMode) {\n var cs = window.getComputedStyle(document.body);\n var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];\n var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];\n var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];\n return [parse(left), parse(top), parse(right)];\n};\n\nexport var getGapWidth = function getGapWidth(gapMode) {\n if (gapMode === void 0) {\n gapMode = 'margin';\n }\n\n if (typeof window === 'undefined') {\n return zeroGap;\n }\n\n var offsets = getOffset(gapMode);\n var documentWidth = document.documentElement.clientWidth;\n var windowWidth = window.innerWidth;\n return {\n left: offsets[0],\n top: offsets[1],\n right: offsets[2],\n gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0])\n };\n};","import * as React from 'react';\nimport { styleSingleton } from 'react-style-singleton';\nimport { getGapWidth } from './utils';\nimport { fullWidthClassName, zeroRightClassName, noScrollbarsClassName, removedBarSizeVariable } from \"./constants\";\nvar Style = styleSingleton();\n\nvar getStyles = function getStyles(_a, allowRelative, gapMode, important) {\n var left = _a.left,\n top = _a.top,\n right = _a.right,\n gap = _a.gap;\n\n if (gapMode === void 0) {\n gapMode = 'margin';\n }\n\n return \"\\n .\" + noScrollbarsClassName + \" {\\n overflow: hidden \" + important + \";\\n padding-right: \" + gap + \"px \" + important + \";\\n }\\n body {\\n overflow: hidden \" + important + \";\\n \" + [allowRelative && \"position: relative \" + important + \";\", gapMode === 'margin' && \"\\n padding-left: \" + left + \"px;\\n padding-top: \" + top + \"px;\\n padding-right: \" + right + \"px;\\n margin-left:0;\\n margin-top:0;\\n margin-right: \" + gap + \"px \" + important + \";\\n \", gapMode === 'padding' && \"padding-right: \" + gap + \"px \" + important + \";\"].filter(Boolean).join('') + \"\\n }\\n \\n .\" + zeroRightClassName + \" {\\n right: \" + gap + \"px \" + important + \";\\n }\\n \\n .\" + fullWidthClassName + \" {\\n margin-right: \" + gap + \"px \" + important + \";\\n }\\n \\n .\" + zeroRightClassName + \" .\" + zeroRightClassName + \" {\\n right: 0 \" + important + \";\\n }\\n \\n .\" + fullWidthClassName + \" .\" + fullWidthClassName + \" {\\n margin-right: 0 \" + important + \";\\n }\\n \\n body {\\n \" + removedBarSizeVariable + \": \" + gap + \"px;\\n }\\n\";\n};\n\nexport var RemoveScrollBar = function RemoveScrollBar(props) {\n var _a = React.useState(getGapWidth(props.gapMode)),\n gap = _a[0],\n setGap = _a[1];\n\n React.useEffect(function () {\n setGap(getGapWidth(props.gapMode));\n }, [props.gapMode]);\n var noRelative = props.noRelative,\n noImportant = props.noImportant,\n _b = props.gapMode,\n gapMode = _b === void 0 ? 'margin' : _b;\n return React.createElement(Style, {\n styles: getStyles(gap, !noRelative, gapMode, !noImportant ? \"!important\" : '')\n });\n};","var elementCouldBeVScrolled = function elementCouldBeVScrolled(node) {\n var styles = window.getComputedStyle(node);\n return styles.overflowY !== 'hidden' && // not-not-scrollable\n !(styles.overflowY === styles.overflowX && styles.overflowY === 'visible') // scrollable\n ;\n};\n\nvar elementCouldBeHScrolled = function elementCouldBeHScrolled(node) {\n var styles = window.getComputedStyle(node); // we allow horizontal scroll on range elements\n\n if (node.type === \"range\") {\n return true;\n }\n\n return styles.overflowX !== 'hidden' && // not-not-scrollable\n !(styles.overflowY === styles.overflowX && styles.overflowX === 'visible') // scrollable\n ;\n};\n\nexport var locationCouldBeScrolled = function locationCouldBeScrolled(axis, node) {\n var current = node;\n\n do {\n // Skip over shadow root\n if (typeof ShadowRoot !== \"undefined\" && current instanceof ShadowRoot) {\n current = current.host;\n }\n\n var isScrollable = elementCouldBeScrolled(axis, current);\n\n if (isScrollable) {\n var _a = getScrollVariables(axis, current),\n s = _a[1],\n d = _a[2];\n\n if (s > d) {\n return true;\n }\n }\n\n current = current.parentNode;\n } while (current && current !== document.body);\n\n return false;\n};\n\nvar getVScrollVariables = function getVScrollVariables(_a) {\n var scrollTop = _a.scrollTop,\n scrollHeight = _a.scrollHeight,\n clientHeight = _a.clientHeight;\n return [scrollTop, scrollHeight, clientHeight];\n};\n\nvar getHScrollVariables = function getHScrollVariables(_a) {\n var scrollLeft = _a.scrollLeft,\n scrollWidth = _a.scrollWidth,\n clientWidth = _a.clientWidth;\n return [scrollLeft, scrollWidth, clientWidth];\n};\n\nvar elementCouldBeScrolled = function elementCouldBeScrolled(axis, node) {\n return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\n\nvar getScrollVariables = function getScrollVariables(axis, node) {\n return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\n\nvar getDirectionFactor = function getDirectionFactor(axis, direction) {\n return (\n /**\n * If the element's direction is rtl (right-to-left), then scrollLeft is 0 when the scrollbar is at its rightmost position,\n * and then increasingly negative as you scroll towards the end of the content.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft\n */\n axis === 'h' && direction === 'rtl' ? -1 : 1\n );\n};\n\nexport var handleScroll = function handleScroll(axis, endTarget, event, sourceDelta, noOverscroll) {\n var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n var delta = directionFactor * sourceDelta; // find scrollable target\n\n var target = event.target;\n var targetInLock = endTarget.contains(target);\n var shouldCancelScroll = false;\n var isDeltaPositive = delta > 0;\n var availableScroll = 0;\n var availableScrollTop = 0;\n\n do {\n var _a = getScrollVariables(axis, target),\n position = _a[0],\n scroll_1 = _a[1],\n capacity = _a[2];\n\n var elementScroll = scroll_1 - capacity - directionFactor * position;\n\n if (position || elementScroll) {\n if (elementCouldBeScrolled(axis, target)) {\n availableScroll += elementScroll;\n availableScrollTop += position;\n }\n }\n\n target = target.parentNode;\n } while ( // portaled content\n !targetInLock && target !== document.body || // self content\n targetInLock && (endTarget.contains(target) || endTarget === target));\n\n if (isDeltaPositive && (noOverscroll && availableScroll === 0 || !noOverscroll && delta > availableScroll)) {\n shouldCancelScroll = true;\n } else if (!isDeltaPositive && (noOverscroll && availableScrollTop === 0 || !noOverscroll && -delta > availableScrollTop)) {\n shouldCancelScroll = true;\n }\n\n return shouldCancelScroll;\n};","var passiveSupported = false;\n\nif (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function get() {\n passiveSupported = true;\n return true;\n }\n });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n } catch (err) {\n passiveSupported = false;\n }\n}\n\nexport var nonPassive = passiveSupported ? {\n passive: false\n} : false;","import * as React from 'react';\nimport { RemoveScrollBar } from 'react-remove-scroll-bar';\nimport { styleSingleton } from 'react-style-singleton';\nimport { handleScroll, locationCouldBeScrolled } from './handleScroll';\nimport { nonPassive } from './aggresiveCapture';\nexport var getTouchXY = function getTouchXY(event) {\n return 'changedTouches' in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\n};\nexport var getDeltaXY = function getDeltaXY(event) {\n return [event.deltaX, event.deltaY];\n};\n\nvar extractRef = function extractRef(ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\n\nvar deltaCompare = function deltaCompare(x, y) {\n return x[0] === y[0] && x[1] === y[1];\n};\n\nvar generateStyle = function generateStyle(id) {\n return \"\\n .block-interactivity-\" + id + \" {pointer-events: none;}\\n .allow-interactivity-\" + id + \" {pointer-events: all;}\\n\";\n};\n\nvar idCounter = 0;\nvar lockStack = [];\nexport function RemoveScrollSideCar(props) {\n var shouldPreventQueue = React.useRef([]);\n var touchStartRef = React.useRef([0, 0]);\n var activeAxis = React.useRef();\n var id = React.useState(idCounter++)[0];\n var Style = React.useState(function () {\n return styleSingleton();\n })[0];\n var lastProps = React.useRef(props);\n React.useEffect(function () {\n lastProps.current = props;\n }, [props]);\n React.useEffect(function () {\n if (props.inert) {\n document.body.classList.add(\"block-interactivity-\" + id);\n var allow_1 = [props.lockRef.current].concat((props.shards || []).map(extractRef)).filter(Boolean);\n allow_1.forEach(function (el) {\n return el.classList.add(\"allow-interactivity-\" + id);\n });\n return function () {\n document.body.classList.remove(\"block-interactivity-\" + id);\n allow_1.forEach(function (el) {\n return el.classList.remove(\"allow-interactivity-\" + id);\n });\n };\n }\n\n return;\n }, [props.inert, props.lockRef.current, props.shards]);\n var shouldCancelEvent = React.useCallback(function (event, parent) {\n if ('touches' in event && event.touches.length === 2) {\n return !lastProps.current.allowPinchZoom;\n }\n\n var touch = getTouchXY(event);\n var touchStart = touchStartRef.current;\n var deltaX = 'deltaX' in event ? event.deltaX : touchStart[0] - touch[0];\n var deltaY = 'deltaY' in event ? event.deltaY : touchStart[1] - touch[1];\n var currentAxis;\n var target = event.target;\n var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? 'h' : 'v';\n var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n\n if (!canBeScrolledInMainDirection) {\n return true;\n }\n\n if (canBeScrolledInMainDirection) {\n currentAxis = moveDirection;\n } else {\n currentAxis = moveDirection === 'v' ? 'h' : 'v';\n canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target); // other axis might be not scrollable\n }\n\n if (!canBeScrolledInMainDirection) {\n return false;\n }\n\n if (!activeAxis.current && 'changedTouches' in event && (deltaX || deltaY)) {\n activeAxis.current = currentAxis;\n }\n\n if (!currentAxis) {\n return true;\n }\n\n var cancelingAxis = activeAxis.current || currentAxis;\n return handleScroll(cancelingAxis, parent, event, cancelingAxis === 'h' ? deltaX : deltaY, true);\n }, []);\n var shouldPrevent = React.useCallback(function (_event) {\n var event = _event;\n\n if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) {\n // not the last active\n return;\n }\n\n var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event);\n var sourceEvent = shouldPreventQueue.current.filter(function (e) {\n return e.name === event.type && e.target === event.target && deltaCompare(e.delta, delta);\n })[0]; // self event, and should be canceled\n\n if (sourceEvent && sourceEvent.should) {\n event.preventDefault();\n return;\n } // outside or shard event\n\n\n if (!sourceEvent) {\n var shardNodes = (lastProps.current.shards || []).map(extractRef).filter(Boolean).filter(function (node) {\n return node.contains(event.target);\n });\n var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;\n\n if (shouldStop) {\n event.preventDefault();\n }\n }\n }, []);\n var shouldCancel = React.useCallback(function (name, delta, target, should) {\n var event = {\n name: name,\n delta: delta,\n target: target,\n should: should\n };\n shouldPreventQueue.current.push(event);\n setTimeout(function () {\n shouldPreventQueue.current = shouldPreventQueue.current.filter(function (e) {\n return e !== event;\n });\n }, 1);\n }, []);\n var scrollTouchStart = React.useCallback(function (event) {\n touchStartRef.current = getTouchXY(event);\n activeAxis.current = undefined;\n }, []);\n var scrollWheel = React.useCallback(function (event) {\n shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n var scrollTouchMove = React.useCallback(function (event) {\n shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n React.useEffect(function () {\n lockStack.push(Style);\n props.setCallbacks({\n onScrollCapture: scrollWheel,\n onWheelCapture: scrollWheel,\n onTouchMoveCapture: scrollTouchMove\n });\n document.addEventListener('wheel', shouldPrevent, nonPassive);\n document.addEventListener('touchmove', shouldPrevent, nonPassive);\n document.addEventListener('touchstart', scrollTouchStart, nonPassive);\n return function () {\n lockStack = lockStack.filter(function (inst) {\n return inst !== Style;\n });\n document.removeEventListener('wheel', shouldPrevent, nonPassive);\n document.removeEventListener('touchmove', shouldPrevent, nonPassive);\n document.removeEventListener('touchstart', scrollTouchStart, nonPassive);\n };\n }, []);\n var removeScrollBar = props.removeScrollBar,\n inert = props.inert;\n return React.createElement(React.Fragment, null, inert ? React.createElement(Style, {\n styles: generateStyle(id)\n }) : null, removeScrollBar ? React.createElement(RemoveScrollBar, {\n gapMode: \"margin\"\n }) : null);\n}","import { exportSidecar } from 'use-sidecar';\nimport { RemoveScrollSideCar } from './SideEffect';\nimport { effectCar } from './medium';\nexport default exportSidecar(effectCar, RemoveScrollSideCar);","import * as tslib_1 from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScroll } from './UI';\nimport SideCar from './sidecar';\nvar ReactRemoveScroll = React.forwardRef(function (props, ref) {\n return React.createElement(RemoveScroll, tslib_1.__assign({}, props, {\n ref: ref,\n sideCar: SideCar\n }));\n});\nReactRemoveScroll.classNames = RemoveScroll.classNames;\nexport default ReactRemoveScroll;","import _defineProperty from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nimport _objectWithoutProperties from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\";\nimport _slicedToArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nvar _excluded = [\"__scopeMenu\"],\n _excluded2 = [\"forceMount\"],\n _excluded3 = [\"__scopeMenu\", \"loop\", \"trapFocus\", \"onOpenAutoFocus\", \"onCloseAutoFocus\", \"disableOutsidePointerEvents\", \"onEscapeKeyDown\", \"onPointerDownOutside\", \"onFocusOutside\", \"onInteractOutside\", \"onDismiss\", \"disableOutsideScroll\", \"allowPinchZoom\", \"portalled\"],\n _excluded4 = [\"__scopeMenu\"],\n _excluded5 = [\"__scopeMenu\"],\n _excluded6 = [\"disabled\", \"onSelect\"],\n _excluded7 = [\"__scopeMenu\", \"disabled\", \"textValue\"],\n _excluded8 = [\"checked\", \"onCheckedChange\"],\n _excluded9 = [\"value\", \"onValueChange\"],\n _excluded10 = [\"value\"],\n _excluded11 = [\"__scopeMenu\", \"forceMount\"],\n _excluded12 = [\"__scopeMenu\"],\n _excluded13 = [\"__scopeMenu\"];\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport { useId as e } from \"@radix-ui/react-id\";\nimport { useFocusGuards as t } from \"@radix-ui/react-focus-guards\";\nimport { useCallbackRef as n } from \"@radix-ui/react-use-callback-ref\";\nimport { useDirection as r } from \"@radix-ui/react-use-direction\";\nimport * as o from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope as u } from \"@radix-ui/react-roving-focus\";\nimport { Portal as c } from \"@radix-ui/react-portal\";\nimport * as a from \"@radix-ui/react-popper\";\nimport { createPopperScope as i } from \"@radix-ui/react-popper\";\nimport { Primitive as s } from \"@radix-ui/react-primitive\";\nimport { Presence as l } from \"@radix-ui/react-presence\";\nimport { FocusScope as d } from \"@radix-ui/react-focus-scope\";\nimport { DismissableLayer as p } from \"@radix-ui/react-dismissable-layer\";\nimport { createContextScope as f } from \"@radix-ui/react-context\";\nimport { useComposedRefs as m, composeRefs as v } from \"@radix-ui/react-compose-refs\";\nimport { createCollection as g } from \"@radix-ui/react-collection\";\nimport { composeEventHandlers as M } from \"@radix-ui/primitive\";\nimport { hideOthers as h } from \"aria-hidden\";\nimport { RemoveScroll as C } from \"react-remove-scroll\";\nimport * as E from \"react\";\nimport w from \"@babel/runtime/helpers/esm/extends\";\n\nvar x = [\"Enter\", \" \"],\n b = [\"ArrowUp\", \"PageDown\", \"End\"],\n R = [\"ArrowDown\", \"PageUp\", \"Home\"].concat(b),\n _ = {\n ltr: [].concat(x, [\"ArrowRight\"]),\n rtl: [].concat(x, [\"ArrowLeft\"])\n},\n y = {\n ltr: [\"ArrowLeft\"],\n rtl: [\"ArrowRight\"]\n},\n _g = g(\"Menu\"),\n _g2 = _slicedToArray(_g, 3),\n I = _g2[0],\n k = _g2[1],\n P = _g2[2],\n _f = f(\"Menu\", [P, i, u]),\n _f2 = _slicedToArray(_f, 2),\n D = _f2[0],\n S = _f2[1];\n\nexport { S as createMenuScope };\n\nvar O = i(),\n T = u(),\n _D = D(\"Menu\"),\n _D2 = _slicedToArray(_D, 2),\n L = _D2[0],\n A = _D2[1];\n\nexport var Menu = function Menu(e) {\n var t = e.__scopeMenu,\n _e$open = e.open,\n o = _e$open === void 0 ? !1 : _e$open,\n u = e.children,\n c = e.onOpenChange,\n _e$modal = e.modal,\n i = _e$modal === void 0 ? !0 : _e$modal,\n s = O(t),\n _E$useState = E.useState(null),\n _E$useState2 = _slicedToArray(_E$useState, 2),\n l = _E$useState2[0],\n d = _E$useState2[1],\n p = E.useRef(!1),\n f = n(c),\n m = r(l, e.dir);\n\n return E.useEffect(function () {\n var e = function e() {\n return p.current = !0;\n },\n t = function t() {\n return p.current = !1;\n };\n\n return document.addEventListener(\"keydown\", e, {\n capture: !0\n }), document.addEventListener(\"pointerdown\", t, {\n capture: !0\n }), document.addEventListener(\"pointermove\", t, {\n capture: !0\n }), function () {\n document.removeEventListener(\"keydown\", e, {\n capture: !0\n }), document.removeEventListener(\"pointerdown\", t, {\n capture: !0\n }), document.removeEventListener(\"pointermove\", t, {\n capture: !0\n });\n };\n }, []), /*#__PURE__*/E.createElement(a.Root, s, /*#__PURE__*/E.createElement(L, {\n scope: t,\n isSubmenu: !1,\n isUsingKeyboardRef: p,\n dir: m,\n open: o,\n onOpenChange: f,\n content: l,\n onContentChange: d,\n onRootClose: E.useCallback(function () {\n return f(!1);\n }, [f]),\n modal: i\n }, u));\n};\n/*#__PURE__*/\n\nexport var MenuSub = function MenuSub(t) {\n var r = t.__scopeMenu,\n o = t.children,\n _t$open = t.open,\n u = _t$open === void 0 ? !1 : _t$open,\n c = t.onOpenChange,\n i = A(\"MenuSub\", r),\n s = O(r),\n _E$useState3 = E.useState(null),\n _E$useState4 = _slicedToArray(_E$useState3, 2),\n l = _E$useState4[0],\n d = _E$useState4[1],\n _E$useState5 = E.useState(null),\n _E$useState6 = _slicedToArray(_E$useState5, 2),\n p = _E$useState6[0],\n f = _E$useState6[1],\n m = n(c);\n\n return E.useEffect(function () {\n return !1 === i.open && m(!1), function () {\n return m(!1);\n };\n }, [i.open, m]), /*#__PURE__*/E.createElement(a.Root, s, /*#__PURE__*/E.createElement(L, {\n scope: r,\n isSubmenu: !0,\n isUsingKeyboardRef: i.isUsingKeyboardRef,\n dir: i.dir,\n open: u,\n onOpenChange: m,\n content: p,\n onContentChange: f,\n onRootClose: i.onRootClose,\n contentId: e(),\n trigger: l,\n onTriggerChange: d,\n triggerId: e(),\n modal: !1\n }, o));\n};\n/*#__PURE__*/\n\nexport var MenuAnchor = /*#__PURE__*/E.forwardRef(function (e, t) {\n var n = e.__scopeMenu,\n r = _objectWithoutProperties(e, _excluded),\n o = O(n);\n /*#__PURE__*/\n\n\n return E.createElement(a.Anchor, w({}, o, r, {\n ref: t\n }));\n});\n/*#__PURE__*/\n\nvar _D3 = D(\"MenuContent\"),\n _D4 = _slicedToArray(_D3, 2),\n F = _D4[0],\n K = _D4[1];\n\nexport var MenuContent = /*#__PURE__*/E.forwardRef(function (e, t) {\n var n = e.forceMount,\n r = _objectWithoutProperties(e, _excluded2),\n o = A(\"MenuContent\", e.__scopeMenu);\n /*#__PURE__*/\n\n\n return E.createElement(I.Provider, {\n scope: e.__scopeMenu\n }, /*#__PURE__*/E.createElement(l, {\n present: n || o.open\n }, /*#__PURE__*/E.createElement(I.Slot, {\n scope: e.__scopeMenu\n }, o.isSubmenu ? /*#__PURE__*/E.createElement(X, w({}, r, {\n ref: t\n })) : /*#__PURE__*/E.createElement(G, w({}, r, {\n ref: t\n })))));\n});\nvar G = /*#__PURE__*/E.forwardRef(function (e, t) {\n return A(\"MenuContent\", e.__scopeMenu).modal ? /*#__PURE__*/E.createElement(U, w({}, e, {\n ref: t\n })) : /*#__PURE__*/E.createElement(V, w({}, e, {\n ref: t\n }));\n}),\n U = /*#__PURE__*/E.forwardRef(function (e, t) {\n var n = A(\"MenuContent\", e.__scopeMenu),\n r = E.useRef(null),\n o = m(t, r);\n return E.useEffect(function () {\n var e = r.current;\n if (e) return h(e);\n }, []), /*#__PURE__*/E.createElement(B, w({}, e, {\n ref: o,\n trapFocus: n.open,\n disableOutsidePointerEvents: n.open,\n disableOutsideScroll: !0,\n onFocusOutside: M(e.onFocusOutside, function (e) {\n return e.preventDefault();\n }, {\n checkForDefaultPrevented: !1\n }),\n onDismiss: function onDismiss() {\n return n.onOpenChange(!1);\n }\n }));\n}),\n V = /*#__PURE__*/E.forwardRef(function (e, t) {\n var n = A(\"MenuContent\", e.__scopeMenu);\n /*#__PURE__*/\n\n return E.createElement(B, w({}, e, {\n ref: t,\n trapFocus: !1,\n disableOutsidePointerEvents: !1,\n disableOutsideScroll: !1,\n onDismiss: function onDismiss() {\n return n.onOpenChange(!1);\n }\n }));\n}),\n X = /*#__PURE__*/E.forwardRef(function (e, t) {\n var n = A(\"MenuContent\", e.__scopeMenu),\n r = E.useRef(null),\n o = m(t, r);\n return n.isSubmenu ? /*#__PURE__*/E.createElement(B, w({\n id: n.contentId,\n \"aria-labelledby\": n.triggerId\n }, e, {\n ref: o,\n align: \"start\",\n side: \"rtl\" === n.dir ? \"left\" : \"right\",\n portalled: !0,\n disableOutsidePointerEvents: !1,\n disableOutsideScroll: !1,\n trapFocus: !1,\n onOpenAutoFocus: function onOpenAutoFocus(e) {\n var t;\n n.isUsingKeyboardRef.current && (null === (t = r.current) || void 0 === t || t.focus()), e.preventDefault();\n },\n onCloseAutoFocus: function onCloseAutoFocus(e) {\n return e.preventDefault();\n },\n onFocusOutside: M(e.onFocusOutside, function (e) {\n e.target !== n.trigger && n.onOpenChange(!1);\n }),\n onEscapeKeyDown: M(e.onEscapeKeyDown, n.onRootClose),\n onKeyDown: M(e.onKeyDown, function (e) {\n var t = e.currentTarget.contains(e.target),\n r = y[n.dir].includes(e.key);\n var o;\n t && r && (n.onOpenChange(!1), null === (o = n.trigger) || void 0 === o || o.focus(), e.preventDefault());\n })\n })) : null;\n}),\n B = /*#__PURE__*/E.forwardRef(function (e, n) {\n var r = e.__scopeMenu,\n _e$loop = e.loop,\n u = _e$loop === void 0 ? !1 : _e$loop,\n i = e.trapFocus,\n s = e.onOpenAutoFocus,\n l = e.onCloseAutoFocus,\n f = e.disableOutsidePointerEvents,\n v = e.onEscapeKeyDown,\n g = e.onPointerDownOutside,\n h = e.onFocusOutside,\n x = e.onInteractOutside,\n _ = e.onDismiss,\n y = e.disableOutsideScroll,\n I = e.allowPinchZoom,\n P = e.portalled,\n D = _objectWithoutProperties(e, _excluded3),\n S = A(\"MenuContent\", r),\n L = O(r),\n K = T(r),\n G = k(r),\n _E$useState7 = E.useState(null),\n _E$useState8 = _slicedToArray(_E$useState7, 2),\n U = _E$useState8[0],\n V = _E$useState8[1],\n X = E.useRef(null),\n B = m(n, X, S.onContentChange),\n Y = E.useRef(0),\n Z = E.useRef(\"\"),\n z = E.useRef(0),\n H = E.useRef(null),\n W = E.useRef(\"right\"),\n q = E.useRef(0),\n N = P ? c : E.Fragment,\n Q = y ? C : E.Fragment,\n $ = y ? {\n allowPinchZoom: I\n } : void 0,\n ee = function ee(e) {\n var t, n;\n\n var r = Z.current + e,\n o = G().filter(function (e) {\n return !e.disabled;\n }),\n u = document.activeElement,\n c = null === (t = o.find(function (e) {\n return e.ref.current === u;\n })) || void 0 === t ? void 0 : t.textValue,\n a = function (e, t, n) {\n var r = t.length > 1 && Array.from(t).every(function (e) {\n return e === t[0];\n }) ? t[0] : t,\n o = n ? e.indexOf(n) : -1;\n var u = (c = e, a = Math.max(o, 0), c.map(function (e, t) {\n return c[(a + t) % c.length];\n }));\n var c, a;\n 1 === r.length && (u = u.filter(function (e) {\n return e !== n;\n }));\n var i = u.find(function (e) {\n return e.toLowerCase().startsWith(r.toLowerCase());\n });\n return i !== n ? i : void 0;\n }(o.map(function (e) {\n return e.textValue;\n }), r, c),\n i = null === (n = o.find(function (e) {\n return e.textValue === a;\n })) || void 0 === n ? void 0 : n.ref.current;\n\n !function e(t) {\n Z.current = t, window.clearTimeout(Y.current), \"\" !== t && (Y.current = window.setTimeout(function () {\n return e(\"\");\n }, 1e3));\n }(r), i && setTimeout(function () {\n return i.focus();\n });\n };\n\n E.useEffect(function () {\n return function () {\n return window.clearTimeout(Y.current);\n };\n }, []), t();\n var te = E.useCallback(function (e) {\n var t, n;\n return W.current === (null === (t = H.current) || void 0 === t ? void 0 : t.side) && function (e, t) {\n if (!t) return !1;\n return function (e, t) {\n var n = e.x,\n r = e.y;\n var o = !1;\n\n for (var _e = 0, _u = t.length - 1; _e < t.length; _u = _e++) {\n var _c = t[_e].x,\n _a = t[_e].y,\n _i = t[_u].x,\n _s = t[_u].y;\n _a > r != _s > r && n < (_i - _c) * (r - _a) / (_s - _a) + _c && (o = !o);\n }\n\n return o;\n }({\n x: e.clientX,\n y: e.clientY\n }, t);\n }(e, null === (n = H.current) || void 0 === n ? void 0 : n.area);\n }, []);\n /*#__PURE__*/\n\n return E.createElement(N, null, /*#__PURE__*/E.createElement(Q, $, /*#__PURE__*/E.createElement(F, {\n scope: r,\n searchRef: Z,\n onItemEnter: E.useCallback(function (e) {\n te(e) && e.preventDefault();\n }, [te]),\n onItemLeave: E.useCallback(function (e) {\n var t;\n te(e) || (null === (t = X.current) || void 0 === t || t.focus(), V(null));\n }, [te]),\n onTriggerLeave: E.useCallback(function (e) {\n te(e) && e.preventDefault();\n }, [te]),\n pointerGraceTimerRef: z,\n onPointerGraceIntentChange: E.useCallback(function (e) {\n H.current = e;\n }, [])\n }, /*#__PURE__*/E.createElement(d, {\n asChild: !0,\n trapped: i,\n onMountAutoFocus: M(s, function (e) {\n var t;\n e.preventDefault(), null === (t = X.current) || void 0 === t || t.focus();\n }),\n onUnmountAutoFocus: l\n }, /*#__PURE__*/E.createElement(p, {\n asChild: !0,\n disableOutsidePointerEvents: f,\n onEscapeKeyDown: v,\n onPointerDownOutside: g,\n onFocusOutside: h,\n onInteractOutside: x,\n onDismiss: _\n }, /*#__PURE__*/E.createElement(o.Root, w({\n asChild: !0\n }, K, {\n dir: S.dir,\n orientation: \"vertical\",\n loop: u,\n currentTabStopId: U,\n onCurrentTabStopIdChange: V,\n onEntryFocus: function onEntryFocus(e) {\n S.isUsingKeyboardRef.current || e.preventDefault();\n }\n }), /*#__PURE__*/E.createElement(a.Content, w({\n role: \"menu\",\n \"aria-orientation\": \"vertical\",\n \"data-state\": j(S.open),\n dir: S.dir\n }, L, D, {\n ref: B,\n style: _objectSpread({\n outline: \"none\"\n }, D.style),\n onKeyDown: M(D.onKeyDown, function (e) {\n var t = e.target,\n n = e.currentTarget.contains(t),\n r = e.ctrlKey || e.altKey || e.metaKey;\n n && !r && 1 === e.key.length && ee(e.key), \"Tab\" === e.key && e.preventDefault();\n var o = X.current;\n if (e.target !== o) return;\n if (!R.includes(e.key)) return;\n e.preventDefault();\n var u = G().filter(function (e) {\n return !e.disabled;\n }).map(function (e) {\n return e.ref.current;\n });\n b.includes(e.key) && u.reverse(), function (e) {\n var t = document.activeElement;\n\n var _iterator = _createForOfIteratorHelper(e),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _n = _step.value;\n if (_n === t) return;\n if (_n.focus(), document.activeElement !== t) return;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }(u);\n }),\n onBlur: M(e.onBlur, function (e) {\n e.currentTarget.contains(e.target) || (window.clearTimeout(Y.current), Z.current = \"\");\n }),\n onPointerMove: M(e.onPointerMove, J(function (e) {\n var t = e.target,\n n = q.current !== e.clientX;\n\n if (e.currentTarget.contains(t) && n) {\n var _t = e.clientX > q.current ? \"right\" : \"left\";\n\n W.current = _t, q.current = e.clientX;\n }\n }))\n }))))))));\n});\nexport var MenuGroup = /*#__PURE__*/E.forwardRef(function (e, t) {\n var n = e.__scopeMenu,\n r = _objectWithoutProperties(e, _excluded4);\n /*#__PURE__*/\n\n\n return E.createElement(s.div, w({\n role: \"group\"\n }, r, {\n ref: t\n }));\n});\n/*#__PURE__*/\n\nexport var MenuLabel = /*#__PURE__*/E.forwardRef(function (e, t) {\n var n = e.__scopeMenu,\n r = _objectWithoutProperties(e, _excluded5);\n /*#__PURE__*/\n\n\n return E.createElement(s.div, w({}, r, {\n ref: t\n }));\n});\n/*#__PURE__*/\n\nexport var MenuItem = /*#__PURE__*/E.forwardRef(function (e, t) {\n var _e$disabled = e.disabled,\n n = _e$disabled === void 0 ? !1 : _e$disabled,\n r = e.onSelect,\n o = _objectWithoutProperties(e, _excluded6),\n u = E.useRef(null),\n c = A(\"MenuItem\", e.__scopeMenu),\n a = K(\"MenuItem\", e.__scopeMenu),\n i = m(t, u),\n s = E.useRef(!1);\n /*#__PURE__*/\n\n\n return E.createElement(Y, w({}, o, {\n ref: i,\n disabled: n,\n onClick: M(e.onClick, function () {\n var e = u.current;\n\n if (!n && e) {\n var _t2 = new Event(\"menu.itemSelect\", {\n bubbles: !0,\n cancelable: !0\n });\n\n e.addEventListener(\"menu.itemSelect\", function (e) {\n return null == r ? void 0 : r(e);\n }, {\n once: !0\n }), e.dispatchEvent(_t2), _t2.defaultPrevented ? s.current = !1 : c.onRootClose();\n }\n }),\n onPointerDown: function onPointerDown(t) {\n var n;\n null === (n = e.onPointerDown) || void 0 === n || n.call(e, t), s.current = !0;\n },\n onPointerUp: M(e.onPointerUp, function (e) {\n var t;\n s.current || null === (t = e.currentTarget) || void 0 === t || t.click();\n }),\n onKeyDown: M(e.onKeyDown, function (e) {\n var t = \"\" !== a.searchRef.current;\n n || t && \" \" === e.key || x.includes(e.key) && (e.currentTarget.click(), e.preventDefault());\n })\n }));\n});\n/*#__PURE__*/\n\nexport var MenuSubTrigger = /*#__PURE__*/E.forwardRef(function (e, t) {\n var n = A(\"MenuSubTrigger\", e.__scopeMenu),\n r = K(\"MenuSubTrigger\", e.__scopeMenu),\n o = E.useRef(null),\n u = r.pointerGraceTimerRef,\n c = r.onPointerGraceIntentChange,\n a = E.useCallback(function () {\n o.current && window.clearTimeout(o.current), o.current = null;\n }, []);\n return E.useEffect(function () {\n return a;\n }, [a]), E.useEffect(function () {\n var e = u.current;\n return function () {\n window.clearTimeout(e), c(null);\n };\n }, [u, c]), n.isSubmenu ? /*#__PURE__*/E.createElement(MenuAnchor, w({\n asChild: !0\n }, e), /*#__PURE__*/E.createElement(Y, w({\n id: n.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": n.open,\n \"aria-controls\": n.contentId,\n \"data-state\": j(n.open)\n }, e, {\n ref: v(t, n.onTriggerChange),\n onClick: function onClick(t) {\n var r;\n null === (r = e.onClick) || void 0 === r || r.call(e, t), e.disabled || t.defaultPrevented || (t.currentTarget.focus(), n.open || n.onOpenChange(!0));\n },\n onPointerMove: M(e.onPointerMove, J(function (t) {\n r.onItemEnter(t), t.defaultPrevented || e.disabled || n.open || o.current || (r.onPointerGraceIntentChange(null), o.current = window.setTimeout(function () {\n n.onOpenChange(!0), a();\n }, 100));\n })),\n onPointerLeave: M(e.onPointerLeave, J(function (e) {\n var t;\n a();\n var o = null === (t = n.content) || void 0 === t ? void 0 : t.getBoundingClientRect();\n\n if (o) {\n var c;\n\n var _t3 = null === (c = n.content) || void 0 === c ? void 0 : c.dataset.side,\n _a2 = \"right\" === _t3,\n _i2 = _a2 ? -5 : 5,\n _s2 = o[_a2 ? \"left\" : \"right\"],\n _l = o[_a2 ? \"right\" : \"left\"];\n\n r.onPointerGraceIntentChange({\n area: [{\n x: e.clientX + _i2,\n y: e.clientY\n }, {\n x: _s2,\n y: o.top\n }, {\n x: _l,\n y: o.top\n }, {\n x: _l,\n y: o.bottom\n }, {\n x: _s2,\n y: o.bottom\n }],\n side: _t3\n }), window.clearTimeout(u.current), u.current = window.setTimeout(function () {\n return r.onPointerGraceIntentChange(null);\n }, 300);\n } else {\n if (r.onTriggerLeave(e), e.defaultPrevented) return;\n r.onPointerGraceIntentChange(null);\n }\n })),\n onKeyDown: M(e.onKeyDown, function (t) {\n var o = \"\" !== r.searchRef.current;\n var u;\n e.disabled || o && \" \" === t.key || _[n.dir].includes(t.key) && (n.onOpenChange(!0), null === (u = n.content) || void 0 === u || u.focus(), t.preventDefault());\n })\n }))) : null;\n});\n/*#__PURE__*/\n\nvar Y = /*#__PURE__*/E.forwardRef(function (e, t) {\n var n = e.__scopeMenu,\n _e$disabled2 = e.disabled,\n r = _e$disabled2 === void 0 ? !1 : _e$disabled2,\n u = e.textValue,\n c = _objectWithoutProperties(e, _excluded7),\n a = K(\"MenuItem\", n),\n i = T(n),\n l = E.useRef(null),\n d = m(t, l),\n _E$useState9 = E.useState(\"\"),\n _E$useState10 = _slicedToArray(_E$useState9, 2),\n p = _E$useState10[0],\n f = _E$useState10[1];\n\n return E.useEffect(function () {\n var e = l.current;\n var t;\n e && f((null !== (t = e.textContent) && void 0 !== t ? t : \"\").trim());\n }, [c.children]), /*#__PURE__*/E.createElement(I.ItemSlot, {\n scope: n,\n disabled: r,\n textValue: null != u ? u : p\n }, /*#__PURE__*/E.createElement(o.Item, w({\n asChild: !0\n }, i, {\n focusable: !r\n }), /*#__PURE__*/E.createElement(s.div, w({\n role: \"menuitem\",\n \"aria-disabled\": r || void 0,\n \"data-disabled\": r ? \"\" : void 0\n }, c, {\n ref: d,\n onPointerMove: M(e.onPointerMove, J(function (e) {\n if (r) a.onItemLeave(e);else if (a.onItemEnter(e), !e.defaultPrevented) {\n e.currentTarget.focus();\n }\n })),\n onPointerLeave: M(e.onPointerLeave, J(function (e) {\n return a.onItemLeave(e);\n }))\n }))));\n});\nexport var MenuCheckboxItem = /*#__PURE__*/E.forwardRef(function (e, t) {\n var _e$checked = e.checked,\n n = _e$checked === void 0 ? !1 : _e$checked,\n r = e.onCheckedChange,\n o = _objectWithoutProperties(e, _excluded8);\n /*#__PURE__*/\n\n\n return E.createElement(H, {\n scope: e.__scopeMenu,\n checked: n\n }, /*#__PURE__*/E.createElement(MenuItem, w({\n role: \"menuitemcheckbox\",\n \"aria-checked\": n\n }, o, {\n ref: t,\n \"data-state\": q(n),\n onSelect: M(o.onSelect, function () {\n return null == r ? void 0 : r(!n);\n }, {\n checkForDefaultPrevented: !1\n })\n })));\n});\n/*#__PURE__*/\n\nvar _D5 = D(\"MenuRadioGroup\", {\n value: void 0,\n onValueChange: function onValueChange() {}\n}),\n _D6 = _slicedToArray(_D5, 2),\n Z = _D6[0],\n z = _D6[1];\n\nexport var MenuRadioGroup = /*#__PURE__*/E.forwardRef(function (e, t) {\n var r = e.value,\n o = e.onValueChange,\n u = _objectWithoutProperties(e, _excluded9),\n c = n(o);\n /*#__PURE__*/\n\n\n return E.createElement(Z, {\n scope: e.__scopeMenu,\n value: r,\n onValueChange: c\n }, /*#__PURE__*/E.createElement(MenuGroup, w({}, u, {\n ref: t\n })));\n});\n/*#__PURE__*/\n\nexport var MenuRadioItem = /*#__PURE__*/E.forwardRef(function (e, t) {\n var n = e.value,\n r = _objectWithoutProperties(e, _excluded10),\n o = z(\"MenuRadioItem\", e.__scopeMenu),\n u = n === o.value;\n /*#__PURE__*/\n\n\n return E.createElement(H, {\n scope: e.__scopeMenu,\n checked: u\n }, /*#__PURE__*/E.createElement(MenuItem, w({\n role: \"menuitemradio\",\n \"aria-checked\": u\n }, r, {\n ref: t,\n \"data-state\": q(u),\n onSelect: M(r.onSelect, function () {\n var e;\n return null === (e = o.onValueChange) || void 0 === e ? void 0 : e.call(o, n);\n }, {\n checkForDefaultPrevented: !1\n })\n })));\n});\n/*#__PURE__*/\n\nvar _D7 = D(\"MenuItemIndicator\", {\n checked: !1\n}),\n _D8 = _slicedToArray(_D7, 2),\n H = _D8[0],\n W = _D8[1];\n\nexport var MenuItemIndicator = /*#__PURE__*/E.forwardRef(function (e, t) {\n var n = e.__scopeMenu,\n r = e.forceMount,\n o = _objectWithoutProperties(e, _excluded11),\n u = W(\"MenuItemIndicator\", n);\n /*#__PURE__*/\n\n\n return E.createElement(l, {\n present: r || u.checked\n }, /*#__PURE__*/E.createElement(s.span, w({}, o, {\n ref: t,\n \"data-state\": q(u.checked)\n })));\n});\n/*#__PURE__*/\n\nexport var MenuSeparator = /*#__PURE__*/E.forwardRef(function (e, t) {\n var n = e.__scopeMenu,\n r = _objectWithoutProperties(e, _excluded12);\n /*#__PURE__*/\n\n\n return E.createElement(s.div, w({\n role: \"separator\",\n \"aria-orientation\": \"horizontal\"\n }, r, {\n ref: t\n }));\n});\n/*#__PURE__*/\n\nexport var MenuArrow = /*#__PURE__*/E.forwardRef(function (e, t) {\n var n = e.__scopeMenu,\n r = _objectWithoutProperties(e, _excluded13),\n o = O(n);\n /*#__PURE__*/\n\n\n return E.createElement(a.Arrow, w({}, o, r, {\n ref: t\n }));\n});\n/*#__PURE__*/\n\nfunction j(e) {\n return e ? \"open\" : \"closed\";\n}\n\nfunction q(e) {\n return e ? \"checked\" : \"unchecked\";\n}\n\nfunction J(e) {\n return function (t) {\n return \"mouse\" === t.pointerType ? e(t) : void 0;\n };\n}\n\nexport var Root = Menu;\nexport var Sub = MenuSub;\nexport var Anchor = MenuAnchor;\nexport var SubTrigger = MenuSubTrigger;\nexport var Content = MenuContent;\nexport var Group = MenuGroup;\nexport var Label = MenuLabel;\nexport var Item = MenuItem;\nexport var CheckboxItem = MenuCheckboxItem;\nexport var RadioGroup = MenuRadioGroup;\nexport var RadioItem = MenuRadioItem;\nexport var ItemIndicator = MenuItemIndicator;\nexport var Separator = MenuSeparator;\nexport var Arrow = MenuArrow;","import _slicedToArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport * as e from \"react\";\nexport function useDirection(t, n) {\n var _e$useState = e.useState(\"ltr\"),\n _e$useState2 = _slicedToArray(_e$useState, 2),\n r = _e$useState2[0],\n o = _e$useState2[1],\n _e$useState3 = e.useState(),\n _e$useState4 = _slicedToArray(_e$useState3, 2),\n i = _e$useState4[0],\n u = _e$useState4[1],\n c = e.useRef(0);\n\n return e.useEffect(function () {\n if (void 0 === n && null != t && t.parentElement) {\n var _e = getComputedStyle(t.parentElement);\n\n u(_e);\n }\n }, [t, n]), e.useEffect(function () {\n return void 0 === n && function e() {\n c.current = requestAnimationFrame(function () {\n var t = null == i ? void 0 : i.direction;\n t && o(t), e();\n });\n }(), function () {\n return cancelAnimationFrame(c.current);\n };\n }, [i, n, o]), n || r;\n}","import _defineProperty from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nimport _objectWithoutProperties from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\";\nimport _slicedToArray from \"/opt/buildhome/repo/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nvar _excluded = [\"__scopeDropdownMenu\", \"disabled\"],\n _excluded2 = [\"__scopeDropdownMenu\"],\n _excluded3 = [\"__scopeDropdownMenu\", \"portalled\"],\n _excluded4 = [\"__scopeDropdownMenu\"],\n _excluded5 = [\"__scopeDropdownMenu\"],\n _excluded6 = [\"__scopeDropdownMenu\"],\n _excluded7 = [\"__scopeDropdownMenu\"],\n _excluded8 = [\"__scopeDropdownMenu\"],\n _excluded9 = [\"__scopeDropdownMenu\"],\n _excluded10 = [\"__scopeDropdownMenu\"],\n _excluded11 = [\"__scopeDropdownMenu\"],\n _excluded12 = [\"__scopeDropdownMenu\"],\n _excluded13 = [\"__scopeDropdownMenu\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport { useId as e } from \"@radix-ui/react-id\";\nimport * as o from \"@radix-ui/react-menu\";\nimport { createMenuScope as n } from \"@radix-ui/react-menu\";\nimport { Primitive as r } from \"@radix-ui/react-primitive\";\nimport { useControllableState as t } from \"@radix-ui/react-use-controllable-state\";\nimport { createContextScope as p } from \"@radix-ui/react-context\";\nimport { composeRefs as a } from \"@radix-ui/react-compose-refs\";\nimport { composeEventHandlers as d } from \"@radix-ui/primitive\";\nimport * as c from \"react\";\nimport u from \"@babel/runtime/helpers/esm/extends\";\n\nvar _p = p(\"DropdownMenu\", [n]),\n _p2 = _slicedToArray(_p, 2),\n i = _p2[0],\n s = _p2[1];\n\nexport { s as createDropdownMenuScope };\n\nvar l = n(),\n _i = i(\"DropdownMenu\"),\n _i2 = _slicedToArray(_i, 2),\n m = _i2[0],\n w = _i2[1];\n\nexport var DropdownMenu = function DropdownMenu(e) {\n var n = e.__scopeDropdownMenu,\n r = e.children,\n p = e.open,\n a = e.defaultOpen,\n d = e.onOpenChange,\n i = g(\"DropdownMenu\", n),\n s = l(n),\n _t = t({\n prop: p,\n defaultProp: a,\n onChange: d\n }),\n _t2 = _slicedToArray(_t, 2),\n _t2$ = _t2[0],\n w = _t2$ === void 0 ? !1 : _t2$,\n D = _t2[1],\n M = c.useCallback(function () {\n return D(function (e) {\n return !e;\n });\n }, [D]);\n\n return i.isInsideContent ? /*#__PURE__*/c.createElement(m, {\n scope: n,\n isRootMenu: !1,\n open: w,\n onOpenChange: D,\n onOpenToggle: M\n }, /*#__PURE__*/c.createElement(o.Sub, u({}, s, {\n open: w,\n onOpenChange: D\n }), r)) : /*#__PURE__*/c.createElement(f, u({}, e, {\n open: w,\n onOpenChange: D,\n onOpenToggle: M\n }), r);\n};\n/*#__PURE__*/\n\nvar f = function f(n) {\n var r = n.__scopeDropdownMenu,\n t = n.children,\n p = n.dir,\n a = n.open,\n d = n.onOpenChange,\n i = n.onOpenToggle,\n _n$modal = n.modal,\n s = _n$modal === void 0 ? !0 : _n$modal,\n w = l(r),\n f = c.useRef(null);\n /*#__PURE__*/\n\n return c.createElement(m, {\n scope: r,\n isRootMenu: !0,\n triggerId: e(),\n triggerRef: f,\n contentId: e(),\n open: a,\n onOpenChange: d,\n onOpenToggle: i,\n modal: s\n }, /*#__PURE__*/c.createElement(o.Root, u({}, w, {\n open: a,\n onOpenChange: d,\n dir: p,\n modal: s\n }), t));\n};\n\nexport var DropdownMenuTrigger = /*#__PURE__*/c.forwardRef(function (e, n) {\n var t = e.__scopeDropdownMenu,\n _e$disabled = e.disabled,\n p = _e$disabled === void 0 ? !1 : _e$disabled,\n i = _objectWithoutProperties(e, _excluded),\n s = w(\"DropdownMenuTrigger\", t),\n m = l(t);\n\n return s.isRootMenu ? /*#__PURE__*/c.createElement(o.Anchor, u({\n asChild: !0\n }, m), /*#__PURE__*/c.createElement(r.button, u({\n type: \"button\",\n id: s.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": !!s.open || void 0,\n \"aria-controls\": s.open ? s.contentId : void 0,\n \"data-state\": s.open ? \"open\" : \"closed\",\n \"data-disabled\": p ? \"\" : void 0,\n disabled: p\n }, i, {\n ref: a(n, s.triggerRef),\n onClick: d(e.onClick, function () {\n return s.onOpenChange(!0);\n }),\n onPointerDown: d(e.onPointerDown, function (e) {\n p || 0 !== e.button || !1 !== e.ctrlKey || (s.open || e.preventDefault(), s.onOpenToggle());\n }),\n onKeyDown: d(e.onKeyDown, function (e) {\n p || \"ArrowDown\" !== e.key || (e.preventDefault(), s.onOpenChange(!0));\n })\n }))) : null;\n});\n/*#__PURE__*/\n\nvar _i3 = i(\"DropdownMenuContent\", {\n isInsideContent: !1\n}),\n _i4 = _slicedToArray(_i3, 2),\n D = _i4[0],\n g = _i4[1];\n\nexport var DropdownMenuContent = /*#__PURE__*/c.forwardRef(function (e, n) {\n var r = e.__scopeDropdownMenu,\n t = _objectWithoutProperties(e, _excluded2),\n p = w(\"DropdownMenuContent\", r),\n a = l(r),\n d = _objectSpread(_objectSpread({}, t), {}, {\n style: _objectSpread(_objectSpread({}, e.style), {}, {\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\"\n })\n });\n /*#__PURE__*/\n\n\n return c.createElement(D, {\n scope: r,\n isInsideContent: !0\n }, p.isRootMenu ? /*#__PURE__*/c.createElement(M, u({\n __scopeDropdownMenu: r\n }, d, {\n ref: n\n })) : /*#__PURE__*/c.createElement(o.Content, u({}, a, d, {\n ref: n\n })));\n});\n/*#__PURE__*/\n\nvar M = /*#__PURE__*/c.forwardRef(function (e, n) {\n var r = e.__scopeDropdownMenu,\n _e$portalled = e.portalled,\n t = _e$portalled === void 0 ? !0 : _e$portalled,\n p = _objectWithoutProperties(e, _excluded3),\n a = w(\"DropdownMenuContent\", r),\n d = l(r),\n i = c.useRef(!1);\n\n return a.isRootMenu ? /*#__PURE__*/c.createElement(o.Content, u({\n id: a.contentId,\n \"aria-labelledby\": a.triggerId\n }, d, p, {\n ref: n,\n portalled: t,\n onCloseAutoFocus: function onCloseAutoFocus(o) {\n var n, r;\n (null === (n = e.onCloseAutoFocus) || void 0 === n || n.call(e, o), o.defaultPrevented) || (i.current || null === (r = a.triggerRef.current) || void 0 === r || r.focus(), o.preventDefault());\n i.current = !1;\n },\n onInteractOutside: function onInteractOutside(o) {\n var n, r;\n\n if (null === (n = e.onInteractOutside) || void 0 === n || n.call(e, o), !o.defaultPrevented) {\n var _e = o.detail.originalEvent,\n _n = 0 === _e.button && !0 === _e.ctrlKey,\n _r = 2 === _e.button || _n;\n\n a.modal && !_r || (i.current = !0);\n }\n\n var t = o.target;\n (null === (r = a.triggerRef.current) || void 0 === r ? void 0 : r.contains(t)) && o.preventDefault();\n }\n })) : null;\n});\nexport var DropdownMenuGroup = /*#__PURE__*/c.forwardRef(function (e, n) {\n var r = e.__scopeDropdownMenu,\n t = _objectWithoutProperties(e, _excluded4),\n p = l(r);\n /*#__PURE__*/\n\n\n return c.createElement(o.Group, u({}, p, t, {\n ref: n\n }));\n});\n/*#__PURE__*/\n\nexport var DropdownMenuLabel = /*#__PURE__*/c.forwardRef(function (e, n) {\n var r = e.__scopeDropdownMenu,\n t = _objectWithoutProperties(e, _excluded5),\n p = l(r);\n /*#__PURE__*/\n\n\n return c.createElement(o.Label, u({}, p, t, {\n ref: n\n }));\n});\n/*#__PURE__*/\n\nexport var DropdownMenuItem = /*#__PURE__*/c.forwardRef(function (e, n) {\n var r = e.__scopeDropdownMenu,\n t = _objectWithoutProperties(e, _excluded6),\n p = l(r);\n /*#__PURE__*/\n\n\n return c.createElement(o.Item, u({}, p, t, {\n ref: n\n }));\n});\n/*#__PURE__*/\n\nexport var DropdownMenuTriggerItem = /*#__PURE__*/c.forwardRef(function (e, n) {\n var r = e.__scopeDropdownMenu,\n t = _objectWithoutProperties(e, _excluded7),\n p = l(r);\n /*#__PURE__*/\n\n\n return c.createElement(o.SubTrigger, u({}, p, t, {\n ref: n\n }));\n});\n/*#__PURE__*/\n\nexport var DropdownMenuCheckboxItem = /*#__PURE__*/c.forwardRef(function (e, n) {\n var r = e.__scopeDropdownMenu,\n t = _objectWithoutProperties(e, _excluded8),\n p = l(r);\n /*#__PURE__*/\n\n\n return c.createElement(o.CheckboxItem, u({}, p, t, {\n ref: n\n }));\n});\n/*#__PURE__*/\n\nexport var DropdownMenuRadioGroup = /*#__PURE__*/c.forwardRef(function (e, n) {\n var r = e.__scopeDropdownMenu,\n t = _objectWithoutProperties(e, _excluded9),\n p = l(r);\n /*#__PURE__*/\n\n\n return c.createElement(o.RadioGroup, u({}, p, t, {\n ref: n\n }));\n});\n/*#__PURE__*/\n\nexport var DropdownMenuRadioItem = /*#__PURE__*/c.forwardRef(function (e, n) {\n var r = e.__scopeDropdownMenu,\n t = _objectWithoutProperties(e, _excluded10),\n p = l(r);\n /*#__PURE__*/\n\n\n return c.createElement(o.RadioItem, u({}, p, t, {\n ref: n\n }));\n});\n/*#__PURE__*/\n\nexport var DropdownMenuItemIndicator = /*#__PURE__*/c.forwardRef(function (e, n) {\n var r = e.__scopeDropdownMenu,\n t = _objectWithoutProperties(e, _excluded11),\n p = l(r);\n /*#__PURE__*/\n\n\n return c.createElement(o.ItemIndicator, u({}, p, t, {\n ref: n\n }));\n});\n/*#__PURE__*/\n\nexport var DropdownMenuSeparator = /*#__PURE__*/c.forwardRef(function (e, n) {\n var r = e.__scopeDropdownMenu,\n t = _objectWithoutProperties(e, _excluded12),\n p = l(r);\n /*#__PURE__*/\n\n\n return c.createElement(o.Separator, u({}, p, t, {\n ref: n\n }));\n});\n/*#__PURE__*/\n\nexport var DropdownMenuArrow = /*#__PURE__*/c.forwardRef(function (e, n) {\n var r = e.__scopeDropdownMenu,\n t = _objectWithoutProperties(e, _excluded13),\n p = l(r);\n /*#__PURE__*/\n\n\n return c.createElement(o.Arrow, u({}, p, t, {\n ref: n\n }));\n});\n/*#__PURE__*/\n\nexport var Root = DropdownMenu;\nexport var Trigger = DropdownMenuTrigger;\nexport var Content = DropdownMenuContent;\nexport var Group = DropdownMenuGroup;\nexport var Label = DropdownMenuLabel;\nexport var Item = DropdownMenuItem;\nexport var TriggerItem = DropdownMenuTriggerItem;\nexport var CheckboxItem = DropdownMenuCheckboxItem;\nexport var RadioGroup = DropdownMenuRadioGroup;\nexport var RadioItem = DropdownMenuRadioItem;\nexport var ItemIndicator = DropdownMenuItemIndicator;\nexport var Separator = DropdownMenuSeparator;\nexport var Arrow = DropdownMenuArrow;","import React from \"react\"\nimport * as DropdownMenu from \"@radix-ui/react-dropdown-menu\"\nimport * as css from \"./dropdown.module.css\"\n\nconst Dropdown: React.FC<{\n trigger: React.ReactChild\n items: DropdownMenu.MenuItemProps[]\n}> = ({ trigger, items }) => {\n return (\n \n \n \n {trigger}\n \n \n\n \n {items.map(({ className, ...props }, i) => (\n \n ))}\n \n \n \n )\n}\n\nexport default Dropdown\n","// extracted by mini-css-extract-plugin\nexport var trigger = \"dropdown-module--trigger--AGjQ9\";\nexport var item = \"dropdown-module--item--gC3Wm\";\nexport var arrow = \"dropdown-module--arrow--1MqkY\";\nexport var content = \"dropdown-module--content--8J9QD\";","import * as React from \"react\"\nimport { navigate } from \"gatsby\"\nimport useLocales from \"../../hooks/useLocales\"\nimport * as css from \"./lang-picker.module.css\"\n\nexport default function LangPicker() {\n const { locales, locale } = useLocales()\n if (!locale || locales.length <= 1) return null\n return (\n
\n
\n \n \n \n \n {locales.map(l => l.viewIn).join(\" | \")}\n \n
\n navigate(\"../\" + e.target.value)}\n className={css.select}\n >\n {locales.map(locale => (\n \n ))}\n \n
\n )\n}","// extracted by mini-css-extract-plugin\nexport var wrap = \"lang-picker-module--wrap--S2XuL\";\nexport var globe = \"lang-picker-module--globe--hnwBL\";\nexport var select = \"lang-picker-module--select--zbK1K\";","import settings from \"../../../config/settings.json\"\nimport React from \"react\"\nimport { signIn, wallet } from \"../../near\"\nimport * as css from \"./nav.module.css\"\nimport useLocales from \"../../hooks/useLocales\"\nimport Dropdown from \"../../components/dropdown\"\nimport Image from \"../../components/image\"\nimport Video from \"../../components/video\"\nimport { StaticImage } from \"gatsby-plugin-image\"\nimport LangPicker from \"../lang-picker\"\n\nfunction signOut() {\n wallet.signOut()\n window.location.replace(window.location.origin + window.location.pathname)\n}\n\nexport default function Nav() {\n const currentUser = wallet.getAccountId()\n const { locale } = useLocales()\n if (!locale) return null\n return (\n \n )\n}\n","import * as React from \"react\"\nimport { navigate } from \"gatsby\"\n\nimport Banner from \"../banner\"\nimport Nav from \"../nav\"\nimport \"./layout.scss\"\nimport useLocales from \"../../hooks/useLocales\"\n\nconst Layout: React.FC<{ title?: string }> = ({ title, children }) => {\n const { locales, locale } = useLocales()\n return (\n <>\n \n