@meteora-ag/cp-amm-sdk 1.0.1-rc.0 → 1.0.1-rc.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +6194 -1
- package/dist/index.d.ts +6194 -1
- package/dist/index.js +327 -51
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +326 -50
- package/dist/index.mjs.map +1 -1
- package/node_modules/@babel/runtime/LICENSE +22 -0
- package/node_modules/@babel/runtime/README.md +19 -0
- package/node_modules/@babel/runtime/helpers/AwaitValue.js +4 -0
- package/node_modules/@babel/runtime/helpers/OverloadYield.js +4 -0
- package/node_modules/@babel/runtime/helpers/applyDecoratedDescriptor.js +9 -0
- package/node_modules/@babel/runtime/helpers/applyDecs.js +236 -0
- package/node_modules/@babel/runtime/helpers/applyDecs2203.js +184 -0
- package/node_modules/@babel/runtime/helpers/applyDecs2203R.js +191 -0
- package/node_modules/@babel/runtime/helpers/applyDecs2301.js +222 -0
- package/node_modules/@babel/runtime/helpers/applyDecs2305.js +133 -0
- package/node_modules/@babel/runtime/helpers/applyDecs2311.js +124 -0
- package/node_modules/@babel/runtime/helpers/arrayLikeToArray.js +6 -0
- package/node_modules/@babel/runtime/helpers/arrayWithHoles.js +4 -0
- package/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js +5 -0
- package/node_modules/@babel/runtime/helpers/assertClassBrand.js +5 -0
- package/node_modules/@babel/runtime/helpers/assertThisInitialized.js +5 -0
- package/node_modules/@babel/runtime/helpers/asyncGeneratorDelegate.js +24 -0
- package/node_modules/@babel/runtime/helpers/asyncIterator.js +45 -0
- package/node_modules/@babel/runtime/helpers/asyncToGenerator.js +26 -0
- package/node_modules/@babel/runtime/helpers/awaitAsyncGenerator.js +5 -0
- package/node_modules/@babel/runtime/helpers/callSuper.js +7 -0
- package/node_modules/@babel/runtime/helpers/checkInRHS.js +6 -0
- package/node_modules/@babel/runtime/helpers/checkPrivateRedeclaration.js +4 -0
- package/node_modules/@babel/runtime/helpers/classApplyDescriptorDestructureSet.js +10 -0
- package/node_modules/@babel/runtime/helpers/classApplyDescriptorGet.js +4 -0
- package/node_modules/@babel/runtime/helpers/classApplyDescriptorSet.js +7 -0
- package/node_modules/@babel/runtime/helpers/classCallCheck.js +4 -0
- package/node_modules/@babel/runtime/helpers/classCheckPrivateStaticAccess.js +5 -0
- package/node_modules/@babel/runtime/helpers/classCheckPrivateStaticFieldDescriptor.js +4 -0
- package/node_modules/@babel/runtime/helpers/classExtractFieldDescriptor.js +5 -0
- package/node_modules/@babel/runtime/helpers/classNameTDZError.js +4 -0
- package/node_modules/@babel/runtime/helpers/classPrivateFieldDestructureSet.js +7 -0
- package/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js +7 -0
- package/node_modules/@babel/runtime/helpers/classPrivateFieldGet2.js +5 -0
- package/node_modules/@babel/runtime/helpers/classPrivateFieldInitSpec.js +5 -0
- package/node_modules/@babel/runtime/helpers/classPrivateFieldLooseBase.js +5 -0
- package/node_modules/@babel/runtime/helpers/classPrivateFieldLooseKey.js +5 -0
- package/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js +7 -0
- package/node_modules/@babel/runtime/helpers/classPrivateFieldSet2.js +5 -0
- package/node_modules/@babel/runtime/helpers/classPrivateGetter.js +5 -0
- package/node_modules/@babel/runtime/helpers/classPrivateMethodGet.js +5 -0
- package/node_modules/@babel/runtime/helpers/classPrivateMethodInitSpec.js +5 -0
- package/node_modules/@babel/runtime/helpers/classPrivateMethodSet.js +4 -0
- package/node_modules/@babel/runtime/helpers/classPrivateSetter.js +5 -0
- package/node_modules/@babel/runtime/helpers/classStaticPrivateFieldDestructureSet.js +7 -0
- package/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js +7 -0
- package/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js +7 -0
- package/node_modules/@babel/runtime/helpers/classStaticPrivateMethodGet.js +5 -0
- package/node_modules/@babel/runtime/helpers/classStaticPrivateMethodSet.js +4 -0
- package/node_modules/@babel/runtime/helpers/construct.js +10 -0
- package/node_modules/@babel/runtime/helpers/createClass.js +13 -0
- package/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js +50 -0
- package/node_modules/@babel/runtime/helpers/createForOfIteratorHelperLoose.js +19 -0
- package/node_modules/@babel/runtime/helpers/createSuper.js +16 -0
- package/node_modules/@babel/runtime/helpers/decorate.js +250 -0
- package/node_modules/@babel/runtime/helpers/defaults.js +9 -0
- package/node_modules/@babel/runtime/helpers/defineAccessor.js +8 -0
- package/node_modules/@babel/runtime/helpers/defineEnumerableProperties.js +12 -0
- package/node_modules/@babel/runtime/helpers/defineProperty.js +10 -0
- package/node_modules/@babel/runtime/helpers/dispose.js +28 -0
- package/node_modules/@babel/runtime/helpers/esm/AwaitValue.js +4 -0
- package/node_modules/@babel/runtime/helpers/esm/OverloadYield.js +4 -0
- package/node_modules/@babel/runtime/helpers/esm/applyDecoratedDescriptor.js +9 -0
- package/node_modules/@babel/runtime/helpers/esm/applyDecs.js +236 -0
- package/node_modules/@babel/runtime/helpers/esm/applyDecs2203.js +184 -0
- package/node_modules/@babel/runtime/helpers/esm/applyDecs2203R.js +191 -0
- package/node_modules/@babel/runtime/helpers/esm/applyDecs2301.js +222 -0
- package/node_modules/@babel/runtime/helpers/esm/applyDecs2305.js +133 -0
- package/node_modules/@babel/runtime/helpers/esm/applyDecs2311.js +124 -0
- package/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js +6 -0
- package/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js +4 -0
- package/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js +5 -0
- package/node_modules/@babel/runtime/helpers/esm/assertClassBrand.js +5 -0
- package/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js +5 -0
- package/node_modules/@babel/runtime/helpers/esm/asyncGeneratorDelegate.js +24 -0
- package/node_modules/@babel/runtime/helpers/esm/asyncIterator.js +45 -0
- package/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js +26 -0
- package/node_modules/@babel/runtime/helpers/esm/awaitAsyncGenerator.js +5 -0
- package/node_modules/@babel/runtime/helpers/esm/callSuper.js +7 -0
- package/node_modules/@babel/runtime/helpers/esm/checkInRHS.js +6 -0
- package/node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js +4 -0
- package/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorDestructureSet.js +10 -0
- package/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js +4 -0
- package/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js +7 -0
- package/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +4 -0
- package/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticAccess.js +5 -0
- package/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticFieldDescriptor.js +4 -0
- package/node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js +5 -0
- package/node_modules/@babel/runtime/helpers/esm/classNameTDZError.js +4 -0
- package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldDestructureSet.js +7 -0
- package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js +7 -0
- package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js +5 -0
- package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js +5 -0
- package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseBase.js +5 -0
- package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldLooseKey.js +5 -0
- package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js +7 -0
- package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js +5 -0
- package/node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js +5 -0
- package/node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js +5 -0
- package/node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js +5 -0
- package/node_modules/@babel/runtime/helpers/esm/classPrivateMethodSet.js +4 -0
- package/node_modules/@babel/runtime/helpers/esm/classPrivateSetter.js +5 -0
- package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldDestructureSet.js +7 -0
- package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecGet.js +7 -0
- package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecSet.js +7 -0
- package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodGet.js +5 -0
- package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodSet.js +4 -0
- package/node_modules/@babel/runtime/helpers/esm/construct.js +10 -0
- package/node_modules/@babel/runtime/helpers/esm/createClass.js +13 -0
- package/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js +50 -0
- package/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js +19 -0
- package/node_modules/@babel/runtime/helpers/esm/createSuper.js +16 -0
- package/node_modules/@babel/runtime/helpers/esm/decorate.js +250 -0
- package/node_modules/@babel/runtime/helpers/esm/defaults.js +9 -0
- package/node_modules/@babel/runtime/helpers/esm/defineAccessor.js +8 -0
- package/node_modules/@babel/runtime/helpers/esm/defineEnumerableProperties.js +12 -0
- package/node_modules/@babel/runtime/helpers/esm/defineProperty.js +10 -0
- package/node_modules/@babel/runtime/helpers/esm/dispose.js +28 -0
- package/node_modules/@babel/runtime/helpers/esm/extends.js +10 -0
- package/node_modules/@babel/runtime/helpers/esm/get.js +11 -0
- package/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js +6 -0
- package/node_modules/@babel/runtime/helpers/esm/identity.js +4 -0
- package/node_modules/@babel/runtime/helpers/esm/importDeferProxy.js +27 -0
- package/node_modules/@babel/runtime/helpers/esm/inherits.js +14 -0
- package/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +5 -0
- package/node_modules/@babel/runtime/helpers/esm/initializerDefineProperty.js +9 -0
- package/node_modules/@babel/runtime/helpers/esm/initializerWarningHelper.js +4 -0
- package/node_modules/@babel/runtime/helpers/esm/instanceof.js +4 -0
- package/node_modules/@babel/runtime/helpers/esm/interopRequireDefault.js +6 -0
- package/node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js +27 -0
- package/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js +8 -0
- package/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js +9 -0
- package/node_modules/@babel/runtime/helpers/esm/iterableToArray.js +4 -0
- package/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js +28 -0
- package/node_modules/@babel/runtime/helpers/esm/jsx.js +22 -0
- package/node_modules/@babel/runtime/helpers/esm/maybeArrayLike.js +9 -0
- package/node_modules/@babel/runtime/helpers/esm/newArrowCheck.js +4 -0
- package/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js +4 -0
- package/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js +4 -0
- package/node_modules/@babel/runtime/helpers/esm/nullishReceiverError.js +4 -0
- package/node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js +4 -0
- package/node_modules/@babel/runtime/helpers/esm/objectSpread.js +14 -0
- package/node_modules/@babel/runtime/helpers/esm/objectSpread2.js +23 -0
- package/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js +13 -0
- package/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +10 -0
- package/node_modules/@babel/runtime/helpers/esm/package.json +3 -0
- package/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js +8 -0
- package/node_modules/@babel/runtime/helpers/esm/readOnlyError.js +4 -0
- package/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js +304 -0
- package/node_modules/@babel/runtime/helpers/esm/set.js +22 -0
- package/node_modules/@babel/runtime/helpers/esm/setFunctionName.js +12 -0
- package/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +6 -0
- package/node_modules/@babel/runtime/helpers/esm/skipFirstGeneratorNext.js +7 -0
- package/node_modules/@babel/runtime/helpers/esm/slicedToArray.js +8 -0
- package/node_modules/@babel/runtime/helpers/esm/superPropBase.js +6 -0
- package/node_modules/@babel/runtime/helpers/esm/superPropGet.js +9 -0
- package/node_modules/@babel/runtime/helpers/esm/superPropSet.js +6 -0
- package/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js +8 -0
- package/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js +4 -0
- package/node_modules/@babel/runtime/helpers/esm/tdz.js +4 -0
- package/node_modules/@babel/runtime/helpers/esm/temporalRef.js +6 -0
- package/node_modules/@babel/runtime/helpers/esm/temporalUndefined.js +2 -0
- package/node_modules/@babel/runtime/helpers/esm/toArray.js +8 -0
- package/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js +8 -0
- package/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +12 -0
- package/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +7 -0
- package/node_modules/@babel/runtime/helpers/esm/toSetter.js +10 -0
- package/node_modules/@babel/runtime/helpers/esm/tsRewriteRelativeImportExtensions.js +6 -0
- package/node_modules/@babel/runtime/helpers/esm/typeof.js +10 -0
- package/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +9 -0
- package/node_modules/@babel/runtime/helpers/esm/using.js +12 -0
- package/node_modules/@babel/runtime/helpers/esm/usingCtx.js +59 -0
- package/node_modules/@babel/runtime/helpers/esm/wrapAsyncGenerator.js +69 -0
- package/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js +27 -0
- package/node_modules/@babel/runtime/helpers/esm/wrapRegExp.js +52 -0
- package/node_modules/@babel/runtime/helpers/esm/writeOnlyError.js +4 -0
- package/node_modules/@babel/runtime/helpers/extends.js +10 -0
- package/node_modules/@babel/runtime/helpers/get.js +11 -0
- package/node_modules/@babel/runtime/helpers/getPrototypeOf.js +6 -0
- package/node_modules/@babel/runtime/helpers/identity.js +4 -0
- package/node_modules/@babel/runtime/helpers/importDeferProxy.js +27 -0
- package/node_modules/@babel/runtime/helpers/inherits.js +14 -0
- package/node_modules/@babel/runtime/helpers/inheritsLoose.js +5 -0
- package/node_modules/@babel/runtime/helpers/initializerDefineProperty.js +9 -0
- package/node_modules/@babel/runtime/helpers/initializerWarningHelper.js +4 -0
- package/node_modules/@babel/runtime/helpers/instanceof.js +4 -0
- package/node_modules/@babel/runtime/helpers/interopRequireDefault.js +6 -0
- package/node_modules/@babel/runtime/helpers/interopRequireWildcard.js +27 -0
- package/node_modules/@babel/runtime/helpers/isNativeFunction.js +8 -0
- package/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js +9 -0
- package/node_modules/@babel/runtime/helpers/iterableToArray.js +4 -0
- package/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js +28 -0
- package/node_modules/@babel/runtime/helpers/jsx.js +22 -0
- package/node_modules/@babel/runtime/helpers/maybeArrayLike.js +9 -0
- package/node_modules/@babel/runtime/helpers/newArrowCheck.js +4 -0
- package/node_modules/@babel/runtime/helpers/nonIterableRest.js +4 -0
- package/node_modules/@babel/runtime/helpers/nonIterableSpread.js +4 -0
- package/node_modules/@babel/runtime/helpers/nullishReceiverError.js +4 -0
- package/node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js +4 -0
- package/node_modules/@babel/runtime/helpers/objectSpread.js +14 -0
- package/node_modules/@babel/runtime/helpers/objectSpread2.js +23 -0
- package/node_modules/@babel/runtime/helpers/objectWithoutProperties.js +13 -0
- package/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js +10 -0
- package/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js +8 -0
- package/node_modules/@babel/runtime/helpers/readOnlyError.js +4 -0
- package/node_modules/@babel/runtime/helpers/regeneratorRuntime.js +304 -0
- package/node_modules/@babel/runtime/helpers/set.js +22 -0
- package/node_modules/@babel/runtime/helpers/setFunctionName.js +12 -0
- package/node_modules/@babel/runtime/helpers/setPrototypeOf.js +6 -0
- package/node_modules/@babel/runtime/helpers/skipFirstGeneratorNext.js +7 -0
- package/node_modules/@babel/runtime/helpers/slicedToArray.js +8 -0
- package/node_modules/@babel/runtime/helpers/superPropBase.js +6 -0
- package/node_modules/@babel/runtime/helpers/superPropGet.js +9 -0
- package/node_modules/@babel/runtime/helpers/superPropSet.js +6 -0
- package/node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js +8 -0
- package/node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js +4 -0
- package/node_modules/@babel/runtime/helpers/tdz.js +4 -0
- package/node_modules/@babel/runtime/helpers/temporalRef.js +6 -0
- package/node_modules/@babel/runtime/helpers/temporalUndefined.js +2 -0
- package/node_modules/@babel/runtime/helpers/toArray.js +8 -0
- package/node_modules/@babel/runtime/helpers/toConsumableArray.js +8 -0
- package/node_modules/@babel/runtime/helpers/toPrimitive.js +12 -0
- package/node_modules/@babel/runtime/helpers/toPropertyKey.js +7 -0
- package/node_modules/@babel/runtime/helpers/toSetter.js +10 -0
- package/node_modules/@babel/runtime/helpers/tsRewriteRelativeImportExtensions.js +6 -0
- package/node_modules/@babel/runtime/helpers/typeof.js +10 -0
- package/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js +9 -0
- package/node_modules/@babel/runtime/helpers/using.js +12 -0
- package/node_modules/@babel/runtime/helpers/usingCtx.js +59 -0
- package/node_modules/@babel/runtime/helpers/wrapAsyncGenerator.js +69 -0
- package/node_modules/@babel/runtime/helpers/wrapNativeSuper.js +27 -0
- package/node_modules/@babel/runtime/helpers/wrapRegExp.js +52 -0
- package/node_modules/@babel/runtime/helpers/writeOnlyError.js +4 -0
- package/node_modules/@babel/runtime/package.json +1065 -0
- package/node_modules/@babel/runtime/regenerator/index.js +15 -0
- package/node_modules/@coral-xyz/anchor/README.md +10 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/index.js +7202 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/index.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/borsh/accounts.d.ts +27 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/borsh/accounts.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/borsh/event.d.ts +14 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/borsh/event.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/borsh/idl.d.ts +32 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/borsh/idl.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/borsh/index.d.ts +33 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/borsh/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/borsh/instruction.d.ts +42 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/borsh/instruction.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/borsh/types.d.ts +16 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/borsh/types.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/index.d.ts +43 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/system/accounts.d.ts +12 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/system/accounts.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/system/events.d.ts +9 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/system/events.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/system/index.d.ts +17 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/system/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/system/instruction.d.ts +8 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/system/instruction.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/system/types.d.ts +8 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/system/types.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/error.d.ts +131 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/error.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/idl.d.ts +215 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/idl.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/index.d.ts +16 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/native/index.d.ts +7 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/native/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/native/system.d.ts +390 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/native/system.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/nodewallet.d.ts +14 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/nodewallet.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/accounts-resolver.d.ts +63 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/accounts-resolver.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/common.d.ts +20 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/common.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/context.d.ts +63 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/context.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/event.d.ts +57 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/event.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/index.d.ts +272 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/namespace/account.d.ts +146 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/namespace/account.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/namespace/index.d.ts +35 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/namespace/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/namespace/instruction.d.ts +57 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/namespace/instruction.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/namespace/methods.d.ts +206 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/namespace/methods.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/namespace/rpc.d.ts +49 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/namespace/rpc.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/namespace/simulate.d.ts +57 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/namespace/simulate.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/namespace/transaction.d.ts +42 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/namespace/transaction.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/namespace/types.d.ts +153 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/namespace/types.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/namespace/views.d.ts +15 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/namespace/views.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/token-account-layout.d.ts +2 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/program/token-account-layout.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/provider.d.ts +104 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/provider.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/bytes/base64.d.ts +4 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/bytes/base64.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/bytes/bs58.d.ts +3 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/bytes/bs58.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/bytes/hex.d.ts +4 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/bytes/hex.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/bytes/index.d.ts +5 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/bytes/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/bytes/utf8.d.ts +3 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/bytes/utf8.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/common.d.ts +22 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/common.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/features.d.ts +3 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/features.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/index.d.ts +8 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/pubkey.d.ts +3 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/pubkey.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/registry.d.ts +34 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/registry.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/rpc.d.ts +21 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/rpc.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/sha256.d.ts +2 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/sha256.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/token.d.ts +8 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/utils/token.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/workspace.d.ts +14 -0
- package/node_modules/@coral-xyz/anchor/dist/browser/src/workspace.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/accounts.d.ts +27 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/accounts.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/accounts.js +103 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/accounts.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/event.d.ts +14 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/event.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/event.js +78 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/event.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/idl.d.ts +32 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/idl.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/idl.js +420 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/idl.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/index.d.ts +33 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/index.js +27 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/index.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/instruction.d.ts +42 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/instruction.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/instruction.js +274 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/instruction.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/types.d.ts +16 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/types.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/types.js +42 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/types.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/index.d.ts +43 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/index.js +19 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/index.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/system/accounts.d.ts +12 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/system/accounts.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/system/accounts.js +107 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/system/accounts.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/system/events.d.ts +9 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/system/events.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/system/events.js +11 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/system/events.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/system/index.d.ts +17 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/system/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/system/index.js +20 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/system/index.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/system/instruction.d.ts +8 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/system/instruction.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/system/instruction.js +242 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/system/instruction.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/system/types.d.ts +8 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/system/types.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/system/types.js +14 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/coder/system/types.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/error.d.ts +131 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/error.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/error.js +583 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/error.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/idl.d.ts +215 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/idl.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/idl.js +109 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/idl.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/index.d.ts +16 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/index.js +50 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/index.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/native/index.d.ts +7 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/native/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/native/index.js +11 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/native/index.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/native/system.d.ts +390 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/native/system.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/native/system.js +394 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/native/system.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/nodewallet.d.ts +14 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/nodewallet.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/nodewallet.js +48 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/nodewallet.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/accounts-resolver.d.ts +63 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/accounts-resolver.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/accounts-resolver.js +437 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/accounts-resolver.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/common.d.ts +20 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/common.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/common.js +49 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/common.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/context.d.ts +63 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/context.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/context.js +16 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/context.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/event.d.ts +57 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/event.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/event.js +207 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/event.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/index.d.ts +272 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/index.js +177 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/index.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/account.d.ts +146 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/account.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/account.js +257 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/account.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/index.d.ts +35 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/index.js +63 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/index.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/instruction.d.ts +57 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/instruction.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/instruction.js +94 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/instruction.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/methods.d.ts +206 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/methods.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/methods.js +309 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/methods.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/rpc.d.ts +49 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/rpc.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/rpc.js +25 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/rpc.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/simulate.d.ts +57 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/simulate.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/simulate.js +42 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/simulate.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/transaction.d.ts +42 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/transaction.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/transaction.js +24 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/transaction.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/types.d.ts +153 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/types.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/types.js +3 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/types.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/views.d.ts +15 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/views.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/views.js +30 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/views.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/token-account-layout.d.ts +2 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/token-account-layout.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/token-account-layout.js +136 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/program/token-account-layout.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/provider.d.ts +104 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/provider.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/provider.js +309 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/provider.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/base64.d.ts +4 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/base64.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/base64.js +12 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/base64.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/bs58.d.ts +3 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/bs58.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/bs58.js +15 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/bs58.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/hex.d.ts +4 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/hex.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/hex.js +22 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/hex.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/index.d.ts +5 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/index.js +31 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/index.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/utf8.d.ts +3 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/utf8.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/utf8.js +18 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/utf8.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/common.d.ts +22 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/common.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/common.js +32 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/common.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/features.d.ts +3 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/features.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/features.js +16 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/features.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/index.d.ts +8 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/index.js +34 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/index.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/pubkey.d.ts +3 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/pubkey.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/pubkey.js +16 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/pubkey.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/registry.d.ts +34 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/registry.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/registry.js +88 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/registry.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/rpc.d.ts +21 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/rpc.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/rpc.js +167 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/rpc.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/sha256.d.ts +2 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/sha256.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/sha256.js +8 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/sha256.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/token.d.ts +8 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/token.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/token.js +11 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/utils/token.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/workspace.d.ts +14 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/workspace.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/workspace.js +98 -0
- package/node_modules/@coral-xyz/anchor/dist/cjs/workspace.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/accounts.d.ts +27 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/accounts.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/accounts.js +96 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/accounts.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/event.d.ts +14 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/event.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/event.js +51 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/event.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/idl.d.ts +32 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/idl.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/idl.js +393 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/idl.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/index.d.ts +33 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/index.js +20 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/index.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/instruction.d.ts +42 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/instruction.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/instruction.js +244 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/instruction.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/types.d.ts +16 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/types.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/types.js +38 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/types.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/index.d.ts +43 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/index.js +3 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/index.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/system/accounts.d.ts +12 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/system/accounts.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/system/accounts.js +80 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/system/accounts.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/system/events.d.ts +9 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/system/events.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/system/events.js +7 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/system/events.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/system/index.d.ts +17 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/system/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/system/index.js +16 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/system/index.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/system/instruction.d.ts +8 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/system/instruction.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/system/instruction.js +212 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/system/instruction.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/system/types.d.ts +8 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/system/types.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/system/types.js +10 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/coder/system/types.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/error.d.ts +131 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/error.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/error.js +552 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/error.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/idl.d.ts +215 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/idl.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/idl.js +74 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/idl.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/index.d.ts +16 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/index.js +14 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/index.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/native/index.d.ts +7 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/native/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/native/index.js +7 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/native/index.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/native/system.d.ts +390 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/native/system.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/native/system.js +389 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/native/system.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/nodewallet.d.ts +14 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/nodewallet.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/nodewallet.js +45 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/nodewallet.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/accounts-resolver.d.ts +63 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/accounts-resolver.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/accounts-resolver.js +429 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/accounts-resolver.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/common.d.ts +20 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/common.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/common.js +43 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/common.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/context.d.ts +63 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/context.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/context.js +13 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/context.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/event.d.ts +57 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/event.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/event.js +202 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/event.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/index.d.ts +272 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/index.js +156 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/index.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/account.d.ts +146 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/account.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/account.js +226 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/account.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/index.d.ts +35 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/index.js +54 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/index.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/instruction.d.ts +57 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/instruction.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/instruction.js +68 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/instruction.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/methods.d.ts +206 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/methods.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/methods.js +302 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/methods.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/rpc.d.ts +49 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/rpc.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/rpc.js +22 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/rpc.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/simulate.d.ts +57 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/simulate.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/simulate.js +39 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/simulate.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/transaction.d.ts +42 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/transaction.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/transaction.js +21 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/transaction.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/types.d.ts +153 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/types.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/types.js +2 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/types.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/views.d.ts +15 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/views.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/views.js +27 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/namespace/views.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/token-account-layout.d.ts +2 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/token-account-layout.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/token-account-layout.js +107 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/program/token-account-layout.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/provider.d.ts +104 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/provider.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/provider.js +303 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/provider.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/bytes/base64.d.ts +4 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/bytes/base64.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/bytes/base64.js +8 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/bytes/base64.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/bytes/bs58.d.ts +3 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/bytes/bs58.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/bytes/bs58.js +8 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/bytes/bs58.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/bytes/hex.d.ts +4 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/bytes/hex.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/bytes/hex.js +18 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/bytes/hex.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/bytes/index.d.ts +5 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/bytes/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/bytes/index.js +5 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/bytes/index.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/bytes/utf8.d.ts +3 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/bytes/utf8.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/bytes/utf8.js +14 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/bytes/utf8.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/common.d.ts +22 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/common.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/common.js +27 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/common.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/features.d.ts +3 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/features.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/features.js +12 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/features.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/index.d.ts +8 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/index.js +8 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/index.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/pubkey.d.ts +3 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/pubkey.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/pubkey.js +13 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/pubkey.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/registry.d.ts +34 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/registry.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/registry.js +57 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/registry.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/rpc.d.ts +21 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/rpc.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/rpc.js +161 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/rpc.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/sha256.d.ts +2 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/sha256.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/sha256.js +5 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/sha256.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/token.d.ts +8 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/token.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/token.js +7 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/utils/token.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/workspace.d.ts +14 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/workspace.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/workspace.js +70 -0
- package/node_modules/@coral-xyz/anchor/dist/esm/workspace.js.map +1 -0
- package/node_modules/@coral-xyz/anchor/dist/tsconfig.cjs.tsbuildinfo +1 -0
- package/node_modules/@coral-xyz/anchor/dist/tsconfig.tsbuildinfo +1 -0
- package/node_modules/@coral-xyz/anchor/node_modules/camelcase/index.d.ts +103 -0
- package/node_modules/@coral-xyz/anchor/node_modules/camelcase/index.js +113 -0
- package/node_modules/@coral-xyz/anchor/node_modules/camelcase/license +9 -0
- package/node_modules/@coral-xyz/anchor/node_modules/camelcase/package.json +44 -0
- package/node_modules/@coral-xyz/anchor/node_modules/camelcase/readme.md +144 -0
- package/node_modules/@coral-xyz/anchor/package.json +84 -0
- package/node_modules/@coral-xyz/anchor/types/buffer-layout/index.d.ts +88 -0
- package/node_modules/@coral-xyz/anchor-errors/dist/index.d.ts +157 -0
- package/node_modules/@coral-xyz/anchor-errors/dist/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/anchor-errors/dist/index.js +167 -0
- package/node_modules/@coral-xyz/anchor-errors/dist/index.js.map +1 -0
- package/node_modules/@coral-xyz/anchor-errors/package.json +32 -0
- package/node_modules/@coral-xyz/borsh/dist/index.d.ts +31 -0
- package/node_modules/@coral-xyz/borsh/dist/index.d.ts.map +1 -0
- package/node_modules/@coral-xyz/borsh/dist/index.js +222 -0
- package/node_modules/@coral-xyz/borsh/dist/index.js.map +1 -0
- package/node_modules/@coral-xyz/borsh/package.json +35 -0
- package/node_modules/@noble/hashes/LICENSE +21 -0
- package/node_modules/@noble/hashes/README.md +572 -0
- package/node_modules/@noble/hashes/_assert.d.ts +23 -0
- package/node_modules/@noble/hashes/_assert.d.ts.map +1 -0
- package/node_modules/@noble/hashes/_assert.js +50 -0
- package/node_modules/@noble/hashes/_assert.js.map +1 -0
- package/node_modules/@noble/hashes/_blake.d.ts +34 -0
- package/node_modules/@noble/hashes/_blake.d.ts.map +1 -0
- package/node_modules/@noble/hashes/_blake.js +137 -0
- package/node_modules/@noble/hashes/_blake.js.map +1 -0
- package/node_modules/@noble/hashes/_md.d.ts +34 -0
- package/node_modules/@noble/hashes/_md.d.ts.map +1 -0
- package/node_modules/@noble/hashes/_md.js +137 -0
- package/node_modules/@noble/hashes/_md.js.map +1 -0
- package/node_modules/@noble/hashes/_u64.d.ts +55 -0
- package/node_modules/@noble/hashes/_u64.d.ts.map +1 -0
- package/node_modules/@noble/hashes/_u64.js +89 -0
- package/node_modules/@noble/hashes/_u64.js.map +1 -0
- package/node_modules/@noble/hashes/argon2.d.ts +32 -0
- package/node_modules/@noble/hashes/argon2.d.ts.map +1 -0
- package/node_modules/@noble/hashes/argon2.js +396 -0
- package/node_modules/@noble/hashes/argon2.js.map +1 -0
- package/node_modules/@noble/hashes/blake1.d.ts +126 -0
- package/node_modules/@noble/hashes/blake1.d.ts.map +1 -0
- package/node_modules/@noble/hashes/blake1.js +471 -0
- package/node_modules/@noble/hashes/blake1.js.map +1 -0
- package/node_modules/@noble/hashes/blake2b.d.ts +53 -0
- package/node_modules/@noble/hashes/blake2b.d.ts.map +1 -0
- package/node_modules/@noble/hashes/blake2b.js +197 -0
- package/node_modules/@noble/hashes/blake2b.js.map +1 -0
- package/node_modules/@noble/hashes/blake2s.d.ts +61 -0
- package/node_modules/@noble/hashes/blake2s.d.ts.map +1 -0
- package/node_modules/@noble/hashes/blake2s.js +132 -0
- package/node_modules/@noble/hashes/blake2s.js.map +1 -0
- package/node_modules/@noble/hashes/blake3.d.ts +54 -0
- package/node_modules/@noble/hashes/blake3.d.ts.map +1 -0
- package/node_modules/@noble/hashes/blake3.js +255 -0
- package/node_modules/@noble/hashes/blake3.js.map +1 -0
- package/node_modules/@noble/hashes/crypto.d.ts +2 -0
- package/node_modules/@noble/hashes/crypto.d.ts.map +1 -0
- package/node_modules/@noble/hashes/crypto.js +5 -0
- package/node_modules/@noble/hashes/crypto.js.map +1 -0
- package/node_modules/@noble/hashes/cryptoNode.d.ts +2 -0
- package/node_modules/@noble/hashes/cryptoNode.d.ts.map +1 -0
- package/node_modules/@noble/hashes/cryptoNode.js +18 -0
- package/node_modules/@noble/hashes/cryptoNode.js.map +1 -0
- package/node_modules/@noble/hashes/eskdf.d.ts +47 -0
- package/node_modules/@noble/hashes/eskdf.d.ts.map +1 -0
- package/node_modules/@noble/hashes/eskdf.js +168 -0
- package/node_modules/@noble/hashes/eskdf.js.map +1 -0
- package/node_modules/@noble/hashes/esm/_assert.d.ts +23 -0
- package/node_modules/@noble/hashes/esm/_assert.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/_assert.js +44 -0
- package/node_modules/@noble/hashes/esm/_assert.js.map +1 -0
- package/node_modules/@noble/hashes/esm/_blake.d.ts +34 -0
- package/node_modules/@noble/hashes/esm/_blake.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/_blake.js +133 -0
- package/node_modules/@noble/hashes/esm/_blake.js.map +1 -0
- package/node_modules/@noble/hashes/esm/_md.d.ts +34 -0
- package/node_modules/@noble/hashes/esm/_md.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/_md.js +130 -0
- package/node_modules/@noble/hashes/esm/_md.js.map +1 -0
- package/node_modules/@noble/hashes/esm/_u64.d.ts +55 -0
- package/node_modules/@noble/hashes/esm/_u64.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/_u64.js +66 -0
- package/node_modules/@noble/hashes/esm/_u64.js.map +1 -0
- package/node_modules/@noble/hashes/esm/argon2.d.ts +32 -0
- package/node_modules/@noble/hashes/esm/argon2.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/argon2.js +387 -0
- package/node_modules/@noble/hashes/esm/argon2.js.map +1 -0
- package/node_modules/@noble/hashes/esm/blake1.d.ts +126 -0
- package/node_modules/@noble/hashes/esm/blake1.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/blake1.js +464 -0
- package/node_modules/@noble/hashes/esm/blake1.js.map +1 -0
- package/node_modules/@noble/hashes/esm/blake2b.d.ts +53 -0
- package/node_modules/@noble/hashes/esm/blake2b.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/blake2b.js +193 -0
- package/node_modules/@noble/hashes/esm/blake2b.js.map +1 -0
- package/node_modules/@noble/hashes/esm/blake2s.d.ts +61 -0
- package/node_modules/@noble/hashes/esm/blake2s.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/blake2s.js +125 -0
- package/node_modules/@noble/hashes/esm/blake2s.js.map +1 -0
- package/node_modules/@noble/hashes/esm/blake3.d.ts +54 -0
- package/node_modules/@noble/hashes/esm/blake3.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/blake3.js +262 -0
- package/node_modules/@noble/hashes/esm/blake3.js.map +1 -0
- package/node_modules/@noble/hashes/esm/crypto.d.ts +2 -0
- package/node_modules/@noble/hashes/esm/crypto.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/crypto.js +2 -0
- package/node_modules/@noble/hashes/esm/crypto.js.map +1 -0
- package/node_modules/@noble/hashes/esm/cryptoNode.d.ts +2 -0
- package/node_modules/@noble/hashes/esm/cryptoNode.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/cryptoNode.js +15 -0
- package/node_modules/@noble/hashes/esm/cryptoNode.js.map +1 -0
- package/node_modules/@noble/hashes/esm/eskdf.d.ts +47 -0
- package/node_modules/@noble/hashes/esm/eskdf.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/eskdf.js +162 -0
- package/node_modules/@noble/hashes/esm/eskdf.js.map +1 -0
- package/node_modules/@noble/hashes/esm/hkdf.d.ts +36 -0
- package/node_modules/@noble/hashes/esm/hkdf.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/hkdf.js +83 -0
- package/node_modules/@noble/hashes/esm/hkdf.js.map +1 -0
- package/node_modules/@noble/hashes/esm/hmac.d.ts +30 -0
- package/node_modules/@noble/hashes/esm/hmac.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/hmac.js +84 -0
- package/node_modules/@noble/hashes/esm/hmac.js.map +1 -0
- package/node_modules/@noble/hashes/esm/index.d.ts +2 -0
- package/node_modules/@noble/hashes/esm/index.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/index.js +35 -0
- package/node_modules/@noble/hashes/esm/index.js.map +1 -0
- package/node_modules/@noble/hashes/esm/package.json +10 -0
- package/node_modules/@noble/hashes/esm/pbkdf2.d.ts +23 -0
- package/node_modules/@noble/hashes/esm/pbkdf2.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/pbkdf2.js +97 -0
- package/node_modules/@noble/hashes/esm/pbkdf2.js.map +1 -0
- package/node_modules/@noble/hashes/esm/ripemd160.d.ts +24 -0
- package/node_modules/@noble/hashes/esm/ripemd160.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/ripemd160.js +103 -0
- package/node_modules/@noble/hashes/esm/ripemd160.js.map +1 -0
- package/node_modules/@noble/hashes/esm/scrypt.d.ts +34 -0
- package/node_modules/@noble/hashes/esm/scrypt.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/scrypt.js +233 -0
- package/node_modules/@noble/hashes/esm/scrypt.js.map +1 -0
- package/node_modules/@noble/hashes/esm/sha1.d.ts +22 -0
- package/node_modules/@noble/hashes/esm/sha1.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/sha1.js +84 -0
- package/node_modules/@noble/hashes/esm/sha1.js.map +1 -0
- package/node_modules/@noble/hashes/esm/sha2.d.ts +7 -0
- package/node_modules/@noble/hashes/esm/sha2.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/sha2.js +8 -0
- package/node_modules/@noble/hashes/esm/sha2.js.map +1 -0
- package/node_modules/@noble/hashes/esm/sha256.d.ts +32 -0
- package/node_modules/@noble/hashes/esm/sha256.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/sha256.js +130 -0
- package/node_modules/@noble/hashes/esm/sha256.js.map +1 -0
- package/node_modules/@noble/hashes/esm/sha3-addons.d.ts +130 -0
- package/node_modules/@noble/hashes/esm/sha3-addons.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/sha3-addons.js +387 -0
- package/node_modules/@noble/hashes/esm/sha3-addons.js.map +1 -0
- package/node_modules/@noble/hashes/esm/sha3.d.ts +52 -0
- package/node_modules/@noble/hashes/esm/sha3.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/sha3.js +227 -0
- package/node_modules/@noble/hashes/esm/sha3.js.map +1 -0
- package/node_modules/@noble/hashes/esm/sha512.d.ts +116 -0
- package/node_modules/@noble/hashes/esm/sha512.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/sha512.js +242 -0
- package/node_modules/@noble/hashes/esm/sha512.js.map +1 -0
- package/node_modules/@noble/hashes/esm/utils.d.ts +120 -0
- package/node_modules/@noble/hashes/esm/utils.d.ts.map +1 -0
- package/node_modules/@noble/hashes/esm/utils.js +212 -0
- package/node_modules/@noble/hashes/esm/utils.js.map +1 -0
- package/node_modules/@noble/hashes/hkdf.d.ts +36 -0
- package/node_modules/@noble/hashes/hkdf.d.ts.map +1 -0
- package/node_modules/@noble/hashes/hkdf.js +89 -0
- package/node_modules/@noble/hashes/hkdf.js.map +1 -0
- package/node_modules/@noble/hashes/hmac.d.ts +30 -0
- package/node_modules/@noble/hashes/hmac.d.ts.map +1 -0
- package/node_modules/@noble/hashes/hmac.js +89 -0
- package/node_modules/@noble/hashes/hmac.js.map +1 -0
- package/node_modules/@noble/hashes/index.d.ts +1 -0
- package/node_modules/@noble/hashes/index.d.ts.map +1 -0
- package/node_modules/@noble/hashes/index.js +35 -0
- package/node_modules/@noble/hashes/index.js.map +1 -0
- package/node_modules/@noble/hashes/package.json +168 -0
- package/node_modules/@noble/hashes/pbkdf2.d.ts +23 -0
- package/node_modules/@noble/hashes/pbkdf2.d.ts.map +1 -0
- package/node_modules/@noble/hashes/pbkdf2.js +101 -0
- package/node_modules/@noble/hashes/pbkdf2.js.map +1 -0
- package/node_modules/@noble/hashes/ripemd160.d.ts +24 -0
- package/node_modules/@noble/hashes/ripemd160.d.ts.map +1 -0
- package/node_modules/@noble/hashes/ripemd160.js +107 -0
- package/node_modules/@noble/hashes/ripemd160.js.map +1 -0
- package/node_modules/@noble/hashes/scrypt.d.ts +34 -0
- package/node_modules/@noble/hashes/scrypt.d.ts.map +1 -0
- package/node_modules/@noble/hashes/scrypt.js +237 -0
- package/node_modules/@noble/hashes/scrypt.js.map +1 -0
- package/node_modules/@noble/hashes/sha1.d.ts +22 -0
- package/node_modules/@noble/hashes/sha1.d.ts.map +1 -0
- package/node_modules/@noble/hashes/sha1.js +88 -0
- package/node_modules/@noble/hashes/sha1.js.map +1 -0
- package/node_modules/@noble/hashes/sha2.d.ts +7 -0
- package/node_modules/@noble/hashes/sha2.d.ts.map +1 -0
- package/node_modules/@noble/hashes/sha2.js +17 -0
- package/node_modules/@noble/hashes/sha2.js.map +1 -0
- package/node_modules/@noble/hashes/sha256.d.ts +32 -0
- package/node_modules/@noble/hashes/sha256.d.ts.map +1 -0
- package/node_modules/@noble/hashes/sha256.js +134 -0
- package/node_modules/@noble/hashes/sha256.js.map +1 -0
- package/node_modules/@noble/hashes/sha3-addons.d.ts +130 -0
- package/node_modules/@noble/hashes/sha3-addons.d.ts.map +1 -0
- package/node_modules/@noble/hashes/sha3-addons.js +396 -0
- package/node_modules/@noble/hashes/sha3-addons.js.map +1 -0
- package/node_modules/@noble/hashes/sha3.d.ts +52 -0
- package/node_modules/@noble/hashes/sha3.d.ts.map +1 -0
- package/node_modules/@noble/hashes/sha3.js +232 -0
- package/node_modules/@noble/hashes/sha3.js.map +1 -0
- package/node_modules/@noble/hashes/sha512.d.ts +116 -0
- package/node_modules/@noble/hashes/sha512.d.ts.map +1 -0
- package/node_modules/@noble/hashes/sha512.js +249 -0
- package/node_modules/@noble/hashes/sha512.js.map +1 -0
- package/node_modules/@noble/hashes/src/_assert.ts +54 -0
- package/node_modules/@noble/hashes/src/_blake.ts +147 -0
- package/node_modules/@noble/hashes/src/_md.ts +141 -0
- package/node_modules/@noble/hashes/src/_u64.ts +95 -0
- package/node_modules/@noble/hashes/src/argon2.ts +486 -0
- package/node_modules/@noble/hashes/src/blake1.ts +548 -0
- package/node_modules/@noble/hashes/src/blake2b.ts +209 -0
- package/node_modules/@noble/hashes/src/blake2s.ts +154 -0
- package/node_modules/@noble/hashes/src/blake3.ts +281 -0
- package/node_modules/@noble/hashes/src/crypto.ts +9 -0
- package/node_modules/@noble/hashes/src/cryptoNode.ts +15 -0
- package/node_modules/@noble/hashes/src/eskdf.ts +189 -0
- package/node_modules/@noble/hashes/src/hkdf.ts +89 -0
- package/node_modules/@noble/hashes/src/hmac.ts +92 -0
- package/node_modules/@noble/hashes/src/index.ts +33 -0
- package/node_modules/@noble/hashes/src/pbkdf2.ts +120 -0
- package/node_modules/@noble/hashes/src/ripemd160.ts +109 -0
- package/node_modules/@noble/hashes/src/scrypt.ts +252 -0
- package/node_modules/@noble/hashes/src/sha1.ts +83 -0
- package/node_modules/@noble/hashes/src/sha2.ts +7 -0
- package/node_modules/@noble/hashes/src/sha256.ts +136 -0
- package/node_modules/@noble/hashes/src/sha3-addons.ts +488 -0
- package/node_modules/@noble/hashes/src/sha3.ts +244 -0
- package/node_modules/@noble/hashes/src/sha512.ts +257 -0
- package/node_modules/@noble/hashes/src/utils.ts +305 -0
- package/node_modules/@noble/hashes/utils.d.ts +120 -0
- package/node_modules/@noble/hashes/utils.d.ts.map +1 -0
- package/node_modules/@noble/hashes/utils.js +236 -0
- package/node_modules/@noble/hashes/utils.js.map +1 -0
- package/node_modules/@solana/buffer-layout/LICENSE +21 -0
- package/node_modules/@solana/buffer-layout/README.md +403 -0
- package/node_modules/@solana/buffer-layout/lib/Layout.d.ts +1191 -0
- package/node_modules/@solana/buffer-layout/lib/Layout.js +2390 -0
- package/node_modules/@solana/buffer-layout/lib/Layout.js.map +1 -0
- package/node_modules/@solana/buffer-layout/package.json +55 -0
- package/node_modules/@solana/web3.js/LICENSE +20 -0
- package/node_modules/@solana/web3.js/README.md +145 -0
- package/node_modules/@solana/web3.js/lib/index.browser.cjs.js +10572 -0
- package/node_modules/@solana/web3.js/lib/index.browser.cjs.js.map +1 -0
- package/node_modules/@solana/web3.js/lib/index.browser.esm.js +10471 -0
- package/node_modules/@solana/web3.js/lib/index.browser.esm.js.map +1 -0
- package/node_modules/@solana/web3.js/lib/index.cjs.js +11321 -0
- package/node_modules/@solana/web3.js/lib/index.cjs.js.map +1 -0
- package/node_modules/@solana/web3.js/lib/index.d.ts +4021 -0
- package/node_modules/@solana/web3.js/lib/index.esm.js +11216 -0
- package/node_modules/@solana/web3.js/lib/index.esm.js.map +1 -0
- package/node_modules/@solana/web3.js/lib/index.iife.js +25958 -0
- package/node_modules/@solana/web3.js/lib/index.iife.js.map +1 -0
- package/node_modules/@solana/web3.js/lib/index.iife.min.js +20 -0
- package/node_modules/@solana/web3.js/lib/index.iife.min.js.map +1 -0
- package/node_modules/@solana/web3.js/lib/index.native.js +10572 -0
- package/node_modules/@solana/web3.js/lib/index.native.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/LICENSE +21 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/README.md +1113 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/_shortw_utils.d.ts +16 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/_shortw_utils.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/_shortw_utils.js +25 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/_shortw_utils.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/bls.d.ts +129 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/bls.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/bls.js +356 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/bls.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/curve.d.ts +101 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/curve.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/curve.js +380 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/curve.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/edwards.d.ts +92 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/edwards.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/edwards.js +452 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/edwards.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/hash-to-curve.d.ts +78 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/hash-to-curve.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/hash-to-curve.js +186 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/hash-to-curve.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/modular.d.ts +152 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/modular.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/modular.js +481 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/modular.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/montgomery.d.ts +26 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/montgomery.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/montgomery.js +160 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/montgomery.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/poseidon.d.ts +39 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/poseidon.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/poseidon.js +121 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/poseidon.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/tower.d.ts +119 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/tower.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/tower.js +501 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/tower.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/utils.d.ts +116 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/utils.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/utils.js +364 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/utils.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/weierstrass.d.ts +225 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/weierstrass.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/weierstrass.js +1190 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/weierstrass.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/bls12-381.d.ts +14 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/bls12-381.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/bls12-381.js +717 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/bls12-381.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/bn254.d.ts +15 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/bn254.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/bn254.js +228 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/bn254.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/ed25519.d.ts +101 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/ed25519.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/ed25519.js +473 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/ed25519.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/ed448.d.ts +82 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/ed448.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/ed448.js +428 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/ed448.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/_shortw_utils.d.ts +16 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/_shortw_utils.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/_shortw_utils.js +21 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/_shortw_utils.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/bls.d.ts +129 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/bls.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/bls.js +353 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/bls.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/curve.d.ts +101 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/curve.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/curve.js +374 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/curve.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/edwards.d.ts +92 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/edwards.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/edwards.js +449 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/edwards.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/hash-to-curve.d.ts +78 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/hash-to-curve.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/hash-to-curve.js +179 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/hash-to-curve.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/modular.d.ts +152 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/modular.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/modular.js +457 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/modular.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/montgomery.d.ts +26 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/montgomery.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/montgomery.js +157 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/montgomery.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/poseidon.d.ts +39 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/poseidon.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/poseidon.js +116 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/poseidon.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/tower.d.ts +119 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/tower.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/tower.js +497 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/tower.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/utils.d.ts +116 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/utils.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/utils.js +335 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/utils.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/weierstrass.d.ts +225 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/weierstrass.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/weierstrass.js +1182 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/weierstrass.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/bls12-381.d.ts +14 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/bls12-381.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/bls12-381.js +714 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/bls12-381.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/bn254.d.ts +15 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/bn254.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/bn254.js +224 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/bn254.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/ed25519.d.ts +101 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/ed25519.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/ed25519.js +467 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/ed25519.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/ed448.d.ts +82 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/ed448.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/ed448.js +423 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/ed448.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/index.d.ts +2 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/index.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/index.js +19 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/index.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/jubjub.d.ts +5 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/jubjub.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/jubjub.js +61 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/jubjub.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p256.d.ts +11 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p256.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p256.js +49 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p256.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p384.d.ts +11 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p384.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p384.js +53 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p384.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p521.d.ts +12 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p521.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p521.js +61 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p521.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/package.json +4 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/pasta.d.ts +8 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/pasta.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/pasta.js +34 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/pasta.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/secp256k1.d.ts +71 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/secp256k1.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/secp256k1.js +284 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/secp256k1.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/index.d.ts +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/index.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/index.js +19 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/index.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/jubjub.d.ts +5 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/jubjub.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/jubjub.js +66 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/jubjub.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/p256.d.ts +11 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/p256.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/p256.js +52 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/p256.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/p384.d.ts +11 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/p384.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/p384.js +56 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/p384.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/p521.d.ts +12 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/p521.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/p521.js +64 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/p521.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/package.json +171 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/pasta.d.ts +8 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/pasta.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/pasta.js +37 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/pasta.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/secp256k1.d.ts +71 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/secp256k1.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/secp256k1.js +287 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/secp256k1.js.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/_shortw_utils.ts +30 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/abstract/bls.ts +570 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/abstract/curve.ts +457 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/abstract/edwards.ts +562 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/abstract/hash-to-curve.ts +255 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/abstract/modular.ts +532 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/abstract/montgomery.ts +196 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/abstract/poseidon.ts +136 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/abstract/tower.ts +651 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/abstract/utils.ts +369 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/abstract/weierstrass.ts +1375 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/bls12-381.ts +770 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/bn254.ts +252 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/ed25519.ts +537 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/ed448.ts +507 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/index.ts +17 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/jubjub.ts +63 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/p256.ts +54 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/p384.ts +58 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/p521.ts +75 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/package.json +3 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/pasta.ts +39 -0
- package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/secp256k1.ts +328 -0
- package/node_modules/@solana/web3.js/node_modules/superstruct/License.md +9 -0
- package/node_modules/@solana/web3.js/node_modules/superstruct/Readme.md +230 -0
- package/node_modules/@solana/web3.js/node_modules/superstruct/dist/error.d.ts +33 -0
- package/node_modules/@solana/web3.js/node_modules/superstruct/dist/error.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/superstruct/dist/index.cjs +1084 -0
- package/node_modules/@solana/web3.js/node_modules/superstruct/dist/index.cjs.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/superstruct/dist/index.d.ts +7 -0
- package/node_modules/@solana/web3.js/node_modules/superstruct/dist/index.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/superstruct/dist/index.mjs +1026 -0
- package/node_modules/@solana/web3.js/node_modules/superstruct/dist/index.mjs.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/superstruct/dist/struct.d.ts +119 -0
- package/node_modules/@solana/web3.js/node_modules/superstruct/dist/struct.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/superstruct/dist/structs/coercions.d.ts +29 -0
- package/node_modules/@solana/web3.js/node_modules/superstruct/dist/structs/coercions.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/superstruct/dist/structs/refinements.d.ts +38 -0
- package/node_modules/@solana/web3.js/node_modules/superstruct/dist/structs/refinements.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/superstruct/dist/structs/types.d.ts +142 -0
- package/node_modules/@solana/web3.js/node_modules/superstruct/dist/structs/types.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/superstruct/dist/structs/utilities.d.ts +66 -0
- package/node_modules/@solana/web3.js/node_modules/superstruct/dist/structs/utilities.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/superstruct/dist/utils.d.ts +144 -0
- package/node_modules/@solana/web3.js/node_modules/superstruct/dist/utils.d.ts.map +1 -0
- package/node_modules/@solana/web3.js/node_modules/superstruct/package.json +85 -0
- package/node_modules/@solana/web3.js/package.json +75 -0
- package/node_modules/@solana/web3.js/src/__forks__/browser/fetch-impl.ts +4 -0
- package/node_modules/@solana/web3.js/src/__forks__/react-native/fetch-impl.ts +4 -0
- package/node_modules/@solana/web3.js/src/account-data.ts +39 -0
- package/node_modules/@solana/web3.js/src/account.ts +55 -0
- package/node_modules/@solana/web3.js/src/blockhash.ts +4 -0
- package/node_modules/@solana/web3.js/src/bpf-loader-deprecated.ts +5 -0
- package/node_modules/@solana/web3.js/src/bpf-loader.ts +50 -0
- package/node_modules/@solana/web3.js/src/connection.ts +6955 -0
- package/node_modules/@solana/web3.js/src/epoch-schedule.ts +102 -0
- package/node_modules/@solana/web3.js/src/errors.ts +133 -0
- package/node_modules/@solana/web3.js/src/fee-calculator.ts +18 -0
- package/node_modules/@solana/web3.js/src/fetch-impl.ts +16 -0
- package/node_modules/@solana/web3.js/src/index.ts +24 -0
- package/node_modules/@solana/web3.js/src/instruction.ts +58 -0
- package/node_modules/@solana/web3.js/src/keypair.ts +102 -0
- package/node_modules/@solana/web3.js/src/layout.ts +188 -0
- package/node_modules/@solana/web3.js/src/loader.ts +267 -0
- package/node_modules/@solana/web3.js/src/message/account-keys.ts +79 -0
- package/node_modules/@solana/web3.js/src/message/compiled-keys.ts +165 -0
- package/node_modules/@solana/web3.js/src/message/index.ts +47 -0
- package/node_modules/@solana/web3.js/src/message/legacy.ts +323 -0
- package/node_modules/@solana/web3.js/src/message/v0.ts +513 -0
- package/node_modules/@solana/web3.js/src/message/versioned.ts +36 -0
- package/node_modules/@solana/web3.js/src/nonce-account.ts +82 -0
- package/node_modules/@solana/web3.js/src/programs/address-lookup-table/index.ts +435 -0
- package/node_modules/@solana/web3.js/src/programs/address-lookup-table/state.ts +84 -0
- package/node_modules/@solana/web3.js/src/programs/compute-budget.ts +281 -0
- package/node_modules/@solana/web3.js/src/programs/ed25519.ts +157 -0
- package/node_modules/@solana/web3.js/src/programs/index.ts +7 -0
- package/node_modules/@solana/web3.js/src/programs/secp256k1.ts +228 -0
- package/node_modules/@solana/web3.js/src/programs/stake.ts +952 -0
- package/node_modules/@solana/web3.js/src/programs/system.ts +1048 -0
- package/node_modules/@solana/web3.js/src/programs/vote.ts +586 -0
- package/node_modules/@solana/web3.js/src/publickey.ts +259 -0
- package/node_modules/@solana/web3.js/src/rpc-websocket.ts +75 -0
- package/node_modules/@solana/web3.js/src/sysvar.ts +37 -0
- package/node_modules/@solana/web3.js/src/timing.ts +23 -0
- package/node_modules/@solana/web3.js/src/transaction/constants.ts +12 -0
- package/node_modules/@solana/web3.js/src/transaction/expiry-custom-errors.ts +48 -0
- package/node_modules/@solana/web3.js/src/transaction/index.ts +5 -0
- package/node_modules/@solana/web3.js/src/transaction/legacy.ts +970 -0
- package/node_modules/@solana/web3.js/src/transaction/message.ts +140 -0
- package/node_modules/@solana/web3.js/src/transaction/versioned.ts +127 -0
- package/node_modules/@solana/web3.js/src/utils/assert.ts +8 -0
- package/node_modules/@solana/web3.js/src/utils/bigint.ts +43 -0
- package/node_modules/@solana/web3.js/src/utils/borsh-schema.ts +38 -0
- package/node_modules/@solana/web3.js/src/utils/cluster.ts +35 -0
- package/node_modules/@solana/web3.js/src/utils/ed25519.ts +43 -0
- package/node_modules/@solana/web3.js/src/utils/guarded-array-utils.ts +34 -0
- package/node_modules/@solana/web3.js/src/utils/index.ts +5 -0
- package/node_modules/@solana/web3.js/src/utils/makeWebsocketUrl.ts +26 -0
- package/node_modules/@solana/web3.js/src/utils/promise-timeout.ts +14 -0
- package/node_modules/@solana/web3.js/src/utils/secp256k1.ts +11 -0
- package/node_modules/@solana/web3.js/src/utils/send-and-confirm-raw-transaction.ts +110 -0
- package/node_modules/@solana/web3.js/src/utils/send-and-confirm-transaction.ts +106 -0
- package/node_modules/@solana/web3.js/src/utils/shortvec-encoding.ts +28 -0
- package/node_modules/@solana/web3.js/src/utils/sleep.ts +4 -0
- package/node_modules/@solana/web3.js/src/utils/to-buffer.ts +11 -0
- package/node_modules/@solana/web3.js/src/validator-info.ts +108 -0
- package/node_modules/@solana/web3.js/src/vote-account.ts +236 -0
- package/node_modules/@swc/helpers/LICENSE +201 -0
- package/node_modules/@swc/helpers/_/_apply_decorated_descriptor/package.json +4 -0
- package/node_modules/@swc/helpers/_/_apply_decs_2203_r/package.json +4 -0
- package/node_modules/@swc/helpers/_/_array_like_to_array/package.json +4 -0
- package/node_modules/@swc/helpers/_/_array_with_holes/package.json +4 -0
- package/node_modules/@swc/helpers/_/_array_without_holes/package.json +4 -0
- package/node_modules/@swc/helpers/_/_assert_this_initialized/package.json +4 -0
- package/node_modules/@swc/helpers/_/_async_generator/package.json +4 -0
- package/node_modules/@swc/helpers/_/_async_generator_delegate/package.json +4 -0
- package/node_modules/@swc/helpers/_/_async_iterator/package.json +4 -0
- package/node_modules/@swc/helpers/_/_async_to_generator/package.json +4 -0
- package/node_modules/@swc/helpers/_/_await_async_generator/package.json +4 -0
- package/node_modules/@swc/helpers/_/_await_value/package.json +4 -0
- package/node_modules/@swc/helpers/_/_call_super/package.json +4 -0
- package/node_modules/@swc/helpers/_/_check_private_redeclaration/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_apply_descriptor_destructure/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_apply_descriptor_get/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_apply_descriptor_set/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_apply_descriptor_update/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_call_check/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_check_private_static_access/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_check_private_static_field_descriptor/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_extract_field_descriptor/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_name_tdz_error/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_private_field_destructure/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_private_field_get/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_private_field_init/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_private_field_loose_base/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_private_field_loose_key/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_private_field_set/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_private_field_update/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_private_method_get/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_private_method_init/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_private_method_set/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_static_private_field_destructure/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_static_private_field_spec_get/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_static_private_field_spec_set/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_static_private_field_update/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_static_private_method_get/package.json +4 -0
- package/node_modules/@swc/helpers/_/_construct/package.json +4 -0
- package/node_modules/@swc/helpers/_/_create_class/package.json +4 -0
- package/node_modules/@swc/helpers/_/_create_for_of_iterator_helper_loose/package.json +4 -0
- package/node_modules/@swc/helpers/_/_create_super/package.json +4 -0
- package/node_modules/@swc/helpers/_/_decorate/package.json +4 -0
- package/node_modules/@swc/helpers/_/_defaults/package.json +4 -0
- package/node_modules/@swc/helpers/_/_define_enumerable_properties/package.json +4 -0
- package/node_modules/@swc/helpers/_/_define_property/package.json +4 -0
- package/node_modules/@swc/helpers/_/_dispose/package.json +4 -0
- package/node_modules/@swc/helpers/_/_export_star/package.json +4 -0
- package/node_modules/@swc/helpers/_/_extends/package.json +4 -0
- package/node_modules/@swc/helpers/_/_get/package.json +4 -0
- package/node_modules/@swc/helpers/_/_get_prototype_of/package.json +4 -0
- package/node_modules/@swc/helpers/_/_identity/package.json +4 -0
- package/node_modules/@swc/helpers/_/_inherits/package.json +4 -0
- package/node_modules/@swc/helpers/_/_inherits_loose/package.json +4 -0
- package/node_modules/@swc/helpers/_/_initializer_define_property/package.json +4 -0
- package/node_modules/@swc/helpers/_/_initializer_warning_helper/package.json +4 -0
- package/node_modules/@swc/helpers/_/_instanceof/package.json +4 -0
- package/node_modules/@swc/helpers/_/_interop_require_default/package.json +4 -0
- package/node_modules/@swc/helpers/_/_interop_require_wildcard/package.json +4 -0
- package/node_modules/@swc/helpers/_/_is_native_function/package.json +4 -0
- package/node_modules/@swc/helpers/_/_is_native_reflect_construct/package.json +4 -0
- package/node_modules/@swc/helpers/_/_iterable_to_array/package.json +4 -0
- package/node_modules/@swc/helpers/_/_iterable_to_array_limit/package.json +4 -0
- package/node_modules/@swc/helpers/_/_iterable_to_array_limit_loose/package.json +4 -0
- package/node_modules/@swc/helpers/_/_jsx/package.json +4 -0
- package/node_modules/@swc/helpers/_/_new_arrow_check/package.json +4 -0
- package/node_modules/@swc/helpers/_/_non_iterable_rest/package.json +4 -0
- package/node_modules/@swc/helpers/_/_non_iterable_spread/package.json +4 -0
- package/node_modules/@swc/helpers/_/_object_destructuring_empty/package.json +4 -0
- package/node_modules/@swc/helpers/_/_object_spread/package.json +4 -0
- package/node_modules/@swc/helpers/_/_object_spread_props/package.json +4 -0
- package/node_modules/@swc/helpers/_/_object_without_properties/package.json +4 -0
- package/node_modules/@swc/helpers/_/_object_without_properties_loose/package.json +4 -0
- package/node_modules/@swc/helpers/_/_possible_constructor_return/package.json +4 -0
- package/node_modules/@swc/helpers/_/_read_only_error/package.json +4 -0
- package/node_modules/@swc/helpers/_/_set/package.json +4 -0
- package/node_modules/@swc/helpers/_/_set_prototype_of/package.json +4 -0
- package/node_modules/@swc/helpers/_/_skip_first_generator_next/package.json +4 -0
- package/node_modules/@swc/helpers/_/_sliced_to_array/package.json +4 -0
- package/node_modules/@swc/helpers/_/_sliced_to_array_loose/package.json +4 -0
- package/node_modules/@swc/helpers/_/_super_prop_base/package.json +4 -0
- package/node_modules/@swc/helpers/_/_tagged_template_literal/package.json +4 -0
- package/node_modules/@swc/helpers/_/_tagged_template_literal_loose/package.json +4 -0
- package/node_modules/@swc/helpers/_/_throw/package.json +4 -0
- package/node_modules/@swc/helpers/_/_to_array/package.json +4 -0
- package/node_modules/@swc/helpers/_/_to_consumable_array/package.json +4 -0
- package/node_modules/@swc/helpers/_/_to_primitive/package.json +4 -0
- package/node_modules/@swc/helpers/_/_to_property_key/package.json +4 -0
- package/node_modules/@swc/helpers/_/_ts_add_disposable_resource/package.json +4 -0
- package/node_modules/@swc/helpers/_/_ts_decorate/package.json +4 -0
- package/node_modules/@swc/helpers/_/_ts_dispose_resources/package.json +4 -0
- package/node_modules/@swc/helpers/_/_ts_generator/package.json +4 -0
- package/node_modules/@swc/helpers/_/_ts_metadata/package.json +4 -0
- package/node_modules/@swc/helpers/_/_ts_param/package.json +4 -0
- package/node_modules/@swc/helpers/_/_ts_values/package.json +4 -0
- package/node_modules/@swc/helpers/_/_type_of/package.json +4 -0
- package/node_modules/@swc/helpers/_/_unsupported_iterable_to_array/package.json +4 -0
- package/node_modules/@swc/helpers/_/_update/package.json +4 -0
- package/node_modules/@swc/helpers/_/_using/package.json +4 -0
- package/node_modules/@swc/helpers/_/_using_ctx/package.json +4 -0
- package/node_modules/@swc/helpers/_/_wrap_async_generator/package.json +4 -0
- package/node_modules/@swc/helpers/_/_wrap_native_super/package.json +4 -0
- package/node_modules/@swc/helpers/_/_write_only_error/package.json +4 -0
- package/node_modules/@swc/helpers/_/index/package.json +4 -0
- package/node_modules/@swc/helpers/cjs/_apply_decorated_descriptor.cjs +35 -0
- package/node_modules/@swc/helpers/cjs/_apply_decs_2203_r.cjs +550 -0
- package/node_modules/@swc/helpers/cjs/_array_like_to_array.cjs +10 -0
- package/node_modules/@swc/helpers/cjs/_array_with_holes.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_array_without_holes.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_assert_this_initialized.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_async_generator.cjs +78 -0
- package/node_modules/@swc/helpers/cjs/_async_generator_delegate.cjs +49 -0
- package/node_modules/@swc/helpers/cjs/_async_iterator.cjs +46 -0
- package/node_modules/@swc/helpers/cjs/_async_to_generator.cjs +33 -0
- package/node_modules/@swc/helpers/cjs/_await_async_generator.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_await_value.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_call_super.cjs +19 -0
- package/node_modules/@swc/helpers/cjs/_check_private_redeclaration.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_class_apply_descriptor_destructure.cjs +25 -0
- package/node_modules/@swc/helpers/cjs/_class_apply_descriptor_get.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_class_apply_descriptor_set.cjs +15 -0
- package/node_modules/@swc/helpers/cjs/_class_apply_descriptor_update.cjs +30 -0
- package/node_modules/@swc/helpers/cjs/_class_call_check.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_class_check_private_static_access.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_class_check_private_static_field_descriptor.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_class_extract_field_descriptor.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_class_name_tdz_error.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_class_private_field_destructure.cjs +10 -0
- package/node_modules/@swc/helpers/cjs/_class_private_field_get.cjs +10 -0
- package/node_modules/@swc/helpers/cjs/_class_private_field_init.cjs +9 -0
- package/node_modules/@swc/helpers/cjs/_class_private_field_loose_base.cjs +10 -0
- package/node_modules/@swc/helpers/cjs/_class_private_field_loose_key.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_class_private_field_set.cjs +11 -0
- package/node_modules/@swc/helpers/cjs/_class_private_field_update.cjs +10 -0
- package/node_modules/@swc/helpers/cjs/_class_private_method_get.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_class_private_method_init.cjs +9 -0
- package/node_modules/@swc/helpers/cjs/_class_private_method_set.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_class_static_private_field_destructure.cjs +13 -0
- package/node_modules/@swc/helpers/cjs/_class_static_private_field_spec_get.cjs +13 -0
- package/node_modules/@swc/helpers/cjs/_class_static_private_field_spec_set.cjs +14 -0
- package/node_modules/@swc/helpers/cjs/_class_static_private_field_update.cjs +13 -0
- package/node_modules/@swc/helpers/cjs/_class_static_private_method_get.cjs +10 -0
- package/node_modules/@swc/helpers/cjs/_construct.cjs +22 -0
- package/node_modules/@swc/helpers/cjs/_create_class.cjs +20 -0
- package/node_modules/@swc/helpers/cjs/_create_for_of_iterator_helper_loose.cjs +24 -0
- package/node_modules/@swc/helpers/cjs/_create_super.cjs +23 -0
- package/node_modules/@swc/helpers/cjs/_decorate.cjs +270 -0
- package/node_modules/@swc/helpers/cjs/_defaults.cjs +15 -0
- package/node_modules/@swc/helpers/cjs/_define_enumerable_properties.cjs +26 -0
- package/node_modules/@swc/helpers/cjs/_define_property.cjs +10 -0
- package/node_modules/@swc/helpers/cjs/_dispose.cjs +43 -0
- package/node_modules/@swc/helpers/cjs/_export_star.cjs +17 -0
- package/node_modules/@swc/helpers/cjs/_extends.cjs +15 -0
- package/node_modules/@swc/helpers/cjs/_get.cjs +23 -0
- package/node_modules/@swc/helpers/cjs/_get_prototype_of.cjs +10 -0
- package/node_modules/@swc/helpers/cjs/_identity.cjs +7 -0
- package/node_modules/@swc/helpers/cjs/_inherits.cjs +14 -0
- package/node_modules/@swc/helpers/cjs/_inherits_loose.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_initializer_define_property.cjs +13 -0
- package/node_modules/@swc/helpers/cjs/_initializer_warning_helper.cjs +11 -0
- package/node_modules/@swc/helpers/cjs/_instanceof.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_interop_require_default.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs +38 -0
- package/node_modules/@swc/helpers/cjs/_is_native_function.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_is_native_reflect_construct.cjs +18 -0
- package/node_modules/@swc/helpers/cjs/_iterable_to_array.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_iterable_to_array_limit.cjs +31 -0
- package/node_modules/@swc/helpers/cjs/_iterable_to_array_limit_loose.cjs +17 -0
- package/node_modules/@swc/helpers/cjs/_jsx.cjs +28 -0
- package/node_modules/@swc/helpers/cjs/_new_arrow_check.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_non_iterable_rest.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_non_iterable_spread.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_object_destructuring_empty.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_object_spread.cjs +25 -0
- package/node_modules/@swc/helpers/cjs/_object_spread_props.cjs +30 -0
- package/node_modules/@swc/helpers/cjs/_object_without_properties.cjs +23 -0
- package/node_modules/@swc/helpers/cjs/_object_without_properties_loose.cjs +18 -0
- package/node_modules/@swc/helpers/cjs/_possible_constructor_return.cjs +11 -0
- package/node_modules/@swc/helpers/cjs/_read_only_error.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_set.cjs +44 -0
- package/node_modules/@swc/helpers/cjs/_set_prototype_of.cjs +12 -0
- package/node_modules/@swc/helpers/cjs/_skip_first_generator_next.cjs +11 -0
- package/node_modules/@swc/helpers/cjs/_sliced_to_array.cjs +11 -0
- package/node_modules/@swc/helpers/cjs/_sliced_to_array_loose.cjs +11 -0
- package/node_modules/@swc/helpers/cjs/_super_prop_base.cjs +13 -0
- package/node_modules/@swc/helpers/cjs/_tagged_template_literal.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_tagged_template_literal_loose.cjs +10 -0
- package/node_modules/@swc/helpers/cjs/_throw.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_to_array.cjs +11 -0
- package/node_modules/@swc/helpers/cjs/_to_consumable_array.cjs +11 -0
- package/node_modules/@swc/helpers/cjs/_to_primitive.cjs +18 -0
- package/node_modules/@swc/helpers/cjs/_to_property_key.cjs +11 -0
- package/node_modules/@swc/helpers/cjs/_ts_add_disposable_resource.cjs +3 -0
- package/node_modules/@swc/helpers/cjs/_ts_decorate.cjs +3 -0
- package/node_modules/@swc/helpers/cjs/_ts_dispose_resources.cjs +3 -0
- package/node_modules/@swc/helpers/cjs/_ts_generator.cjs +3 -0
- package/node_modules/@swc/helpers/cjs/_ts_metadata.cjs +3 -0
- package/node_modules/@swc/helpers/cjs/_ts_param.cjs +3 -0
- package/node_modules/@swc/helpers/cjs/_ts_values.cjs +3 -0
- package/node_modules/@swc/helpers/cjs/_type_of.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_unsupported_iterable_to_array.cjs +15 -0
- package/node_modules/@swc/helpers/cjs/_update.cjs +16 -0
- package/node_modules/@swc/helpers/cjs/_using.cjs +24 -0
- package/node_modules/@swc/helpers/cjs/_using_ctx.cjs +75 -0
- package/node_modules/@swc/helpers/cjs/_wrap_async_generator.cjs +10 -0
- package/node_modules/@swc/helpers/cjs/_wrap_native_super.cjs +28 -0
- package/node_modules/@swc/helpers/cjs/_write_only_error.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/index.cjs +423 -0
- package/node_modules/@swc/helpers/esm/_apply_decorated_descriptor.js +33 -0
- package/node_modules/@swc/helpers/esm/_apply_decs_2203_r.js +548 -0
- package/node_modules/@swc/helpers/esm/_array_like_to_array.js +8 -0
- package/node_modules/@swc/helpers/esm/_array_with_holes.js +4 -0
- package/node_modules/@swc/helpers/esm/_array_without_holes.js +6 -0
- package/node_modules/@swc/helpers/esm/_assert_this_initialized.js +6 -0
- package/node_modules/@swc/helpers/esm/_async_generator.js +76 -0
- package/node_modules/@swc/helpers/esm/_async_generator_delegate.js +47 -0
- package/node_modules/@swc/helpers/esm/_async_iterator.js +44 -0
- package/node_modules/@swc/helpers/esm/_async_to_generator.js +31 -0
- package/node_modules/@swc/helpers/esm/_await_async_generator.js +6 -0
- package/node_modules/@swc/helpers/esm/_await_value.js +4 -0
- package/node_modules/@swc/helpers/esm/_call_super.js +17 -0
- package/node_modules/@swc/helpers/esm/_check_private_redeclaration.js +6 -0
- package/node_modules/@swc/helpers/esm/_class_apply_descriptor_destructure.js +23 -0
- package/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.js +6 -0
- package/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.js +13 -0
- package/node_modules/@swc/helpers/esm/_class_apply_descriptor_update.js +28 -0
- package/node_modules/@swc/helpers/esm/_class_call_check.js +4 -0
- package/node_modules/@swc/helpers/esm/_class_check_private_static_access.js +4 -0
- package/node_modules/@swc/helpers/esm/_class_check_private_static_field_descriptor.js +6 -0
- package/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.js +6 -0
- package/node_modules/@swc/helpers/esm/_class_name_tdz_error.js +4 -0
- package/node_modules/@swc/helpers/esm/_class_private_field_destructure.js +8 -0
- package/node_modules/@swc/helpers/esm/_class_private_field_get.js +8 -0
- package/node_modules/@swc/helpers/esm/_class_private_field_init.js +7 -0
- package/node_modules/@swc/helpers/esm/_class_private_field_loose_base.js +8 -0
- package/node_modules/@swc/helpers/esm/_class_private_field_loose_key.js +6 -0
- package/node_modules/@swc/helpers/esm/_class_private_field_set.js +9 -0
- package/node_modules/@swc/helpers/esm/_class_private_field_update.js +8 -0
- package/node_modules/@swc/helpers/esm/_class_private_method_get.js +6 -0
- package/node_modules/@swc/helpers/esm/_class_private_method_init.js +7 -0
- package/node_modules/@swc/helpers/esm/_class_private_method_set.js +4 -0
- package/node_modules/@swc/helpers/esm/_class_static_private_field_destructure.js +11 -0
- package/node_modules/@swc/helpers/esm/_class_static_private_field_spec_get.js +11 -0
- package/node_modules/@swc/helpers/esm/_class_static_private_field_spec_set.js +12 -0
- package/node_modules/@swc/helpers/esm/_class_static_private_field_update.js +11 -0
- package/node_modules/@swc/helpers/esm/_class_static_private_method_get.js +8 -0
- package/node_modules/@swc/helpers/esm/_construct.js +20 -0
- package/node_modules/@swc/helpers/esm/_create_class.js +18 -0
- package/node_modules/@swc/helpers/esm/_create_for_of_iterator_helper_loose.js +22 -0
- package/node_modules/@swc/helpers/esm/_create_super.js +21 -0
- package/node_modules/@swc/helpers/esm/_decorate.js +268 -0
- package/node_modules/@swc/helpers/esm/_defaults.js +13 -0
- package/node_modules/@swc/helpers/esm/_define_enumerable_properties.js +24 -0
- package/node_modules/@swc/helpers/esm/_define_property.js +8 -0
- package/node_modules/@swc/helpers/esm/_dispose.js +41 -0
- package/node_modules/@swc/helpers/esm/_export_star.js +15 -0
- package/node_modules/@swc/helpers/esm/_extends.js +13 -0
- package/node_modules/@swc/helpers/esm/_get.js +21 -0
- package/node_modules/@swc/helpers/esm/_get_prototype_of.js +8 -0
- package/node_modules/@swc/helpers/esm/_identity.js +5 -0
- package/node_modules/@swc/helpers/esm/_inherits.js +12 -0
- package/node_modules/@swc/helpers/esm/_inherits_loose.js +6 -0
- package/node_modules/@swc/helpers/esm/_initializer_define_property.js +11 -0
- package/node_modules/@swc/helpers/esm/_initializer_warning_helper.js +9 -0
- package/node_modules/@swc/helpers/esm/_instanceof.js +6 -0
- package/node_modules/@swc/helpers/esm/_interop_require_default.js +4 -0
- package/node_modules/@swc/helpers/esm/_interop_require_wildcard.js +36 -0
- package/node_modules/@swc/helpers/esm/_is_native_function.js +4 -0
- package/node_modules/@swc/helpers/esm/_is_native_reflect_construct.js +16 -0
- package/node_modules/@swc/helpers/esm/_iterable_to_array.js +6 -0
- package/node_modules/@swc/helpers/esm/_iterable_to_array_limit.js +29 -0
- package/node_modules/@swc/helpers/esm/_iterable_to_array_limit_loose.js +15 -0
- package/node_modules/@swc/helpers/esm/_jsx.js +26 -0
- package/node_modules/@swc/helpers/esm/_new_arrow_check.js +4 -0
- package/node_modules/@swc/helpers/esm/_non_iterable_rest.js +4 -0
- package/node_modules/@swc/helpers/esm/_non_iterable_spread.js +4 -0
- package/node_modules/@swc/helpers/esm/_object_destructuring_empty.js +6 -0
- package/node_modules/@swc/helpers/esm/_object_spread.js +23 -0
- package/node_modules/@swc/helpers/esm/_object_spread_props.js +28 -0
- package/node_modules/@swc/helpers/esm/_object_without_properties.js +21 -0
- package/node_modules/@swc/helpers/esm/_object_without_properties_loose.js +16 -0
- package/node_modules/@swc/helpers/esm/_possible_constructor_return.js +9 -0
- package/node_modules/@swc/helpers/esm/_read_only_error.js +4 -0
- package/node_modules/@swc/helpers/esm/_set.js +42 -0
- package/node_modules/@swc/helpers/esm/_set_prototype_of.js +10 -0
- package/node_modules/@swc/helpers/esm/_skip_first_generator_next.js +9 -0
- package/node_modules/@swc/helpers/esm/_sliced_to_array.js +9 -0
- package/node_modules/@swc/helpers/esm/_sliced_to_array_loose.js +9 -0
- package/node_modules/@swc/helpers/esm/_super_prop_base.js +11 -0
- package/node_modules/@swc/helpers/esm/_tagged_template_literal.js +6 -0
- package/node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js +8 -0
- package/node_modules/@swc/helpers/esm/_throw.js +4 -0
- package/node_modules/@swc/helpers/esm/_to_array.js +9 -0
- package/node_modules/@swc/helpers/esm/_to_consumable_array.js +9 -0
- package/node_modules/@swc/helpers/esm/_to_primitive.js +16 -0
- package/node_modules/@swc/helpers/esm/_to_property_key.js +9 -0
- package/node_modules/@swc/helpers/esm/_ts_add_disposable_resource.js +1 -0
- package/node_modules/@swc/helpers/esm/_ts_decorate.js +1 -0
- package/node_modules/@swc/helpers/esm/_ts_dispose_resources.js +1 -0
- package/node_modules/@swc/helpers/esm/_ts_generator.js +1 -0
- package/node_modules/@swc/helpers/esm/_ts_metadata.js +1 -0
- package/node_modules/@swc/helpers/esm/_ts_param.js +1 -0
- package/node_modules/@swc/helpers/esm/_ts_values.js +1 -0
- package/node_modules/@swc/helpers/esm/_type_of.js +6 -0
- package/node_modules/@swc/helpers/esm/_unsupported_iterable_to_array.js +13 -0
- package/node_modules/@swc/helpers/esm/_update.js +14 -0
- package/node_modules/@swc/helpers/esm/_using.js +22 -0
- package/node_modules/@swc/helpers/esm/_using_ctx.js +73 -0
- package/node_modules/@swc/helpers/esm/_wrap_async_generator.js +8 -0
- package/node_modules/@swc/helpers/esm/_wrap_native_super.js +26 -0
- package/node_modules/@swc/helpers/esm/_write_only_error.js +4 -0
- package/node_modules/@swc/helpers/esm/index.js +106 -0
- package/node_modules/@swc/helpers/node_modules/tslib/CopyrightNotice.txt +15 -0
- package/node_modules/@swc/helpers/node_modules/tslib/LICENSE.txt +12 -0
- package/node_modules/@swc/helpers/node_modules/tslib/README.md +164 -0
- package/node_modules/@swc/helpers/node_modules/tslib/SECURITY.md +41 -0
- package/node_modules/@swc/helpers/node_modules/tslib/modules/index.d.ts +38 -0
- package/node_modules/@swc/helpers/node_modules/tslib/modules/index.js +70 -0
- package/node_modules/@swc/helpers/node_modules/tslib/modules/package.json +3 -0
- package/node_modules/@swc/helpers/node_modules/tslib/package.json +47 -0
- package/node_modules/@swc/helpers/node_modules/tslib/tslib.d.ts +460 -0
- package/node_modules/@swc/helpers/node_modules/tslib/tslib.es6.html +1 -0
- package/node_modules/@swc/helpers/node_modules/tslib/tslib.es6.js +402 -0
- package/node_modules/@swc/helpers/node_modules/tslib/tslib.es6.mjs +401 -0
- package/node_modules/@swc/helpers/node_modules/tslib/tslib.html +1 -0
- package/node_modules/@swc/helpers/node_modules/tslib/tslib.js +484 -0
- package/node_modules/@swc/helpers/package.json +471 -0
- package/node_modules/@swc/helpers/scripts/ast_grep.js +229 -0
- package/node_modules/@swc/helpers/scripts/build.js +121 -0
- package/node_modules/@swc/helpers/scripts/errors.js +1 -0
- package/node_modules/@swc/helpers/scripts/utils.js +3 -0
- package/node_modules/@swc/helpers/src/_apply_decorated_descriptor.mjs +1 -0
- package/node_modules/@swc/helpers/src/_apply_decs_2203_r.mjs +1 -0
- package/node_modules/@swc/helpers/src/_array_like_to_array.mjs +1 -0
- package/node_modules/@swc/helpers/src/_array_with_holes.mjs +1 -0
- package/node_modules/@swc/helpers/src/_array_without_holes.mjs +1 -0
- package/node_modules/@swc/helpers/src/_assert_this_initialized.mjs +1 -0
- package/node_modules/@swc/helpers/src/_async_generator.mjs +1 -0
- package/node_modules/@swc/helpers/src/_async_generator_delegate.mjs +1 -0
- package/node_modules/@swc/helpers/src/_async_iterator.mjs +1 -0
- package/node_modules/@swc/helpers/src/_async_to_generator.mjs +1 -0
- package/node_modules/@swc/helpers/src/_await_async_generator.mjs +1 -0
- package/node_modules/@swc/helpers/src/_await_value.mjs +1 -0
- package/node_modules/@swc/helpers/src/_call_super.mjs +1 -0
- package/node_modules/@swc/helpers/src/_check_private_redeclaration.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_apply_descriptor_destructure.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_apply_descriptor_get.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_apply_descriptor_set.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_apply_descriptor_update.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_call_check.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_check_private_static_access.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_check_private_static_field_descriptor.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_extract_field_descriptor.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_name_tdz_error.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_private_field_destructure.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_private_field_get.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_private_field_init.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_private_field_loose_base.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_private_field_loose_key.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_private_field_set.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_private_field_update.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_private_method_get.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_private_method_init.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_private_method_set.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_static_private_field_destructure.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_static_private_field_spec_get.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_static_private_field_spec_set.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_static_private_field_update.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_static_private_method_get.mjs +1 -0
- package/node_modules/@swc/helpers/src/_construct.mjs +1 -0
- package/node_modules/@swc/helpers/src/_create_class.mjs +1 -0
- package/node_modules/@swc/helpers/src/_create_for_of_iterator_helper_loose.mjs +1 -0
- package/node_modules/@swc/helpers/src/_create_super.mjs +1 -0
- package/node_modules/@swc/helpers/src/_decorate.mjs +1 -0
- package/node_modules/@swc/helpers/src/_defaults.mjs +1 -0
- package/node_modules/@swc/helpers/src/_define_enumerable_properties.mjs +1 -0
- package/node_modules/@swc/helpers/src/_define_property.mjs +1 -0
- package/node_modules/@swc/helpers/src/_dispose.mjs +1 -0
- package/node_modules/@swc/helpers/src/_export_star.mjs +1 -0
- package/node_modules/@swc/helpers/src/_extends.mjs +1 -0
- package/node_modules/@swc/helpers/src/_get.mjs +1 -0
- package/node_modules/@swc/helpers/src/_get_prototype_of.mjs +1 -0
- package/node_modules/@swc/helpers/src/_identity.mjs +1 -0
- package/node_modules/@swc/helpers/src/_inherits.mjs +1 -0
- package/node_modules/@swc/helpers/src/_inherits_loose.mjs +1 -0
- package/node_modules/@swc/helpers/src/_initializer_define_property.mjs +1 -0
- package/node_modules/@swc/helpers/src/_initializer_warning_helper.mjs +1 -0
- package/node_modules/@swc/helpers/src/_instanceof.mjs +1 -0
- package/node_modules/@swc/helpers/src/_interop_require_default.mjs +1 -0
- package/node_modules/@swc/helpers/src/_interop_require_wildcard.mjs +1 -0
- package/node_modules/@swc/helpers/src/_is_native_function.mjs +1 -0
- package/node_modules/@swc/helpers/src/_is_native_reflect_construct.mjs +1 -0
- package/node_modules/@swc/helpers/src/_iterable_to_array.mjs +1 -0
- package/node_modules/@swc/helpers/src/_iterable_to_array_limit.mjs +1 -0
- package/node_modules/@swc/helpers/src/_iterable_to_array_limit_loose.mjs +1 -0
- package/node_modules/@swc/helpers/src/_jsx.mjs +1 -0
- package/node_modules/@swc/helpers/src/_new_arrow_check.mjs +1 -0
- package/node_modules/@swc/helpers/src/_non_iterable_rest.mjs +1 -0
- package/node_modules/@swc/helpers/src/_non_iterable_spread.mjs +1 -0
- package/node_modules/@swc/helpers/src/_object_destructuring_empty.mjs +1 -0
- package/node_modules/@swc/helpers/src/_object_spread.mjs +1 -0
- package/node_modules/@swc/helpers/src/_object_spread_props.mjs +1 -0
- package/node_modules/@swc/helpers/src/_object_without_properties.mjs +1 -0
- package/node_modules/@swc/helpers/src/_object_without_properties_loose.mjs +1 -0
- package/node_modules/@swc/helpers/src/_possible_constructor_return.mjs +1 -0
- package/node_modules/@swc/helpers/src/_read_only_error.mjs +1 -0
- package/node_modules/@swc/helpers/src/_set.mjs +1 -0
- package/node_modules/@swc/helpers/src/_set_prototype_of.mjs +1 -0
- package/node_modules/@swc/helpers/src/_skip_first_generator_next.mjs +1 -0
- package/node_modules/@swc/helpers/src/_sliced_to_array.mjs +1 -0
- package/node_modules/@swc/helpers/src/_sliced_to_array_loose.mjs +1 -0
- package/node_modules/@swc/helpers/src/_super_prop_base.mjs +1 -0
- package/node_modules/@swc/helpers/src/_tagged_template_literal.mjs +1 -0
- package/node_modules/@swc/helpers/src/_tagged_template_literal_loose.mjs +1 -0
- package/node_modules/@swc/helpers/src/_throw.mjs +1 -0
- package/node_modules/@swc/helpers/src/_to_array.mjs +1 -0
- package/node_modules/@swc/helpers/src/_to_consumable_array.mjs +1 -0
- package/node_modules/@swc/helpers/src/_to_primitive.mjs +1 -0
- package/node_modules/@swc/helpers/src/_to_property_key.mjs +1 -0
- package/node_modules/@swc/helpers/src/_ts_add_disposable_resource.mjs +1 -0
- package/node_modules/@swc/helpers/src/_ts_decorate.mjs +1 -0
- package/node_modules/@swc/helpers/src/_ts_dispose_resources.mjs +1 -0
- package/node_modules/@swc/helpers/src/_ts_generator.mjs +1 -0
- package/node_modules/@swc/helpers/src/_ts_metadata.mjs +1 -0
- package/node_modules/@swc/helpers/src/_ts_param.mjs +1 -0
- package/node_modules/@swc/helpers/src/_ts_values.mjs +1 -0
- package/node_modules/@swc/helpers/src/_type_of.mjs +1 -0
- package/node_modules/@swc/helpers/src/_unsupported_iterable_to_array.mjs +1 -0
- package/node_modules/@swc/helpers/src/_update.mjs +1 -0
- package/node_modules/@swc/helpers/src/_using.mjs +1 -0
- package/node_modules/@swc/helpers/src/_using_ctx.mjs +1 -0
- package/node_modules/@swc/helpers/src/_wrap_async_generator.mjs +1 -0
- package/node_modules/@swc/helpers/src/_wrap_native_super.mjs +1 -0
- package/node_modules/@swc/helpers/src/_write_only_error.mjs +1 -0
- package/node_modules/@swc/helpers/src/index.mjs +1 -0
- package/node_modules/@types/connect/LICENSE +21 -0
- package/node_modules/@types/connect/README.md +15 -0
- package/node_modules/@types/connect/index.d.ts +91 -0
- package/node_modules/@types/connect/package.json +32 -0
- package/node_modules/@types/node/LICENSE +21 -0
- package/node_modules/@types/node/README.md +15 -0
- package/node_modules/@types/node/assert/strict.d.ts +8 -0
- package/node_modules/@types/node/assert.d.ts +1095 -0
- package/node_modules/@types/node/async_hooks.d.ts +541 -0
- package/node_modules/@types/node/buffer.buffer.d.ts +460 -0
- package/node_modules/@types/node/buffer.d.ts +1926 -0
- package/node_modules/@types/node/child_process.d.ts +1549 -0
- package/node_modules/@types/node/cluster.d.ts +579 -0
- package/node_modules/@types/node/compatibility/disposable.d.ts +16 -0
- package/node_modules/@types/node/compatibility/index.d.ts +9 -0
- package/node_modules/@types/node/compatibility/indexable.d.ts +23 -0
- package/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
- package/node_modules/@types/node/console.d.ts +452 -0
- package/node_modules/@types/node/constants.d.ts +21 -0
- package/node_modules/@types/node/crypto.d.ts +4510 -0
- package/node_modules/@types/node/dgram.d.ts +599 -0
- package/node_modules/@types/node/diagnostics_channel.d.ts +554 -0
- package/node_modules/@types/node/dns/promises.d.ts +476 -0
- package/node_modules/@types/node/dns.d.ts +865 -0
- package/node_modules/@types/node/dom-events.d.ts +124 -0
- package/node_modules/@types/node/domain.d.ts +170 -0
- package/node_modules/@types/node/events.d.ts +931 -0
- package/node_modules/@types/node/fs/promises.d.ts +1275 -0
- package/node_modules/@types/node/fs.d.ts +4354 -0
- package/node_modules/@types/node/globals.d.ts +511 -0
- package/node_modules/@types/node/globals.typedarray.d.ts +21 -0
- package/node_modules/@types/node/http.d.ts +1959 -0
- package/node_modules/@types/node/http2.d.ts +2558 -0
- package/node_modules/@types/node/https.d.ts +543 -0
- package/node_modules/@types/node/index.d.ts +92 -0
- package/node_modules/@types/node/inspector.d.ts +3966 -0
- package/node_modules/@types/node/module.d.ts +702 -0
- package/node_modules/@types/node/net.d.ts +1029 -0
- package/node_modules/@types/node/os.d.ts +495 -0
- package/node_modules/@types/node/package.json +220 -0
- package/node_modules/@types/node/path.d.ts +200 -0
- package/node_modules/@types/node/perf_hooks.d.ts +970 -0
- package/node_modules/@types/node/process.d.ts +2013 -0
- package/node_modules/@types/node/punycode.d.ts +117 -0
- package/node_modules/@types/node/querystring.d.ts +153 -0
- package/node_modules/@types/node/readline/promises.d.ts +162 -0
- package/node_modules/@types/node/readline.d.ts +589 -0
- package/node_modules/@types/node/repl.d.ts +430 -0
- package/node_modules/@types/node/sea.d.ts +153 -0
- package/node_modules/@types/node/sqlite.d.ts +439 -0
- package/node_modules/@types/node/stream/consumers.d.ts +38 -0
- package/node_modules/@types/node/stream/promises.d.ts +90 -0
- package/node_modules/@types/node/stream/web.d.ts +614 -0
- package/node_modules/@types/node/stream.d.ts +1662 -0
- package/node_modules/@types/node/string_decoder.d.ts +67 -0
- package/node_modules/@types/node/test.d.ts +2150 -0
- package/node_modules/@types/node/timers/promises.d.ts +97 -0
- package/node_modules/@types/node/timers.d.ts +240 -0
- package/node_modules/@types/node/tls.d.ts +1226 -0
- package/node_modules/@types/node/trace_events.d.ts +197 -0
- package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +457 -0
- package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +19 -0
- package/node_modules/@types/node/ts5.6/index.d.ts +92 -0
- package/node_modules/@types/node/tty.d.ts +208 -0
- package/node_modules/@types/node/url.d.ts +972 -0
- package/node_modules/@types/node/util.d.ts +2439 -0
- package/node_modules/@types/node/v8.d.ts +808 -0
- package/node_modules/@types/node/vm.d.ts +976 -0
- package/node_modules/@types/node/wasi.d.ts +181 -0
- package/node_modules/@types/node/worker_threads.d.ts +745 -0
- package/node_modules/@types/node/zlib.d.ts +539 -0
- package/node_modules/@types/uuid/LICENSE +21 -0
- package/node_modules/@types/uuid/README.md +16 -0
- package/node_modules/@types/uuid/index.d.mts +10 -0
- package/node_modules/@types/uuid/index.d.ts +80 -0
- package/node_modules/@types/uuid/package.json +54 -0
- package/node_modules/@types/ws/LICENSE +21 -0
- package/node_modules/@types/ws/README.md +16 -0
- package/node_modules/@types/ws/index.d.ts +353 -0
- package/node_modules/@types/ws/package.json +57 -0
- package/node_modules/JSONStream/.travis.yml +8 -0
- package/node_modules/JSONStream/LICENSE.APACHE2 +15 -0
- package/node_modules/JSONStream/LICENSE.MIT +24 -0
- package/node_modules/JSONStream/bin.js +12 -0
- package/node_modules/JSONStream/examples/all_docs.js +13 -0
- package/node_modules/JSONStream/index.js +247 -0
- package/node_modules/JSONStream/package.json +40 -0
- package/node_modules/JSONStream/readme.markdown +207 -0
- package/node_modules/JSONStream/test/bool.js +41 -0
- package/node_modules/JSONStream/test/browser.js +18 -0
- package/node_modules/JSONStream/test/destroy_missing.js +27 -0
- package/node_modules/JSONStream/test/doubledot1.js +29 -0
- package/node_modules/JSONStream/test/doubledot2.js +30 -0
- package/node_modules/JSONStream/test/empty.js +44 -0
- package/node_modules/JSONStream/test/error_contents.js +45 -0
- package/node_modules/JSONStream/test/fixtures/all_npm.json +4030 -0
- package/node_modules/JSONStream/test/fixtures/couch_sample.json +18 -0
- package/node_modules/JSONStream/test/fixtures/depth.json +15 -0
- package/node_modules/JSONStream/test/fixtures/error.json +1 -0
- package/node_modules/JSONStream/test/fixtures/header_footer.json +19 -0
- package/node_modules/JSONStream/test/fn.js +39 -0
- package/node_modules/JSONStream/test/gen.js +135 -0
- package/node_modules/JSONStream/test/header_footer.js +55 -0
- package/node_modules/JSONStream/test/issues.js +34 -0
- package/node_modules/JSONStream/test/keys.js +105 -0
- package/node_modules/JSONStream/test/map.js +40 -0
- package/node_modules/JSONStream/test/multiple_objects.js +36 -0
- package/node_modules/JSONStream/test/multiple_objects_error.js +29 -0
- package/node_modules/JSONStream/test/null.js +28 -0
- package/node_modules/JSONStream/test/parsejson.js +29 -0
- package/node_modules/JSONStream/test/run.js +13 -0
- package/node_modules/JSONStream/test/stringify.js +41 -0
- package/node_modules/JSONStream/test/stringify_object.js +47 -0
- package/node_modules/JSONStream/test/test.js +35 -0
- package/node_modules/JSONStream/test/test2.js +29 -0
- package/node_modules/JSONStream/test/two-ways.js +41 -0
- package/node_modules/agentkeepalive/LICENSE +23 -0
- package/node_modules/agentkeepalive/README.md +256 -0
- package/node_modules/agentkeepalive/browser.js +5 -0
- package/node_modules/agentkeepalive/index.d.ts +69 -0
- package/node_modules/agentkeepalive/index.js +7 -0
- package/node_modules/agentkeepalive/lib/agent.js +402 -0
- package/node_modules/agentkeepalive/lib/constants.js +14 -0
- package/node_modules/agentkeepalive/lib/https_agent.js +51 -0
- package/node_modules/agentkeepalive/package.json +56 -0
- package/node_modules/base-x/LICENSE.md +22 -0
- package/node_modules/base-x/README.md +67 -0
- package/node_modules/base-x/package.json +49 -0
- package/node_modules/base-x/src/index.d.ts +10 -0
- package/node_modules/base-x/src/index.js +123 -0
- package/node_modules/base64-js/LICENSE +21 -0
- package/node_modules/base64-js/README.md +34 -0
- package/node_modules/base64-js/base64js.min.js +1 -0
- package/node_modules/base64-js/index.d.ts +3 -0
- package/node_modules/base64-js/index.js +150 -0
- package/node_modules/base64-js/package.json +47 -0
- package/node_modules/bigint-buffer/.travis.yml +51 -0
- package/node_modules/bigint-buffer/LICENSE +202 -0
- package/node_modules/bigint-buffer/README.md +121 -0
- package/node_modules/bigint-buffer/binding.gyp +8 -0
- package/node_modules/bigint-buffer/build/Makefile +347 -0
- package/node_modules/bigint-buffer/build/Release/.deps/Release/bigint_buffer.node.d +1 -0
- package/node_modules/bigint-buffer/build/Release/.deps/Release/obj.target/bigint_buffer/src/bigint-buffer.o.d +12 -0
- package/node_modules/bigint-buffer/build/Release/bigint_buffer.node +0 -0
- package/node_modules/bigint-buffer/build/Release/obj.target/bigint_buffer/src/bigint-buffer.o +0 -0
- package/node_modules/bigint-buffer/build/bigint_buffer.target.mk +180 -0
- package/node_modules/bigint-buffer/build/binding.Makefile +6 -0
- package/node_modules/bigint-buffer/build/config.gypi +450 -0
- package/node_modules/bigint-buffer/build/gyp-mac-tool +772 -0
- package/node_modules/bigint-buffer/dist/browser.js +69 -0
- package/node_modules/bigint-buffer/dist/index.bench.d.ts +1 -0
- package/node_modules/bigint-buffer/dist/index.d.ts +27 -0
- package/node_modules/bigint-buffer/dist/index.spec.d.ts +1 -0
- package/node_modules/bigint-buffer/dist/node.js +77 -0
- package/node_modules/bigint-buffer/helper/bigint.d.ts +3 -0
- package/node_modules/bigint-buffer/karma.conf.js +62 -0
- package/node_modules/bigint-buffer/package.json +89 -0
- package/node_modules/bigint-buffer/rollup.config.js +13 -0
- package/node_modules/bigint-buffer/src/bigint-buffer.c +203 -0
- package/node_modules/bigint-buffer/src/index.bench.ts +207 -0
- package/node_modules/bigint-buffer/src/index.spec.ts +288 -0
- package/node_modules/bigint-buffer/src/index.ts +84 -0
- package/node_modules/bigint-buffer/tsconfig.json +19 -0
- package/node_modules/bindings/LICENSE.md +22 -0
- package/node_modules/bindings/README.md +98 -0
- package/node_modules/bindings/bindings.js +221 -0
- package/node_modules/bindings/package.json +28 -0
- package/node_modules/bn.js/LICENSE +19 -0
- package/node_modules/bn.js/README.md +214 -0
- package/node_modules/bn.js/lib/bn.js +3547 -0
- package/node_modules/bn.js/package.json +39 -0
- package/node_modules/borsh/LICENSE-APACHE +201 -0
- package/node_modules/borsh/LICENSE-MIT.txt +23 -0
- package/node_modules/borsh/README.md +83 -0
- package/node_modules/borsh/lib/index.d.ts +52 -0
- package/node_modules/borsh/lib/index.js +440 -0
- package/node_modules/borsh/package.json +61 -0
- package/node_modules/bs58/README.md +71 -0
- package/node_modules/bs58/index.js +4 -0
- package/node_modules/bs58/package.json +37 -0
- package/node_modules/buffer/AUTHORS.md +73 -0
- package/node_modules/buffer/LICENSE +21 -0
- package/node_modules/buffer/README.md +410 -0
- package/node_modules/buffer/index.d.ts +194 -0
- package/node_modules/buffer/index.js +2106 -0
- package/node_modules/buffer/package.json +93 -0
- package/node_modules/buffer-layout/.eslintrc.js +45 -0
- package/node_modules/buffer-layout/.travis.yml +9 -0
- package/node_modules/buffer-layout/CHANGELOG.md +222 -0
- package/node_modules/buffer-layout/LICENSE +21 -0
- package/node_modules/buffer-layout/README.md +397 -0
- package/node_modules/buffer-layout/jsdoc/conf.json +10 -0
- package/node_modules/buffer-layout/jsdoc/custom/local.js +75 -0
- package/node_modules/buffer-layout/lib/Layout.js +2712 -0
- package/node_modules/buffer-layout/package.json +40 -0
- package/node_modules/buffer-layout/test/LayoutTest.js +2162 -0
- package/node_modules/buffer-layout/test/examples.c +112 -0
- package/node_modules/buffer-layout/test/examples.js +259 -0
- package/node_modules/buffer-layout/test/n64.c +71 -0
- package/node_modules/buffer-layout/x.js +36 -0
- package/node_modules/bufferutil/LICENSE +20 -0
- package/node_modules/bufferutil/README.md +79 -0
- package/node_modules/bufferutil/binding.gyp +32 -0
- package/node_modules/bufferutil/fallback.js +34 -0
- package/node_modules/bufferutil/index.js +7 -0
- package/node_modules/bufferutil/package.json +36 -0
- package/node_modules/bufferutil/prebuilds/darwin-x64+arm64/bufferutil.node +0 -0
- package/node_modules/bufferutil/prebuilds/linux-x64/bufferutil.node +0 -0
- package/node_modules/bufferutil/prebuilds/win32-ia32/bufferutil.node +0 -0
- package/node_modules/bufferutil/prebuilds/win32-x64/bufferutil.node +0 -0
- package/node_modules/bufferutil/src/bufferutil.c +171 -0
- package/node_modules/commander/LICENSE +22 -0
- package/node_modules/commander/Readme.md +428 -0
- package/node_modules/commander/index.js +1224 -0
- package/node_modules/commander/package.json +38 -0
- package/node_modules/commander/typings/index.d.ts +310 -0
- package/node_modules/cross-fetch/LICENSE +21 -0
- package/node_modules/cross-fetch/README.md +169 -0
- package/node_modules/cross-fetch/dist/browser-polyfill.js +658 -0
- package/node_modules/cross-fetch/dist/browser-ponyfill.js +686 -0
- package/node_modules/cross-fetch/dist/cross-fetch.js +2 -0
- package/node_modules/cross-fetch/dist/cross-fetch.js.map +1 -0
- package/node_modules/cross-fetch/dist/node-polyfill.js +11 -0
- package/node_modules/cross-fetch/dist/node-ponyfill.js +22 -0
- package/node_modules/cross-fetch/dist/react-native-polyfill.js +12 -0
- package/node_modules/cross-fetch/dist/react-native-ponyfill.js +6 -0
- package/node_modules/cross-fetch/index.d.ts +14 -0
- package/node_modules/cross-fetch/package.json +127 -0
- package/node_modules/cross-fetch/polyfill/package.json +8 -0
- package/node_modules/delay/index.d.ts +107 -0
- package/node_modules/delay/index.js +72 -0
- package/node_modules/delay/license +9 -0
- package/node_modules/delay/package.json +54 -0
- package/node_modules/delay/readme.md +173 -0
- package/node_modules/es6-promise/LICENSE +19 -0
- package/node_modules/es6-promise/README.md +97 -0
- package/node_modules/es6-promise/auto.js +4 -0
- package/node_modules/es6-promise/dist/es6-promise.auto.js +1176 -0
- package/node_modules/es6-promise/dist/es6-promise.auto.map +1 -0
- package/node_modules/es6-promise/dist/es6-promise.auto.min.js +1 -0
- package/node_modules/es6-promise/dist/es6-promise.auto.min.map +1 -0
- package/node_modules/es6-promise/dist/es6-promise.js +1174 -0
- package/node_modules/es6-promise/dist/es6-promise.map +1 -0
- package/node_modules/es6-promise/dist/es6-promise.min.js +1 -0
- package/node_modules/es6-promise/dist/es6-promise.min.map +1 -0
- package/node_modules/es6-promise/es6-promise.d.ts +85 -0
- package/node_modules/es6-promise/lib/es6-promise/-internal.js +243 -0
- package/node_modules/es6-promise/lib/es6-promise/asap.js +119 -0
- package/node_modules/es6-promise/lib/es6-promise/enumerator.js +124 -0
- package/node_modules/es6-promise/lib/es6-promise/polyfill.js +35 -0
- package/node_modules/es6-promise/lib/es6-promise/promise/all.js +52 -0
- package/node_modules/es6-promise/lib/es6-promise/promise/race.js +84 -0
- package/node_modules/es6-promise/lib/es6-promise/promise/reject.js +46 -0
- package/node_modules/es6-promise/lib/es6-promise/promise/resolve.js +48 -0
- package/node_modules/es6-promise/lib/es6-promise/promise.js +431 -0
- package/node_modules/es6-promise/lib/es6-promise/then.js +32 -0
- package/node_modules/es6-promise/lib/es6-promise/utils.js +21 -0
- package/node_modules/es6-promise/lib/es6-promise.auto.js +3 -0
- package/node_modules/es6-promise/lib/es6-promise.js +7 -0
- package/node_modules/es6-promise/package.json +78 -0
- package/node_modules/es6-promisify/README.md +89 -0
- package/node_modules/es6-promisify/dist/promise.js +73 -0
- package/node_modules/es6-promisify/dist/promisify.js +85 -0
- package/node_modules/es6-promisify/package.json +41 -0
- package/node_modules/eventemitter3/LICENSE +21 -0
- package/node_modules/eventemitter3/README.md +94 -0
- package/node_modules/eventemitter3/index.d.ts +134 -0
- package/node_modules/eventemitter3/index.js +336 -0
- package/node_modules/eventemitter3/package.json +56 -0
- package/node_modules/eventemitter3/umd/eventemitter3.js +340 -0
- package/node_modules/eventemitter3/umd/eventemitter3.min.js +1 -0
- package/node_modules/eventemitter3/umd/eventemitter3.min.js.map +1 -0
- package/node_modules/eyes/LICENSE +20 -0
- package/node_modules/eyes/Makefile +4 -0
- package/node_modules/eyes/README.md +73 -0
- package/node_modules/eyes/lib/eyes.js +236 -0
- package/node_modules/eyes/package.json +14 -0
- package/node_modules/eyes/test/eyes-test.js +56 -0
- package/node_modules/fast-stable-stringify/.npmignore +4 -0
- package/node_modules/fast-stable-stringify/.travis.yml +10 -0
- package/node_modules/fast-stable-stringify/LICENSE +21 -0
- package/node_modules/fast-stable-stringify/README.md +81 -0
- package/node_modules/fast-stable-stringify/cli/files-to-comparison-results.js +67 -0
- package/node_modules/fast-stable-stringify/cli/format-table.js +70 -0
- package/node_modules/fast-stable-stringify/cli/index.js +19 -0
- package/node_modules/fast-stable-stringify/fixtures/index.js +5 -0
- package/node_modules/fast-stable-stringify/fixtures/input-data-types.js +191 -0
- package/node_modules/fast-stable-stringify/fixtures/log-result.json +22 -0
- package/node_modules/fast-stable-stringify/fixtures/log.txt +24 -0
- package/node_modules/fast-stable-stringify/index.js +73 -0
- package/node_modules/fast-stable-stringify/karma.conf.js +124 -0
- package/node_modules/fast-stable-stringify/karma.conf.travis.js +95 -0
- package/node_modules/fast-stable-stringify/package.json +47 -0
- package/node_modules/fast-stable-stringify/results/escape-long/Chrome 60.0.3112 (Windows 7 0.0.0).json +57 -0
- package/node_modules/fast-stable-stringify/results/escape-long/Chrome Mobile 55.0.2883 (Android 6.0.0).json +57 -0
- package/node_modules/fast-stable-stringify/results/escape-long/Edge 14.14393.0 (Windows 10 0.0.0).json +57 -0
- package/node_modules/fast-stable-stringify/results/escape-long/Firefox 54.0.0 (Windows 7 0.0.0).json +57 -0
- package/node_modules/fast-stable-stringify/results/escape-long/IE 10.0.0 (Windows 7 0.0.0).json +57 -0
- package/node_modules/fast-stable-stringify/results/escape-long/IE 11.0.0 (Windows 7 0.0.0).json +57 -0
- package/node_modules/fast-stable-stringify/results/escape-long/IE 9.0.0 (Windows 7 0.0.0).json +57 -0
- package/node_modules/fast-stable-stringify/results/escape-long/Mobile Safari 10.0.0 (iOS 10.3.0).json +57 -0
- package/node_modules/fast-stable-stringify/results/escape-long/Safari 10.0.1 (Mac OS X 10.12.1).json +57 -0
- package/node_modules/fast-stable-stringify/results/escape-short/Chrome 60.0.3112 (Windows 7 0.0.0).json +57 -0
- package/node_modules/fast-stable-stringify/results/escape-short/Chrome Mobile 55.0.2883 (Android 6.0.0).json +57 -0
- package/node_modules/fast-stable-stringify/results/escape-short/Edge 14.14393.0 (Windows 10 0.0.0).json +57 -0
- package/node_modules/fast-stable-stringify/results/escape-short/Firefox 54.0.0 (Windows 7 0.0.0).json +57 -0
- package/node_modules/fast-stable-stringify/results/escape-short/IE 10.0.0 (Windows 7 0.0.0).json +57 -0
- package/node_modules/fast-stable-stringify/results/escape-short/IE 11.0.0 (Windows 7 0.0.0).json +57 -0
- package/node_modules/fast-stable-stringify/results/escape-short/IE 9.0.0 (Windows 7 0.0.0).json +57 -0
- package/node_modules/fast-stable-stringify/results/escape-short/Mobile Safari 10.0.0 (iOS 10.3.0).json +57 -0
- package/node_modules/fast-stable-stringify/results/escape-short/Safari 10.0.1 (Mac OS X 10.12.1).json +57 -0
- package/node_modules/fast-stable-stringify/results/escape.md +20 -0
- package/node_modules/fast-stable-stringify/results/itar-long/Chrome 60.0.3112 (Windows 7 0.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/itar-long/Chrome Mobile 55.0.2883 (Android 6.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/itar-long/Edge 14.14393.0 (Windows 10 0.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/itar-long/Firefox 54.0.0 (Windows 7 0.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/itar-long/IE 10.0.0 (Windows 7 0.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/itar-long/IE 11.0.0 (Windows 7 0.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/itar-long/IE 9.0.0 (Windows 7 0.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/itar-long/Mobile Safari 10.0.0 (iOS 10.3.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/itar-long/Safari 10.0.1 (Mac OS X 10.12.1).json +35 -0
- package/node_modules/fast-stable-stringify/results/itar-short/Chrome 60.0.3112 (Windows 7 0.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/itar-short/Chrome Mobile 55.0.2883 (Android 6.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/itar-short/Edge 14.14393.0 (Windows 10 0.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/itar-short/Firefox 54.0.0 (Windows 7 0.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/itar-short/IE 10.0.0 (Windows 7 0.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/itar-short/IE 11.0.0 (Windows 7 0.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/itar-short/IE 9.0.0 (Windows 7 0.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/itar-short/Mobile Safari 10.0.0 (iOS 10.3.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/itar-short/Safari 10.0.1 (Mac OS X 10.12.1).json +35 -0
- package/node_modules/fast-stable-stringify/results/itar.md +20 -0
- package/node_modules/fast-stable-stringify/results/iter/Chrome 60.0.3112 (Windows 7 0.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/iter/Chrome Mobile 39.0.0 (Android 5.1.1).json +35 -0
- package/node_modules/fast-stable-stringify/results/iter/Chrome Mobile 55.0.2883 (Android 6.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/iter/Edge 14.14393.0 (Windows 10 0.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/iter/Firefox 54.0.0 (Windows 7 0.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/iter/IE 10.0.0 (Windows 7 0.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/iter/IE 11.0.0 (Windows 7 0.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/iter/IE 9.0.0 (Windows 7 0.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/iter/Mobile Safari 10.0.0 (iOS 10.3.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/iter/Mobile Safari 9.0.0 (iOS 9.2.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/iter/Safari 10.0.1 (Mac OS X 10.12.1).json +35 -0
- package/node_modules/fast-stable-stringify/results/iter/Safari 9.1.2 (Mac OS X 10.11.6).json +35 -0
- package/node_modules/fast-stable-stringify/results/iter.md +14 -0
- package/node_modules/fast-stable-stringify/results/libs/Chrome 60.0.3112 (Windows 7 0.0.0).json +46 -0
- package/node_modules/fast-stable-stringify/results/libs/Chrome Mobile 55.0.2883 (Android 6.0.0).json +46 -0
- package/node_modules/fast-stable-stringify/results/libs/Edge 14.14393.0 (Windows 10 0.0.0).json +46 -0
- package/node_modules/fast-stable-stringify/results/libs/Firefox 54.0.0 (Windows 7 0.0.0).json +46 -0
- package/node_modules/fast-stable-stringify/results/libs/IE 10.0.0 (Windows 7 0.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/libs/IE 11.0.0 (Windows 7 0.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/libs/IE 9.0.0 (Windows 7 0.0.0).json +35 -0
- package/node_modules/fast-stable-stringify/results/libs/Mobile Safari 10.0.0 (iOS 10.3.0).json +46 -0
- package/node_modules/fast-stable-stringify/results/libs/Safari 10.0.1 (Mac OS X 10.12.1).json +46 -0
- package/node_modules/fast-stable-stringify/results/libs.md +15 -0
- package/node_modules/fast-stable-stringify/test/escape-long.js +147 -0
- package/node_modules/fast-stable-stringify/test/escape-short.js +147 -0
- package/node_modules/fast-stable-stringify/test/index.js +6 -0
- package/node_modules/fast-stable-stringify/test/itar-long.js +52 -0
- package/node_modules/fast-stable-stringify/test/itar-short.js +52 -0
- package/node_modules/fast-stable-stringify/test/iter.js +84 -0
- package/node_modules/fast-stable-stringify/test/libs.js +57 -0
- package/node_modules/fast-stable-stringify/test/travis.js +43 -0
- package/node_modules/fast-stable-stringify/test/validate.js +24 -0
- package/node_modules/fast-stable-stringify/util/eachRecursive.js +9 -0
- package/node_modules/fast-stable-stringify/util/get-git-hash-sync.js +21 -0
- package/node_modules/fast-stable-stringify/util/get-lib-info.js +22 -0
- package/node_modules/fast-stable-stringify/util/object-path.js +47 -0
- package/node_modules/fast-stable-stringify/v8-profile/bench.js +8 -0
- package/node_modules/fast-stable-stringify/v8-profile/run.sh +2 -0
- package/node_modules/fast-stable-stringify/zuul-local.sh +2 -0
- package/node_modules/file-uri-to-path/.npmignore +1 -0
- package/node_modules/file-uri-to-path/.travis.yml +30 -0
- package/node_modules/file-uri-to-path/History.md +21 -0
- package/node_modules/file-uri-to-path/LICENSE +20 -0
- package/node_modules/file-uri-to-path/README.md +74 -0
- package/node_modules/file-uri-to-path/index.d.ts +2 -0
- package/node_modules/file-uri-to-path/index.js +66 -0
- package/node_modules/file-uri-to-path/package.json +32 -0
- package/node_modules/file-uri-to-path/test/test.js +24 -0
- package/node_modules/file-uri-to-path/test/tests.json +13 -0
- package/node_modules/humanize-ms/LICENSE +17 -0
- package/node_modules/humanize-ms/README.md +40 -0
- package/node_modules/humanize-ms/index.js +24 -0
- package/node_modules/humanize-ms/package.json +37 -0
- package/node_modules/ieee754/LICENSE +11 -0
- package/node_modules/ieee754/README.md +51 -0
- package/node_modules/ieee754/index.d.ts +10 -0
- package/node_modules/ieee754/index.js +85 -0
- package/node_modules/ieee754/package.json +52 -0
- package/node_modules/isomorphic-ws/LICENSE +21 -0
- package/node_modules/isomorphic-ws/README.md +58 -0
- package/node_modules/isomorphic-ws/browser.js +17 -0
- package/node_modules/isomorphic-ws/index.d.ts +8 -0
- package/node_modules/isomorphic-ws/node.js +3 -0
- package/node_modules/isomorphic-ws/package.json +34 -0
- package/node_modules/jayson/.gitignore +8 -0
- package/node_modules/jayson/LICENSE +22 -0
- package/node_modules/jayson/README.md +1387 -0
- package/node_modules/jayson/bin/jayson.js +111 -0
- package/node_modules/jayson/index.d.ts +370 -0
- package/node_modules/jayson/index.js +1 -0
- package/node_modules/jayson/lib/client/browser/index.d.ts +14 -0
- package/node_modules/jayson/lib/client/browser/index.js +163 -0
- package/node_modules/jayson/lib/client/http.js +116 -0
- package/node_modules/jayson/lib/client/https.js +34 -0
- package/node_modules/jayson/lib/client/index.js +220 -0
- package/node_modules/jayson/lib/client/tcp.js +90 -0
- package/node_modules/jayson/lib/client/tls.js +89 -0
- package/node_modules/jayson/lib/client/websocket.js +135 -0
- package/node_modules/jayson/lib/generateRequest.js +63 -0
- package/node_modules/jayson/lib/index.js +31 -0
- package/node_modules/jayson/lib/method.js +120 -0
- package/node_modules/jayson/lib/server/http.js +26 -0
- package/node_modules/jayson/lib/server/https.js +26 -0
- package/node_modules/jayson/lib/server/index.js +475 -0
- package/node_modules/jayson/lib/server/middleware.js +75 -0
- package/node_modules/jayson/lib/server/tcp.js +72 -0
- package/node_modules/jayson/lib/server/tls.js +72 -0
- package/node_modules/jayson/lib/server/websocket.js +62 -0
- package/node_modules/jayson/lib/utils.js +511 -0
- package/node_modules/jayson/node_modules/@types/node/LICENSE +21 -0
- package/node_modules/jayson/node_modules/@types/node/README.md +16 -0
- package/node_modules/jayson/node_modules/@types/node/assert.d.ts +117 -0
- package/node_modules/jayson/node_modules/@types/node/async_hooks.d.ts +246 -0
- package/node_modules/jayson/node_modules/@types/node/buffer.d.ts +22 -0
- package/node_modules/jayson/node_modules/@types/node/child_process.d.ts +507 -0
- package/node_modules/jayson/node_modules/@types/node/cluster.d.ts +260 -0
- package/node_modules/jayson/node_modules/@types/node/console.d.ts +3 -0
- package/node_modules/jayson/node_modules/@types/node/constants.d.ts +448 -0
- package/node_modules/jayson/node_modules/@types/node/crypto.d.ts +1183 -0
- package/node_modules/jayson/node_modules/@types/node/dgram.d.ts +118 -0
- package/node_modules/jayson/node_modules/@types/node/dns.d.ts +372 -0
- package/node_modules/jayson/node_modules/@types/node/domain.d.ts +16 -0
- package/node_modules/jayson/node_modules/@types/node/events.d.ts +47 -0
- package/node_modules/jayson/node_modules/@types/node/fs.d.ts +2567 -0
- package/node_modules/jayson/node_modules/@types/node/globals.d.ts +1351 -0
- package/node_modules/jayson/node_modules/@types/node/globals.global.d.ts +1 -0
- package/node_modules/jayson/node_modules/@types/node/http.d.ts +456 -0
- package/node_modules/jayson/node_modules/@types/node/http2.d.ts +952 -0
- package/node_modules/jayson/node_modules/@types/node/https.d.ts +156 -0
- package/node_modules/jayson/node_modules/@types/node/index.d.ts +91 -0
- package/node_modules/jayson/node_modules/@types/node/inspector.d.ts +3040 -0
- package/node_modules/jayson/node_modules/@types/node/module.d.ts +3 -0
- package/node_modules/jayson/node_modules/@types/node/net.d.ts +290 -0
- package/node_modules/jayson/node_modules/@types/node/os.d.ts +263 -0
- package/node_modules/jayson/node_modules/@types/node/package.json +195 -0
- package/node_modules/jayson/node_modules/@types/node/path.d.ts +159 -0
- package/node_modules/jayson/node_modules/@types/node/perf_hooks.d.ts +259 -0
- package/node_modules/jayson/node_modules/@types/node/process.d.ts +15 -0
- package/node_modules/jayson/node_modules/@types/node/punycode.d.ts +75 -0
- package/node_modules/jayson/node_modules/@types/node/querystring.d.ts +29 -0
- package/node_modules/jayson/node_modules/@types/node/readline.d.ts +158 -0
- package/node_modules/jayson/node_modules/@types/node/repl.d.ts +390 -0
- package/node_modules/jayson/node_modules/@types/node/stream.d.ts +334 -0
- package/node_modules/jayson/node_modules/@types/node/string_decoder.d.ts +7 -0
- package/node_modules/jayson/node_modules/@types/node/timers.d.ts +16 -0
- package/node_modules/jayson/node_modules/@types/node/tls.d.ts +713 -0
- package/node_modules/jayson/node_modules/@types/node/trace_events.d.ts +61 -0
- package/node_modules/jayson/node_modules/@types/node/tty.d.ts +66 -0
- package/node_modules/jayson/node_modules/@types/node/url.d.ts +147 -0
- package/node_modules/jayson/node_modules/@types/node/util.d.ts +200 -0
- package/node_modules/jayson/node_modules/@types/node/v8.d.ts +197 -0
- package/node_modules/jayson/node_modules/@types/node/vm.d.ts +112 -0
- package/node_modules/jayson/node_modules/@types/node/wasi.d.ts +55 -0
- package/node_modules/jayson/node_modules/@types/node/worker_threads.d.ts +207 -0
- package/node_modules/jayson/node_modules/@types/node/zlib.d.ts +356 -0
- package/node_modules/jayson/package.json +86 -0
- package/node_modules/jayson/promise/index.d.ts +367 -0
- package/node_modules/jayson/promise/index.js +3 -0
- package/node_modules/jayson/promise/lib/client/browser/index.d.ts +12 -0
- package/node_modules/jayson/promise/lib/client/browser/index.js +28 -0
- package/node_modules/jayson/promise/lib/client/http.js +23 -0
- package/node_modules/jayson/promise/lib/client/https.js +24 -0
- package/node_modules/jayson/promise/lib/client/index.js +53 -0
- package/node_modules/jayson/promise/lib/client/tcp.js +23 -0
- package/node_modules/jayson/promise/lib/client/tls.js +23 -0
- package/node_modules/jayson/promise/lib/client/websocket.js +23 -0
- package/node_modules/jayson/promise/lib/index.js +33 -0
- package/node_modules/jayson/promise/lib/method.js +54 -0
- package/node_modules/jayson/promise/lib/server.js +23 -0
- package/node_modules/jayson/promise/lib/utils.js +23 -0
- package/node_modules/json-stringify-safe/.npmignore +1 -0
- package/node_modules/json-stringify-safe/CHANGELOG.md +14 -0
- package/node_modules/json-stringify-safe/LICENSE +15 -0
- package/node_modules/json-stringify-safe/Makefile +35 -0
- package/node_modules/json-stringify-safe/README.md +52 -0
- package/node_modules/json-stringify-safe/package.json +31 -0
- package/node_modules/json-stringify-safe/stringify.js +27 -0
- package/node_modules/json-stringify-safe/test/mocha.opts +2 -0
- package/node_modules/json-stringify-safe/test/stringify_test.js +246 -0
- package/node_modules/jsonparse/.npmignore +1 -0
- package/node_modules/jsonparse/LICENSE +24 -0
- package/node_modules/jsonparse/README.markdown +11 -0
- package/node_modules/jsonparse/bench.js +26 -0
- package/node_modules/jsonparse/examples/twitterfeed.js +30 -0
- package/node_modules/jsonparse/jsonparse.js +413 -0
- package/node_modules/jsonparse/package.json +22 -0
- package/node_modules/jsonparse/samplejson/basic.json +167 -0
- package/node_modules/jsonparse/samplejson/basic2.json +180 -0
- package/node_modules/jsonparse/test/big-token.js +24 -0
- package/node_modules/jsonparse/test/boundary.js +110 -0
- package/node_modules/jsonparse/test/offset.js +67 -0
- package/node_modules/jsonparse/test/primitives.js +57 -0
- package/node_modules/jsonparse/test/surrogate.js +26 -0
- package/node_modules/jsonparse/test/unvalid.js +15 -0
- package/node_modules/jsonparse/test/utf8.js +38 -0
- package/node_modules/ms/index.js +162 -0
- package/node_modules/ms/license.md +21 -0
- package/node_modules/ms/package.json +38 -0
- package/node_modules/ms/readme.md +59 -0
- package/node_modules/node-fetch/LICENSE.md +22 -0
- package/node_modules/node-fetch/README.md +634 -0
- package/node_modules/node-fetch/browser.js +25 -0
- package/node_modules/node-fetch/lib/index.es.js +1777 -0
- package/node_modules/node-fetch/lib/index.js +1787 -0
- package/node_modules/node-fetch/lib/index.mjs +1775 -0
- package/node_modules/node-fetch/package.json +89 -0
- package/node_modules/node-gyp-build/LICENSE +21 -0
- package/node_modules/node-gyp-build/README.md +58 -0
- package/node_modules/node-gyp-build/SECURITY.md +5 -0
- package/node_modules/node-gyp-build/bin.js +84 -0
- package/node_modules/node-gyp-build/build-test.js +19 -0
- package/node_modules/node-gyp-build/index.js +6 -0
- package/node_modules/node-gyp-build/node-gyp-build.js +207 -0
- package/node_modules/node-gyp-build/optional.js +7 -0
- package/node_modules/node-gyp-build/package.json +43 -0
- package/node_modules/pako/LICENSE +21 -0
- package/node_modules/pako/README.md +177 -0
- package/node_modules/pako/dist/pako.es5.js +6688 -0
- package/node_modules/pako/dist/pako.es5.min.js +2 -0
- package/node_modules/pako/dist/pako.esm.mjs +6877 -0
- package/node_modules/pako/dist/pako.js +6896 -0
- package/node_modules/pako/dist/pako.min.js +2 -0
- package/node_modules/pako/dist/pako_deflate.es5.js +3924 -0
- package/node_modules/pako/dist/pako_deflate.es5.min.js +2 -0
- package/node_modules/pako/dist/pako_deflate.js +4126 -0
- package/node_modules/pako/dist/pako_deflate.min.js +2 -0
- package/node_modules/pako/dist/pako_inflate.es5.js +3229 -0
- package/node_modules/pako/dist/pako_inflate.es5.min.js +2 -0
- package/node_modules/pako/dist/pako_inflate.js +3239 -0
- package/node_modules/pako/dist/pako_inflate.min.js +2 -0
- package/node_modules/pako/index.js +18 -0
- package/node_modules/pako/lib/deflate.js +380 -0
- package/node_modules/pako/lib/inflate.js +419 -0
- package/node_modules/pako/lib/utils/common.js +48 -0
- package/node_modules/pako/lib/utils/strings.js +174 -0
- package/node_modules/pako/lib/zlib/README +59 -0
- package/node_modules/pako/lib/zlib/adler32.js +51 -0
- package/node_modules/pako/lib/zlib/constants.js +68 -0
- package/node_modules/pako/lib/zlib/crc32.js +59 -0
- package/node_modules/pako/lib/zlib/deflate.js +2048 -0
- package/node_modules/pako/lib/zlib/gzheader.js +58 -0
- package/node_modules/pako/lib/zlib/inffast.js +344 -0
- package/node_modules/pako/lib/zlib/inflate.js +1572 -0
- package/node_modules/pako/lib/zlib/inftrees.js +340 -0
- package/node_modules/pako/lib/zlib/messages.js +32 -0
- package/node_modules/pako/lib/zlib/trees.js +1179 -0
- package/node_modules/pako/lib/zlib/zstream.js +47 -0
- package/node_modules/pako/package.json +64 -0
- package/node_modules/regenerator-runtime/LICENSE +21 -0
- package/node_modules/regenerator-runtime/README.md +31 -0
- package/node_modules/regenerator-runtime/package.json +19 -0
- package/node_modules/regenerator-runtime/path.js +11 -0
- package/node_modules/regenerator-runtime/runtime.js +761 -0
- package/node_modules/rpc-websockets/LICENSE +10 -0
- package/node_modules/rpc-websockets/README.md +156 -0
- package/node_modules/rpc-websockets/dist/index.browser-bundle.js +14 -0
- package/node_modules/rpc-websockets/dist/index.browser.cjs +389 -0
- package/node_modules/rpc-websockets/dist/index.browser.cjs.map +1 -0
- package/node_modules/rpc-websockets/dist/index.browser.d.mts +225 -0
- package/node_modules/rpc-websockets/dist/index.browser.d.ts +225 -0
- package/node_modules/rpc-websockets/dist/index.browser.mjs +384 -0
- package/node_modules/rpc-websockets/dist/index.browser.mjs.map +1 -0
- package/node_modules/rpc-websockets/dist/index.cjs +898 -0
- package/node_modules/rpc-websockets/dist/index.cjs.map +1 -0
- package/node_modules/rpc-websockets/dist/index.d.mts +415 -0
- package/node_modules/rpc-websockets/dist/index.d.ts +415 -0
- package/node_modules/rpc-websockets/dist/index.mjs +886 -0
- package/node_modules/rpc-websockets/dist/index.mjs.map +1 -0
- package/node_modules/rpc-websockets/node_modules/@types/ws/LICENSE +21 -0
- package/node_modules/rpc-websockets/node_modules/@types/ws/README.md +15 -0
- package/node_modules/rpc-websockets/node_modules/@types/ws/index.d.mts +451 -0
- package/node_modules/rpc-websockets/node_modules/@types/ws/index.d.ts +445 -0
- package/node_modules/rpc-websockets/node_modules/@types/ws/package.json +72 -0
- package/node_modules/rpc-websockets/node_modules/eventemitter3/LICENSE +21 -0
- package/node_modules/rpc-websockets/node_modules/eventemitter3/README.md +94 -0
- package/node_modules/rpc-websockets/node_modules/eventemitter3/dist/eventemitter3.esm.js +347 -0
- package/node_modules/rpc-websockets/node_modules/eventemitter3/dist/eventemitter3.esm.min.js +1 -0
- package/node_modules/rpc-websockets/node_modules/eventemitter3/dist/eventemitter3.esm.min.js.map +1 -0
- package/node_modules/rpc-websockets/node_modules/eventemitter3/dist/eventemitter3.umd.js +355 -0
- package/node_modules/rpc-websockets/node_modules/eventemitter3/dist/eventemitter3.umd.min.js +1 -0
- package/node_modules/rpc-websockets/node_modules/eventemitter3/dist/eventemitter3.umd.min.js.map +1 -0
- package/node_modules/rpc-websockets/node_modules/eventemitter3/index.d.ts +135 -0
- package/node_modules/rpc-websockets/node_modules/eventemitter3/index.js +336 -0
- package/node_modules/rpc-websockets/node_modules/eventemitter3/index.mjs +4 -0
- package/node_modules/rpc-websockets/node_modules/eventemitter3/package.json +67 -0
- package/node_modules/rpc-websockets/node_modules/ws/LICENSE +20 -0
- package/node_modules/rpc-websockets/node_modules/ws/README.md +548 -0
- package/node_modules/rpc-websockets/node_modules/ws/browser.js +8 -0
- package/node_modules/rpc-websockets/node_modules/ws/index.js +13 -0
- package/node_modules/rpc-websockets/node_modules/ws/lib/buffer-util.js +131 -0
- package/node_modules/rpc-websockets/node_modules/ws/lib/constants.js +18 -0
- package/node_modules/rpc-websockets/node_modules/ws/lib/event-target.js +292 -0
- package/node_modules/rpc-websockets/node_modules/ws/lib/extension.js +203 -0
- package/node_modules/rpc-websockets/node_modules/ws/lib/limiter.js +55 -0
- package/node_modules/rpc-websockets/node_modules/ws/lib/permessage-deflate.js +514 -0
- package/node_modules/rpc-websockets/node_modules/ws/lib/receiver.js +706 -0
- package/node_modules/rpc-websockets/node_modules/ws/lib/sender.js +602 -0
- package/node_modules/rpc-websockets/node_modules/ws/lib/stream.js +161 -0
- package/node_modules/rpc-websockets/node_modules/ws/lib/subprotocol.js +62 -0
- package/node_modules/rpc-websockets/node_modules/ws/lib/validation.js +152 -0
- package/node_modules/rpc-websockets/node_modules/ws/lib/websocket-server.js +540 -0
- package/node_modules/rpc-websockets/node_modules/ws/lib/websocket.js +1388 -0
- package/node_modules/rpc-websockets/node_modules/ws/package.json +69 -0
- package/node_modules/rpc-websockets/node_modules/ws/wrapper.mjs +8 -0
- package/node_modules/rpc-websockets/package.json +90 -0
- package/node_modules/safe-buffer/LICENSE +21 -0
- package/node_modules/safe-buffer/README.md +584 -0
- package/node_modules/safe-buffer/index.d.ts +187 -0
- package/node_modules/safe-buffer/index.js +65 -0
- package/node_modules/safe-buffer/package.json +51 -0
- package/node_modules/superstruct/License.md +9 -0
- package/node_modules/superstruct/Readme.md +228 -0
- package/node_modules/superstruct/lib/coercions.d.ts +19 -0
- package/node_modules/superstruct/lib/coercions.d.ts.map +1 -0
- package/node_modules/superstruct/lib/error.d.ts +32 -0
- package/node_modules/superstruct/lib/error.d.ts.map +1 -0
- package/node_modules/superstruct/lib/index.cjs +1257 -0
- package/node_modules/superstruct/lib/index.cjs.d.ts +579 -0
- package/node_modules/superstruct/lib/index.cjs.map +1 -0
- package/node_modules/superstruct/lib/index.d.cts +579 -0
- package/node_modules/superstruct/lib/index.d.ts +7 -0
- package/node_modules/superstruct/lib/index.d.ts.map +1 -0
- package/node_modules/superstruct/lib/index.es.d.ts +579 -0
- package/node_modules/superstruct/lib/index.es.js +1203 -0
- package/node_modules/superstruct/lib/index.es.js.map +1 -0
- package/node_modules/superstruct/lib/refinements.d.ts +19 -0
- package/node_modules/superstruct/lib/refinements.d.ts.map +1 -0
- package/node_modules/superstruct/lib/struct.d.ts +110 -0
- package/node_modules/superstruct/lib/struct.d.ts.map +1 -0
- package/node_modules/superstruct/lib/structs/coercions.d.ts +29 -0
- package/node_modules/superstruct/lib/structs/coercions.d.ts.map +1 -0
- package/node_modules/superstruct/lib/structs/refinements.d.ts +38 -0
- package/node_modules/superstruct/lib/structs/refinements.d.ts.map +1 -0
- package/node_modules/superstruct/lib/structs/types.d.ts +142 -0
- package/node_modules/superstruct/lib/structs/types.d.ts.map +1 -0
- package/node_modules/superstruct/lib/structs/utilities.d.ts +66 -0
- package/node_modules/superstruct/lib/structs/utilities.d.ts.map +1 -0
- package/node_modules/superstruct/lib/types.d.ts +200 -0
- package/node_modules/superstruct/lib/types.d.ts.map +1 -0
- package/node_modules/superstruct/lib/typings.d.ts +36 -0
- package/node_modules/superstruct/lib/typings.d.ts.map +1 -0
- package/node_modules/superstruct/lib/utilities.d.ts +56 -0
- package/node_modules/superstruct/lib/utilities.d.ts.map +1 -0
- package/node_modules/superstruct/lib/utils.d.ts +139 -0
- package/node_modules/superstruct/lib/utils.d.ts.map +1 -0
- package/node_modules/superstruct/lib/xtras.d.ts +56 -0
- package/node_modules/superstruct/lib/xtras.d.ts.map +1 -0
- package/node_modules/superstruct/package.json +110 -0
- package/node_modules/superstruct/umd/coercions.d.ts +18 -0
- package/node_modules/superstruct/umd/index.d.ts +4 -0
- package/node_modules/superstruct/umd/refinements.d.ts +14 -0
- package/node_modules/superstruct/umd/struct.d.ts +80 -0
- package/node_modules/superstruct/umd/superstruct.d.ts +579 -0
- package/node_modules/superstruct/umd/superstruct.js +1262 -0
- package/node_modules/superstruct/umd/superstruct.min.d.ts +579 -0
- package/node_modules/superstruct/umd/superstruct.min.js +1 -0
- package/node_modules/superstruct/umd/types.d.ts +127 -0
- package/node_modules/superstruct/umd/utils.d.ts +9 -0
- package/node_modules/text-encoding-utf-8/LICENSE.md +29 -0
- package/node_modules/text-encoding-utf-8/README.md +63 -0
- package/node_modules/text-encoding-utf-8/lib/encoding.js +655 -0
- package/node_modules/text-encoding-utf-8/lib/encoding.lib.js +642 -0
- package/node_modules/text-encoding-utf-8/lib/encoding.lib.mjs +665 -0
- package/node_modules/text-encoding-utf-8/package.json +26 -0
- package/node_modules/text-encoding-utf-8/src/encoding.js +665 -0
- package/node_modules/text-encoding-utf-8/src/polyfill.js +21 -0
- package/node_modules/through/.travis.yml +5 -0
- package/node_modules/through/LICENSE.APACHE2 +15 -0
- package/node_modules/through/LICENSE.MIT +24 -0
- package/node_modules/through/index.js +108 -0
- package/node_modules/through/package.json +36 -0
- package/node_modules/through/readme.markdown +64 -0
- package/node_modules/through/test/async.js +28 -0
- package/node_modules/through/test/auto-destroy.js +30 -0
- package/node_modules/through/test/buffering.js +71 -0
- package/node_modules/through/test/end.js +45 -0
- package/node_modules/through/test/index.js +133 -0
- package/node_modules/toml/.jshintrc +18 -0
- package/node_modules/toml/.travis.yml +7 -0
- package/node_modules/toml/CHANGELOG.md +116 -0
- package/node_modules/toml/LICENSE +22 -0
- package/node_modules/toml/README.md +93 -0
- package/node_modules/toml/benchmark.js +12 -0
- package/node_modules/toml/index.d.ts +3 -0
- package/node_modules/toml/index.js +9 -0
- package/node_modules/toml/lib/compiler.js +195 -0
- package/node_modules/toml/lib/parser.js +3841 -0
- package/node_modules/toml/package.json +24 -0
- package/node_modules/toml/src/toml.pegjs +231 -0
- package/node_modules/toml/test/bad.toml +5 -0
- package/node_modules/toml/test/example.toml +32 -0
- package/node_modules/toml/test/hard_example.toml +33 -0
- package/node_modules/toml/test/inline_tables.toml +10 -0
- package/node_modules/toml/test/literal_strings.toml +5 -0
- package/node_modules/toml/test/multiline_eat_whitespace.toml +15 -0
- package/node_modules/toml/test/multiline_literal_strings.toml +7 -0
- package/node_modules/toml/test/multiline_strings.toml +6 -0
- package/node_modules/toml/test/smoke.js +22 -0
- package/node_modules/toml/test/table_arrays_easy.toml +10 -0
- package/node_modules/toml/test/table_arrays_hard.toml +31 -0
- package/node_modules/toml/test/test_toml.js +596 -0
- package/node_modules/undici-types/LICENSE +21 -0
- package/node_modules/undici-types/README.md +6 -0
- package/node_modules/undici-types/agent.d.ts +31 -0
- package/node_modules/undici-types/api.d.ts +43 -0
- package/node_modules/undici-types/balanced-pool.d.ts +29 -0
- package/node_modules/undici-types/cache.d.ts +36 -0
- package/node_modules/undici-types/client.d.ts +108 -0
- package/node_modules/undici-types/connector.d.ts +34 -0
- package/node_modules/undici-types/content-type.d.ts +21 -0
- package/node_modules/undici-types/cookies.d.ts +28 -0
- package/node_modules/undici-types/diagnostics-channel.d.ts +66 -0
- package/node_modules/undici-types/dispatcher.d.ts +255 -0
- package/node_modules/undici-types/env-http-proxy-agent.d.ts +21 -0
- package/node_modules/undici-types/errors.d.ts +149 -0
- package/node_modules/undici-types/eventsource.d.ts +61 -0
- package/node_modules/undici-types/fetch.d.ts +209 -0
- package/node_modules/undici-types/file.d.ts +39 -0
- package/node_modules/undici-types/filereader.d.ts +54 -0
- package/node_modules/undici-types/formdata.d.ts +108 -0
- package/node_modules/undici-types/global-dispatcher.d.ts +9 -0
- package/node_modules/undici-types/global-origin.d.ts +7 -0
- package/node_modules/undici-types/handlers.d.ts +15 -0
- package/node_modules/undici-types/header.d.ts +4 -0
- package/node_modules/undici-types/index.d.ts +71 -0
- package/node_modules/undici-types/interceptors.d.ts +17 -0
- package/node_modules/undici-types/mock-agent.d.ts +50 -0
- package/node_modules/undici-types/mock-client.d.ts +25 -0
- package/node_modules/undici-types/mock-errors.d.ts +12 -0
- package/node_modules/undici-types/mock-interceptor.d.ts +93 -0
- package/node_modules/undici-types/mock-pool.d.ts +25 -0
- package/node_modules/undici-types/package.json +55 -0
- package/node_modules/undici-types/patch.d.ts +33 -0
- package/node_modules/undici-types/pool-stats.d.ts +19 -0
- package/node_modules/undici-types/pool.d.ts +39 -0
- package/node_modules/undici-types/proxy-agent.d.ts +28 -0
- package/node_modules/undici-types/readable.d.ts +60 -0
- package/node_modules/undici-types/retry-agent.d.ts +8 -0
- package/node_modules/undici-types/retry-handler.d.ts +116 -0
- package/node_modules/undici-types/util.d.ts +18 -0
- package/node_modules/undici-types/webidl.d.ts +222 -0
- package/node_modules/undici-types/websocket.d.ts +150 -0
- package/node_modules/utf-8-validate/LICENSE +30 -0
- package/node_modules/utf-8-validate/README.md +50 -0
- package/node_modules/utf-8-validate/binding.gyp +18 -0
- package/node_modules/utf-8-validate/fallback.js +62 -0
- package/node_modules/utf-8-validate/index.js +7 -0
- package/node_modules/utf-8-validate/package.json +36 -0
- package/node_modules/utf-8-validate/prebuilds/darwin-x64+arm64/node.napi.node +0 -0
- package/node_modules/utf-8-validate/prebuilds/linux-x64/node.napi.node +0 -0
- package/node_modules/utf-8-validate/prebuilds/win32-ia32/node.napi.node +0 -0
- package/node_modules/utf-8-validate/prebuilds/win32-x64/node.napi.node +0 -0
- package/node_modules/utf-8-validate/src/validation.c +109 -0
- package/node_modules/uuid/CHANGELOG.md +229 -0
- package/node_modules/uuid/CONTRIBUTING.md +18 -0
- package/node_modules/uuid/LICENSE.md +9 -0
- package/node_modules/uuid/README.md +505 -0
- package/node_modules/uuid/dist/bin/uuid +2 -0
- package/node_modules/uuid/dist/esm-browser/index.js +9 -0
- package/node_modules/uuid/dist/esm-browser/md5.js +215 -0
- package/node_modules/uuid/dist/esm-browser/nil.js +1 -0
- package/node_modules/uuid/dist/esm-browser/parse.js +35 -0
- package/node_modules/uuid/dist/esm-browser/regex.js +1 -0
- package/node_modules/uuid/dist/esm-browser/rng.js +19 -0
- package/node_modules/uuid/dist/esm-browser/sha1.js +96 -0
- package/node_modules/uuid/dist/esm-browser/stringify.js +30 -0
- package/node_modules/uuid/dist/esm-browser/v1.js +95 -0
- package/node_modules/uuid/dist/esm-browser/v3.js +4 -0
- package/node_modules/uuid/dist/esm-browser/v35.js +64 -0
- package/node_modules/uuid/dist/esm-browser/v4.js +24 -0
- package/node_modules/uuid/dist/esm-browser/v5.js +4 -0
- package/node_modules/uuid/dist/esm-browser/validate.js +7 -0
- package/node_modules/uuid/dist/esm-browser/version.js +11 -0
- package/node_modules/uuid/dist/esm-node/index.js +9 -0
- package/node_modules/uuid/dist/esm-node/md5.js +13 -0
- package/node_modules/uuid/dist/esm-node/nil.js +1 -0
- package/node_modules/uuid/dist/esm-node/parse.js +35 -0
- package/node_modules/uuid/dist/esm-node/regex.js +1 -0
- package/node_modules/uuid/dist/esm-node/rng.js +12 -0
- package/node_modules/uuid/dist/esm-node/sha1.js +13 -0
- package/node_modules/uuid/dist/esm-node/stringify.js +29 -0
- package/node_modules/uuid/dist/esm-node/v1.js +95 -0
- package/node_modules/uuid/dist/esm-node/v3.js +4 -0
- package/node_modules/uuid/dist/esm-node/v35.js +64 -0
- package/node_modules/uuid/dist/esm-node/v4.js +24 -0
- package/node_modules/uuid/dist/esm-node/v5.js +4 -0
- package/node_modules/uuid/dist/esm-node/validate.js +7 -0
- package/node_modules/uuid/dist/esm-node/version.js +11 -0
- package/node_modules/uuid/dist/index.js +79 -0
- package/node_modules/uuid/dist/md5-browser.js +223 -0
- package/node_modules/uuid/dist/md5.js +23 -0
- package/node_modules/uuid/dist/nil.js +8 -0
- package/node_modules/uuid/dist/parse.js +45 -0
- package/node_modules/uuid/dist/regex.js +8 -0
- package/node_modules/uuid/dist/rng-browser.js +26 -0
- package/node_modules/uuid/dist/rng.js +24 -0
- package/node_modules/uuid/dist/sha1-browser.js +104 -0
- package/node_modules/uuid/dist/sha1.js +23 -0
- package/node_modules/uuid/dist/stringify.js +39 -0
- package/node_modules/uuid/dist/umd/uuid.min.js +1 -0
- package/node_modules/uuid/dist/umd/uuidNIL.min.js +1 -0
- package/node_modules/uuid/dist/umd/uuidParse.min.js +1 -0
- package/node_modules/uuid/dist/umd/uuidStringify.min.js +1 -0
- package/node_modules/uuid/dist/umd/uuidValidate.min.js +1 -0
- package/node_modules/uuid/dist/umd/uuidVersion.min.js +1 -0
- package/node_modules/uuid/dist/umd/uuidv1.min.js +1 -0
- package/node_modules/uuid/dist/umd/uuidv3.min.js +1 -0
- package/node_modules/uuid/dist/umd/uuidv4.min.js +1 -0
- package/node_modules/uuid/dist/umd/uuidv5.min.js +1 -0
- package/node_modules/uuid/dist/uuid-bin.js +85 -0
- package/node_modules/uuid/dist/v1.js +107 -0
- package/node_modules/uuid/dist/v3.js +16 -0
- package/node_modules/uuid/dist/v35.js +78 -0
- package/node_modules/uuid/dist/v4.js +37 -0
- package/node_modules/uuid/dist/v5.js +16 -0
- package/node_modules/uuid/dist/validate.js +17 -0
- package/node_modules/uuid/dist/version.js +21 -0
- package/node_modules/uuid/package.json +135 -0
- package/node_modules/uuid/wrapper.mjs +10 -0
- package/node_modules/webidl-conversions/LICENSE.md +12 -0
- package/node_modules/webidl-conversions/README.md +53 -0
- package/node_modules/webidl-conversions/lib/index.js +189 -0
- package/node_modules/webidl-conversions/package.json +23 -0
- package/node_modules/whatwg-url/LICENSE.txt +21 -0
- package/node_modules/whatwg-url/README.md +67 -0
- package/node_modules/whatwg-url/lib/URL-impl.js +200 -0
- package/node_modules/whatwg-url/lib/URL.js +196 -0
- package/node_modules/whatwg-url/lib/public-api.js +11 -0
- package/node_modules/whatwg-url/lib/url-state-machine.js +1297 -0
- package/node_modules/whatwg-url/lib/utils.js +20 -0
- package/node_modules/whatwg-url/node_modules/tr46/.npmignore +4 -0
- package/node_modules/whatwg-url/node_modules/tr46/index.js +193 -0
- package/node_modules/whatwg-url/node_modules/tr46/lib/.gitkeep +0 -0
- package/node_modules/whatwg-url/node_modules/tr46/lib/mappingTable.json +1 -0
- package/node_modules/whatwg-url/node_modules/tr46/package.json +31 -0
- package/node_modules/whatwg-url/package.json +32 -0
- package/node_modules/ws/LICENSE +21 -0
- package/node_modules/ws/README.md +495 -0
- package/node_modules/ws/browser.js +8 -0
- package/node_modules/ws/index.js +10 -0
- package/node_modules/ws/lib/buffer-util.js +129 -0
- package/node_modules/ws/lib/constants.js +10 -0
- package/node_modules/ws/lib/event-target.js +184 -0
- package/node_modules/ws/lib/extension.js +223 -0
- package/node_modules/ws/lib/limiter.js +55 -0
- package/node_modules/ws/lib/permessage-deflate.js +518 -0
- package/node_modules/ws/lib/receiver.js +607 -0
- package/node_modules/ws/lib/sender.js +409 -0
- package/node_modules/ws/lib/stream.js +180 -0
- package/node_modules/ws/lib/validation.js +104 -0
- package/node_modules/ws/lib/websocket-server.js +449 -0
- package/node_modules/ws/lib/websocket.js +1197 -0
- package/node_modules/ws/package.json +56 -0
- package/package.json +4 -1
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/CpAmm.ts","../src/idl/cp_amm.json","../src/constants.ts","../src/pda.ts","../src/math/index.ts","../src/types.ts","../src/utils/token.ts","../src/utils/fee.ts","../src/math/feeMath.ts","../src/utils/curve.ts","../src/utils/computeUnits.ts","../src/utils/utils.ts"],"sourcesContent":["import { Program, BN } from \"@coral-xyz/anchor\";\nimport { getAssociatedTokenAddressSync, NATIVE_MINT } from \"@solana/spl-token\";\nimport invariant from \"invariant\";\nimport Decimal from \"decimal.js\";\n\nimport CpAmmIDL from \"./idl/cp_amm.json\";\nimport type { CpAmm as CpAmmTypes } from \"./idl/cp_amm\";\nimport {\n Connection,\n Transaction,\n PublicKey,\n TransactionInstruction,\n} from \"@solana/web3.js\";\nimport { MAX_SQRT_PRICE, MIN_SQRT_PRICE } from \"./constants\";\nimport {\n AddLiquidityParams,\n AmmProgram,\n ClaimPartnerFeeParams,\n ClaimPositionFeeParams,\n ClaimRewardParams,\n ConfigState,\n CreatePoolParams,\n CreatePositionParams,\n FundRewardParams,\n GetQuoteParams,\n InitializeCustomizeablePoolParams,\n LiquidityDeltaParams,\n LockPositionParams,\n PermanentLockParams,\n PoolState,\n PositionState,\n PreparedPoolCreation,\n PreparePoolCreationParams,\n RefreshVestingParams,\n RemoveLiquidityParams,\n SwapParams,\n TxBuilder,\n UpdateRewardDurationParams,\n UpdateRewardFunderParams,\n WithdrawIneligibleRewardParams,\n} from \"./types\";\nimport {\n deriveCustomizablePoolAddress,\n derivePoolAddress,\n derivePositionAddress,\n derivePositionNftAccount,\n} from \"./pda\";\nimport { priceToSqrtPrice } from \"./math\";\n\nimport {\n getFeeNumerator,\n getOrCreateATAInstruction,\n getTokenProgram,\n unwrapSOLInstruction,\n wrapSOLInstruction,\n} from \"./utils\";\nimport {\n calculateSwap,\n getLiquidityDeltaFromAmountA,\n getLiquidityDeltaFromAmountB,\n} from \"./utils/curve\";\nimport { getMinAmountWithSlippage, getPriceImpact } from \"./utils/utils\";\n\nexport class CpAmm {\n _program: AmmProgram;\n constructor(connection: Connection) {\n this._program = new Program(CpAmmIDL as CpAmmTypes, {\n connection: connection,\n });\n }\n\n getProgram() {\n return this._program;\n }\n\n /**\n Prepares token ordering, calculates the initial sqrtPrice in Q64 format,\n @private\n @async\n @param {PublicKey} tokenX - One token mint address in the pair.\n @param {PublicKey} tokenY - The other token mint address in the pair.\n @param {Decimal} initialPrice - The initial price ratio of tokenX/tokenY (will be inverted if needed).\n @param {Decimal} liquidity - The initial liquidity value.\n @returns {PreparedPoolCreation} Object containing the ordered token mints and their Q64 price/liquidity values. \n */\n private async preparePoolCreationParams(\n params: PreparePoolCreationParams\n ): Promise<PreparedPoolCreation> {\n const { tokenAAmount, tokenBAmount, tokenADecimal, tokenBDecimal } = params;\n\n const initPrice = tokenBAmount.div(tokenAAmount); // TODO optimize rounding\n const sqrtPriceQ64 = priceToSqrtPrice(\n new Decimal(initPrice.toString()),\n tokenADecimal,\n tokenBDecimal\n );\n\n if (sqrtPriceQ64.lt(MIN_SQRT_PRICE) || sqrtPriceQ64.gt(MAX_SQRT_PRICE)) {\n throw new Error(`Invalid sqrt price: ${sqrtPriceQ64.toString()}`);\n }\n\n const liquidityDeltaFromAmountA = getLiquidityDeltaFromAmountA(\n tokenAAmount,\n sqrtPriceQ64,\n MAX_SQRT_PRICE\n );\n\n const liquidityDeltaFromAmountB = getLiquidityDeltaFromAmountB(\n tokenBAmount,\n MIN_SQRT_PRICE,\n sqrtPriceQ64\n );\n\n const liquidityQ64 = liquidityDeltaFromAmountA.gte(\n liquidityDeltaFromAmountB\n )\n ? liquidityDeltaFromAmountB\n : liquidityDeltaFromAmountA;\n\n return {\n sqrtPriceQ64,\n liquidityQ64,\n };\n }\n\n // fetcher\n async fetchConfigState(config: PublicKey): Promise<ConfigState> {\n const configState = await this._program.account.config.fetchNullable(\n config\n );\n invariant(configState, `Config account: ${config} not found`);\n\n return configState;\n }\n\n async fetchPoolState(pool: PublicKey): Promise<PoolState> {\n const poolState = await this._program.account.pool.fetchNullable(pool);\n invariant(poolState, `Pool account: ${pool} not found`);\n\n return poolState;\n }\n\n async fetchPositionState(position: PublicKey): Promise<PositionState> {\n const positionState = await this._program.account.position.fetchNullable(\n position\n );\n invariant(positionState, `Position account: ${position} not found`);\n\n return positionState;\n }\n\n async getQuote(params: GetQuoteParams): Promise<{\n swapInAmount: BN;\n swapOutAmount: BN;\n minSwapOutAmount: BN;\n totalFee: BN;\n priceImpact: number;\n }> {\n const { inAmount, inputTokenMint, slippage, poolState } = params;\n const {\n sqrtPrice: sqrtPriceQ64,\n liquidity: liquidityQ64,\n activationType,\n activationPoint,\n collectFeeMode,\n poolFees,\n } = poolState;\n const {\n feeSchedulerMode,\n cliffFeeNumerator,\n numberOfPeriod,\n reductionFactor,\n periodFrequency,\n } = poolFees.baseFee;\n const dynamicFee = poolFees.dynamicFee;\n\n const aToB = poolState.tokenAMint.equals(inputTokenMint);\n const slot = await this._program.provider.connection.getSlot();\n const blockInfo = await this._program.provider.connection.getBlock(slot, {\n maxSupportedTransactionVersion: 0,\n });\n const currentTime = blockInfo?.blockTime ?? Math.floor(Date.now() / 1000);\n const currentPoint = activationType ? currentTime : slot;\n\n let dynamicFeeParams;\n if (dynamicFee.initialized) {\n const { volatilityAccumulator, binStep, variableFeeControl } = dynamicFee;\n dynamicFeeParams = { volatilityAccumulator, binStep, variableFeeControl };\n }\n\n const tradeFeeNumerator = getFeeNumerator(\n currentPoint,\n activationPoint,\n numberOfPeriod,\n periodFrequency,\n feeSchedulerMode,\n cliffFeeNumerator,\n reductionFactor,\n dynamicFeeParams\n );\n\n const { amountOutExcludedlpFee, lpFee } = calculateSwap(\n inAmount,\n sqrtPriceQ64,\n liquidityQ64,\n tradeFeeNumerator,\n aToB,\n collectFeeMode\n );\n const minSwapOutAmount = getMinAmountWithSlippage(\n amountOutExcludedlpFee,\n slippage\n );\n\n return {\n swapInAmount: inAmount,\n swapOutAmount: amountOutExcludedlpFee,\n minSwapOutAmount,\n totalFee: lpFee,\n priceImpact: getPriceImpact(minSwapOutAmount, amountOutExcludedlpFee),\n };\n }\n\n /**\n * Computes the liquidity delta based on the provided token amounts and pool state.\n *\n * @param {LiquidityDeltaParams} params - The parameters for liquidity calculation, including:\n * - tokenX: The mint address of token X.\n * - tokenY: The mint address of token Y.\n * - maxAmountX: The maximum amount of token X available.\n * - maxAmountY: The maximum amount of token Y available.\n * - pool: The address of the liquidity pool.\n *\n * @returns {Promise<BN>} - The computed liquidity delta in Q64 value.\n */\n async getLiquidityDelta(params: LiquidityDeltaParams): Promise<BN> {\n const {\n maxAmountTokenA,\n maxAmountTokenB,\n sqrtMaxPrice,\n sqrtMinPrice,\n sqrtPrice,\n } = params;\n\n const liquidityDeltaFromAmountA = getLiquidityDeltaFromAmountA(\n maxAmountTokenA,\n sqrtPrice,\n sqrtMaxPrice\n );\n\n const liquidityDeltaFromAmountB = getLiquidityDeltaFromAmountB(\n maxAmountTokenB,\n sqrtMinPrice,\n sqrtPrice\n );\n\n return liquidityDeltaFromAmountA.gte(liquidityDeltaFromAmountB)\n ? liquidityDeltaFromAmountB\n : liquidityDeltaFromAmountA;\n }\n\n async createPool(params: CreatePoolParams): TxBuilder {\n const {\n payer,\n creator,\n config,\n positionNft,\n tokenAMint,\n tokenBMint,\n activationPoint,\n tokenAAmount,\n tokenBAmount,\n tokenADecimal,\n tokenBDecimal,\n } = params;\n\n const { sqrtPriceQ64, liquidityQ64 } = await this.preparePoolCreationParams(\n {\n tokenAAmount,\n tokenBAmount,\n tokenADecimal,\n tokenBDecimal,\n }\n );\n\n const pool = derivePoolAddress(\n config,\n tokenAMint,\n tokenBMint,\n this._program.programId\n );\n\n const tokenAProgram = (\n await this._program.provider.connection.getParsedAccountInfo(tokenAMint)\n )?.value?.owner;\n\n const tokenBProgram = (\n await this._program.provider.connection.getParsedAccountInfo(tokenBMint)\n )?.value?.owner;\n\n const payerTokenA = getAssociatedTokenAddressSync(\n tokenAMint,\n payer,\n true,\n tokenAProgram\n );\n const payerTokenB = getAssociatedTokenAddressSync(\n tokenBMint,\n payer,\n true,\n tokenBProgram\n );\n\n const tx = await this._program.methods\n .initializePool({\n liquidity: liquidityQ64,\n sqrtPrice: sqrtPriceQ64,\n activationPoint: activationPoint,\n })\n .accounts({\n creator,\n positionNftMint: positionNft,\n payer: payer,\n config,\n pool,\n tokenAMint,\n tokenBMint,\n payerTokenA,\n payerTokenB,\n tokenAProgram,\n tokenBProgram,\n })\n .transaction();\n\n return tx;\n }\n\n async createCustomPool(params: InitializeCustomizeablePoolParams): Promise<{\n tx: Transaction;\n pool: PublicKey;\n position: PublicKey;\n }> {\n const {\n tokenAMint,\n tokenBMint,\n tokenAAmount,\n tokenBAmount,\n tokenADecimal,\n tokenBDecimal,\n payer,\n creator,\n positionNft,\n poolFees,\n hasAlphaVault,\n collectFeeMode,\n activationPoint,\n activationType,\n } = params;\n\n const { sqrtPriceQ64, liquidityQ64 } = await this.preparePoolCreationParams(\n {\n tokenAAmount,\n tokenBAmount,\n tokenADecimal,\n tokenBDecimal,\n }\n );\n\n const pool = deriveCustomizablePoolAddress(\n tokenAMint,\n tokenBMint,\n this._program.programId\n );\n const position = derivePositionAddress(\n positionNft,\n this._program.programId\n );\n const tokenAProgram = (\n await this._program.provider.connection.getAccountInfo(tokenAMint)\n ).owner;\n\n const tokenBProgram = (\n await this._program.provider.connection.getAccountInfo(tokenBMint)\n ).owner;\n\n const preInstructions = [];\n const [\n { ataPubkey: payerTokenA, ix: createTokenATokenAccountIx },\n { ataPubkey: payerTokenB, ix: createTokenBTokenAccountIx },\n ] = await Promise.all([\n getOrCreateATAInstruction(\n this._program.provider.connection,\n tokenAMint,\n payer,\n payer,\n true,\n tokenAProgram\n ),\n getOrCreateATAInstruction(\n this._program.provider.connection,\n tokenBMint,\n payer,\n payer,\n true,\n tokenBProgram\n ),\n ]);\n\n createTokenATokenAccountIx &&\n preInstructions.push(createTokenATokenAccountIx);\n createTokenBTokenAccountIx &&\n preInstructions.push(createTokenBTokenAccountIx);\n\n if (tokenAMint.equals(NATIVE_MINT)) {\n const wrapSOLIx = wrapSOLInstruction(\n payer,\n payerTokenA,\n BigInt(tokenAAmount.toString())\n );\n\n preInstructions.push(...wrapSOLIx);\n }\n\n if (tokenBMint.equals(NATIVE_MINT)) {\n const wrapSOLIx = wrapSOLInstruction(\n payer,\n payerTokenB,\n BigInt(tokenBAmount.toString())\n );\n\n preInstructions.push(...wrapSOLIx);\n }\n\n const transaction = await this._program.methods\n .initializeCustomizablePool({\n poolFees,\n sqrtMinPrice: MIN_SQRT_PRICE,\n sqrtMaxPrice: MAX_SQRT_PRICE,\n hasAlphaVault,\n liquidity: liquidityQ64,\n sqrtPrice: sqrtPriceQ64,\n activationType,\n collectFeeMode,\n activationPoint,\n })\n .accounts({\n creator,\n positionNftMint: positionNft,\n payer: payer,\n pool,\n tokenAMint,\n tokenBMint,\n payerTokenA,\n payerTokenB,\n tokenAProgram,\n tokenBProgram,\n })\n .preInstructions(preInstructions)\n .transaction();\n\n return { tx: transaction, pool, position };\n }\n\n async createPosition(params: CreatePositionParams): TxBuilder {\n const { owner, payer, pool, positionNft } = params;\n\n return await this._program.methods\n .createPosition()\n .accounts({\n owner,\n positionNftMint: positionNft,\n payer: payer,\n pool,\n })\n .transaction();\n }\n\n async addLiquidity(params: AddLiquidityParams): TxBuilder {\n const {\n owner,\n position,\n positionNftMint,\n liquidityDeltaQ64,\n maxAmountTokenA,\n maxAmountTokenB,\n tokenAAmountThreshold,\n tokenBAmountThreshold,\n tokenAMint,\n tokenBMint,\n tokenAProgram,\n tokenBProgram,\n } = params;\n const positionNftAccount = derivePositionNftAccount(\n positionNftMint,\n this._program.programId\n );\n\n const preInstructions: TransactionInstruction[] = [];\n const [\n { ataPubkey: tokenAAccount, ix: createTokenATokenAccountIx },\n { ataPubkey: tokenBAccount, ix: createTokenBTokenAccountIx },\n ] = await Promise.all([\n getOrCreateATAInstruction(\n this._program.provider.connection,\n tokenAMint,\n owner,\n owner,\n true,\n tokenAProgram\n ),\n getOrCreateATAInstruction(\n this._program.provider.connection,\n tokenBMint,\n owner,\n owner,\n true,\n tokenBProgram\n ),\n ]);\n\n createTokenATokenAccountIx &&\n preInstructions.push(createTokenATokenAccountIx);\n createTokenBTokenAccountIx &&\n preInstructions.push(createTokenBTokenAccountIx);\n\n if (tokenAMint.equals(NATIVE_MINT)) {\n const wrapSOLIx = wrapSOLInstruction(\n owner,\n tokenAAccount,\n BigInt(maxAmountTokenA.toString())\n );\n\n preInstructions.push(...wrapSOLIx);\n }\n\n if (tokenBMint.equals(NATIVE_MINT)) {\n const wrapSOLIx = wrapSOLInstruction(\n owner,\n tokenBAccount,\n BigInt(maxAmountTokenB.toString())\n );\n\n preInstructions.push(...wrapSOLIx);\n }\n\n const postInstructions: TransactionInstruction[] = [];\n if (\n [tokenAMint.toBase58(), tokenBMint.toBase58()].includes(\n NATIVE_MINT.toBase58()\n )\n ) {\n const closeWrappedSOLIx = await unwrapSOLInstruction(owner);\n closeWrappedSOLIx && postInstructions.push(closeWrappedSOLIx);\n }\n return await this._program.methods\n .addLiquidity({\n liquidityDelta: liquidityDeltaQ64,\n tokenAAmountThreshold,\n tokenBAmountThreshold,\n })\n .accounts({\n position,\n positionNftAccount,\n owner: owner,\n tokenAAccount,\n tokenBAccount,\n tokenAProgram,\n tokenBProgram,\n })\n .preInstructions(preInstructions)\n .postInstructions(postInstructions)\n .transaction();\n }\n\n async removeLiquidity(params: RemoveLiquidityParams): TxBuilder {\n const {\n owner,\n position,\n positionNftMint,\n liquidityDeltaQ64,\n tokenAAmountThreshold,\n tokenBAmountThreshold,\n tokenAMint,\n tokenBMint,\n tokenAProgram,\n tokenBProgram,\n } = params;\n const positionNftAccount = derivePositionNftAccount(\n positionNftMint,\n this._program.programId\n );\n\n const preInstructions: TransactionInstruction[] = [];\n const [\n { ataPubkey: tokenAAccount, ix: createTokenAAccountIx },\n { ataPubkey: tokenBAccount, ix: createTokenBAccountIx },\n ] = await Promise.all([\n getOrCreateATAInstruction(\n this._program.provider.connection,\n tokenAMint,\n owner,\n owner,\n true,\n tokenAProgram\n ),\n getOrCreateATAInstruction(\n this._program.provider.connection,\n tokenBMint,\n owner,\n owner,\n true,\n tokenBProgram\n ),\n ]);\n createTokenAAccountIx && preInstructions.push(createTokenAAccountIx);\n createTokenBAccountIx && preInstructions.push(createTokenBAccountIx);\n\n const postInstructions: TransactionInstruction[] = [];\n if (\n [tokenAMint.toBase58(), tokenBMint.toBase58()].includes(\n NATIVE_MINT.toBase58()\n )\n ) {\n const closeWrappedSOLIx = await unwrapSOLInstruction(owner);\n closeWrappedSOLIx && postInstructions.push(closeWrappedSOLIx);\n }\n\n return await this._program.methods\n .removeLiquidity({\n liquidityDelta: liquidityDeltaQ64,\n tokenAAmountThreshold,\n tokenBAmountThreshold,\n })\n .accounts({\n position,\n positionNftAccount,\n owner: owner,\n tokenAAccount,\n tokenBAccount,\n tokenAProgram,\n tokenBProgram,\n })\n .preInstructions(preInstructions)\n .postInstructions(postInstructions)\n .transaction();\n }\n\n async swap(params: SwapParams): TxBuilder {\n const {\n payer,\n pool,\n inputTokenMint,\n outputTokenMint,\n amountIn,\n minimumAmountOut,\n tokenAMint,\n tokenBMint,\n tokenAProgram,\n tokenBProgram,\n referralTokenAccount,\n } = params;\n\n const preInstructions: TransactionInstruction[] = [];\n const [\n { ataPubkey: inputTokenAccount, ix: createInputTokenAccountIx },\n { ataPubkey: outputTokenAccount, ix: createOutputTokenAccountIx },\n ] = await Promise.all([\n getOrCreateATAInstruction(\n this._program.provider.connection,\n inputTokenMint,\n payer,\n payer,\n true,\n tokenAProgram\n ),\n getOrCreateATAInstruction(\n this._program.provider.connection,\n outputTokenMint,\n payer,\n payer,\n true,\n tokenBProgram\n ),\n ]);\n createInputTokenAccountIx &&\n preInstructions.push(createInputTokenAccountIx);\n createOutputTokenAccountIx &&\n preInstructions.push(createOutputTokenAccountIx);\n\n if (inputTokenMint.equals(NATIVE_MINT)) {\n const wrapSOLIx = wrapSOLInstruction(\n payer,\n inputTokenAccount,\n BigInt(amountIn.toString())\n );\n\n preInstructions.push(...wrapSOLIx);\n }\n\n const postInstructions: TransactionInstruction[] = [];\n if (\n [tokenAMint.toBase58(), tokenBMint.toBase58()].includes(\n NATIVE_MINT.toBase58()\n )\n ) {\n const closeWrappedSOLIx = await unwrapSOLInstruction(payer);\n closeWrappedSOLIx && postInstructions.push(closeWrappedSOLIx);\n }\n\n return await this._program.methods\n .swap({\n amountIn,\n minimumAmountOut,\n })\n .accounts({\n pool,\n payer: payer,\n inputTokenAccount,\n outputTokenAccount,\n tokenAMint: tokenAMint,\n tokenBMint: tokenBMint,\n tokenAProgram,\n tokenBProgram,\n referralTokenAccount,\n })\n .preInstructions(preInstructions)\n .postInstructions(postInstructions)\n .transaction();\n }\n\n async lockPosition(params: LockPositionParams): TxBuilder {\n const {\n owner,\n payer,\n vestingAccount,\n position,\n positionNftMint,\n cliffPoint,\n periodFrequency,\n cliffUnlockLiquidity,\n liquidityPerPeriod,\n numberOfPeriod,\n vestings,\n } = params;\n const positionNftAccount = derivePositionNftAccount(\n positionNftMint,\n this._program.programId\n );\n\n const lockPositionParams = {\n cliffPoint,\n periodFrequency,\n cliffUnlockLiquidity,\n liquidityPerPeriod,\n numberOfPeriod,\n index: vestings.length,\n };\n return await this._program.methods\n .lockPosition(lockPositionParams)\n .accounts({\n position,\n positionNftAccount,\n vesting: vestingAccount,\n owner: owner,\n payer: payer,\n })\n .transaction();\n }\n\n async permanentLockPosition(params: PermanentLockParams): TxBuilder {\n const { owner, position, positionNftMint, pool, unlockedLiquidity } =\n params;\n const positionNftAccount = derivePositionNftAccount(\n positionNftMint,\n this._program.programId\n );\n\n return await this._program.methods\n .permanentLockPosition(unlockedLiquidity)\n .accounts({\n position,\n positionNftAccount,\n owner,\n })\n .transaction();\n }\n\n async refreshVesting(params: RefreshVestingParams): TxBuilder {\n const { owner, position, positionNftMint, pool, vestings } = params;\n const positionNftAccount = derivePositionNftAccount(\n positionNftMint,\n this._program.programId\n );\n\n return await this._program.methods\n .refreshVesting()\n .accounts({\n position,\n positionNftAccount,\n owner,\n })\n .remainingAccounts(\n vestings.map((pubkey: PublicKey) => {\n return {\n isSigner: false,\n isWritable: true,\n pubkey,\n };\n })\n )\n .transaction();\n }\n\n async claimPositionFee(params: ClaimPositionFeeParams): TxBuilder {\n const {\n owner,\n position,\n nftPositionMint,\n tokenAMint,\n tokenBMint,\n tokenAProgram,\n tokenBProgram,\n } = params;\n\n const positionNftAccount = derivePositionNftAccount(\n nftPositionMint,\n this._program.programId\n );\n\n const preInstructions: TransactionInstruction[] = [];\n const [\n { ataPubkey: tokenAAccount, ix: createTokenAAccountIx },\n { ataPubkey: tokenBAccount, ix: createTokenBAccountIx },\n ] = await Promise.all([\n getOrCreateATAInstruction(\n this._program.provider.connection,\n tokenAMint,\n owner,\n owner,\n true,\n tokenAProgram\n ),\n getOrCreateATAInstruction(\n this._program.provider.connection,\n tokenBMint,\n owner,\n owner,\n true,\n tokenBProgram\n ),\n ]);\n createTokenAAccountIx && preInstructions.push(createTokenAAccountIx);\n createTokenBAccountIx && preInstructions.push(createTokenBAccountIx);\n\n const postInstructions: TransactionInstruction[] = [];\n if (\n [tokenAMint.toBase58(), tokenBMint.toBase58()].includes(\n NATIVE_MINT.toBase58()\n )\n ) {\n const closeWrappedSOLIx = await unwrapSOLInstruction(owner);\n closeWrappedSOLIx && postInstructions.push(closeWrappedSOLIx);\n }\n\n return await this._program.methods\n .claimPositionFee()\n .accounts({\n owner: owner,\n position,\n positionNftAccount,\n tokenAAccount,\n tokenBAccount,\n tokenAProgram,\n tokenBProgram,\n })\n .preInstructions(preInstructions)\n .postInstructions(postInstructions)\n .transaction();\n }\n\n async updateRewardDuration(params: UpdateRewardDurationParams): TxBuilder {\n const { pool, admin, rewardIndex, newDuration } = params;\n return await this._program.methods\n .updateRewardDuration(rewardIndex, newDuration)\n .accounts({\n pool,\n admin: admin,\n })\n .transaction();\n }\n\n async updateRewardFunder(params: UpdateRewardFunderParams): TxBuilder {\n const { pool, admin, rewardIndex, newFunder } = params;\n return await this._program.methods\n .updateRewardFunder(rewardIndex, newFunder)\n .accounts({\n pool,\n admin: admin,\n })\n .transaction();\n }\n\n async fundReward(params: FundRewardParams): TxBuilder {\n const { rewardIndex, carryForward, pool, funder, amount } = params;\n\n const poolState = await this.fetchPoolState(pool);\n const rewardInfo = poolState.rewardInfos[rewardIndex];\n const { vault, mint } = rewardInfo;\n const tokenProgram = getTokenProgram(rewardIndex);\n\n const preInstructions: TransactionInstruction[] = [];\n\n const { ataPubkey: funderTokenAccount, ix: createFunderTokenAccountIx } =\n await getOrCreateATAInstruction(\n this._program.provider.connection,\n mint,\n funder,\n funder,\n true,\n tokenProgram\n );\n\n createFunderTokenAccountIx &&\n preInstructions.push(createFunderTokenAccountIx);\n\n // TODO: check case reward mint is wSOL && carryForward is true => total amount > amount\n if (mint.equals(NATIVE_MINT) && !amount.isZero()) {\n const wrapSOLIx = wrapSOLInstruction(\n funder,\n funderTokenAccount,\n BigInt(amount.toString())\n );\n\n preInstructions.push(...wrapSOLIx);\n }\n\n return await this._program.methods\n .fundReward(rewardIndex, amount, carryForward)\n .accounts({\n pool,\n rewardVault: vault,\n rewardMint: mint,\n funderTokenAccount,\n funder: funder,\n tokenProgram,\n })\n .transaction();\n }\n\n async withdrawIneligibleReward(\n params: WithdrawIneligibleRewardParams\n ): TxBuilder {\n const { rewardIndex, pool, funder } = params;\n\n const poolState = await this.fetchPoolState(pool);\n\n const rewardInfo = poolState.rewardInfos[rewardIndex];\n const { mint, vault, rewardTokenFlag } = rewardInfo;\n const tokenProgram = getTokenProgram(rewardTokenFlag);\n\n const preInstructions: TransactionInstruction[] = [];\n const postInstructions: TransactionInstruction[] = [];\n const { ataPubkey: funderTokenAccount, ix: createFunderTokenAccountIx } =\n await getOrCreateATAInstruction(\n this._program.provider.connection,\n mint,\n funder,\n funder,\n true,\n tokenProgram\n );\n createFunderTokenAccountIx &&\n preInstructions.push(createFunderTokenAccountIx);\n\n if (mint.equals(NATIVE_MINT)) {\n const closeWrappedSOLIx = await unwrapSOLInstruction(funder);\n closeWrappedSOLIx && postInstructions.push(closeWrappedSOLIx);\n }\n\n return await this._program.methods\n .withdrawIneligibleReward(rewardIndex)\n .accounts({\n pool,\n rewardVault: vault,\n rewardMint: mint,\n funderTokenAccount,\n funder: funder,\n tokenProgram,\n })\n .preInstructions(preInstructions)\n .postInstructions(postInstructions)\n .transaction();\n }\n\n async claimPartnerFee(params: ClaimPartnerFeeParams): TxBuilder {\n const { partner, pool, maxAmountA, maxAmountB } = params;\n const poolState = await this.fetchPoolState(pool);\n const { tokenAFlag, tokenBFlag } = poolState;\n\n const tokenAProgram = getTokenProgram(tokenAFlag);\n const tokenBProgram = getTokenProgram(tokenBFlag);\n\n const preInstructions: TransactionInstruction[] = [];\n const [\n { ataPubkey: tokenAAccount, ix: createTokenAAccountIx },\n { ataPubkey: tokenBAccount, ix: createTokenBAccountIx },\n ] = await Promise.all([\n getOrCreateATAInstruction(\n this._program.provider.connection,\n poolState.tokenAMint,\n partner,\n partner,\n true,\n tokenAProgram\n ),\n getOrCreateATAInstruction(\n this._program.provider.connection,\n poolState.tokenBMint,\n partner,\n partner,\n true,\n tokenBProgram\n ),\n ]);\n createTokenAAccountIx && preInstructions.push(createTokenAAccountIx);\n createTokenBAccountIx && preInstructions.push(createTokenBAccountIx);\n\n const postInstructions: TransactionInstruction[] = [];\n if (\n [\n poolState.tokenAMint.toBase58(),\n poolState.tokenBMint.toBase58(),\n ].includes(NATIVE_MINT.toBase58())\n ) {\n const closeWrappedSOLIx = await unwrapSOLInstruction(partner);\n closeWrappedSOLIx && postInstructions.push(closeWrappedSOLIx);\n }\n\n return await this._program.methods\n .claimPartnerFee(maxAmountA, maxAmountB)\n .accounts({\n pool,\n tokenAAccount,\n tokenBAccount,\n tokenAProgram,\n tokenBProgram,\n })\n .preInstructions(preInstructions)\n .postInstructions(postInstructions)\n .transaction();\n }\n\n async claimReward(params: ClaimRewardParams): TxBuilder {\n const { user, position, rewardIndex } = params;\n\n const positionState = await this.fetchPositionState(position);\n const poolState = await this.fetchPoolState(positionState.pool);\n\n const positionNftAccount = derivePositionNftAccount(\n positionState.nftMint,\n this._program.programId\n );\n\n const rewardInfo = poolState.rewardInfos[rewardIndex];\n const tokenProgram = getTokenProgram(rewardInfo.rewardTokenFlag);\n\n const preInstructions: TransactionInstruction[] = [];\n const postInstructions: TransactionInstruction[] = [];\n const { ataPubkey: userTokenAccount, ix: createUserTokenAccountIx } =\n await getOrCreateATAInstruction(\n this._program.provider.connection,\n rewardInfo.mint,\n user,\n user,\n true,\n tokenProgram\n );\n createUserTokenAccountIx && preInstructions.push(createUserTokenAccountIx);\n\n if (rewardInfo.mint.equals(NATIVE_MINT)) {\n const closeWrappedSOLIx = await unwrapSOLInstruction(user);\n closeWrappedSOLIx && postInstructions.push(closeWrappedSOLIx);\n }\n return await this._program.methods\n .claimReward(rewardIndex)\n .accounts({\n positionNftAccount,\n rewardVault: rewardInfo.vault,\n rewardMint: rewardInfo.mint,\n position,\n userTokenAccount,\n owner: user,\n tokenProgram,\n })\n .preInstructions(preInstructions)\n .postInstructions(postInstructions)\n .transaction();\n }\n}\n","{\n \"address\": \"cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG\",\n \"metadata\": {\n \"name\": \"cp_amm\",\n \"version\": \"0.1.0\",\n \"spec\": \"0.1.0\",\n \"description\": \"Created with Anchor\"\n },\n \"instructions\": [\n {\n \"name\": \"add_liquidity\",\n \"discriminator\": [\n 181,\n 157,\n 89,\n 67,\n 143,\n 182,\n 52,\n 72\n ],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"relations\": [\n \"position\"\n ]\n },\n {\n \"name\": \"position\",\n \"writable\": true\n },\n {\n \"name\": \"token_a_account\",\n \"docs\": [\n \"The user token a account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_b_account\",\n \"docs\": [\n \"The user token b account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_a_vault\",\n \"docs\": [\n \"The vault token account for input token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_vault\",\n \"docs\": [\n \"The vault token account for output token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_a_mint\",\n \"docs\": [\n \"The mint of token a\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_mint\",\n \"docs\": [\n \"The mint of token b\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"position_nft_account\",\n \"docs\": [\n \"The token account for nft\"\n ]\n },\n {\n \"name\": \"owner\",\n \"docs\": [\n \"owner of position\"\n ],\n \"signer\": true\n },\n {\n \"name\": \"token_a_program\",\n \"docs\": [\n \"Token a program\"\n ]\n },\n {\n \"name\": \"token_b_program\",\n \"docs\": [\n \"Token b program\"\n ]\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"params\",\n \"type\": {\n \"defined\": {\n \"name\": \"AddLiquidityParameters\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"claim_partner_fee\",\n \"discriminator\": [\n 97,\n 206,\n 39,\n 105,\n 94,\n 94,\n 126,\n 148\n ],\n \"accounts\": [\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"writable\": true\n },\n {\n \"name\": \"token_a_account\",\n \"docs\": [\n \"The treasury token a account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_b_account\",\n \"docs\": [\n \"The treasury token b account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_a_vault\",\n \"docs\": [\n \"The vault token account for input token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_vault\",\n \"docs\": [\n \"The vault token account for output token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_a_mint\",\n \"docs\": [\n \"The mint of token a\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_mint\",\n \"docs\": [\n \"The mint of token b\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"partner\",\n \"signer\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_a_program\",\n \"docs\": [\n \"Token a program\"\n ]\n },\n {\n \"name\": \"token_b_program\",\n \"docs\": [\n \"Token b program\"\n ]\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"max_amount_a\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"max_amount_b\",\n \"type\": \"u64\"\n }\n ]\n },\n {\n \"name\": \"claim_position_fee\",\n \"discriminator\": [\n 180,\n 38,\n 154,\n 17,\n 133,\n 33,\n 162,\n 211\n ],\n \"accounts\": [\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"relations\": [\n \"position\"\n ]\n },\n {\n \"name\": \"position\",\n \"writable\": true\n },\n {\n \"name\": \"token_a_account\",\n \"docs\": [\n \"The user token a account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_b_account\",\n \"docs\": [\n \"The user token b account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_a_vault\",\n \"docs\": [\n \"The vault token account for input token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_vault\",\n \"docs\": [\n \"The vault token account for output token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_a_mint\",\n \"docs\": [\n \"The mint of token a\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_mint\",\n \"docs\": [\n \"The mint of token b\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"position_nft_account\",\n \"docs\": [\n \"The token account for nft\"\n ]\n },\n {\n \"name\": \"owner\",\n \"docs\": [\n \"owner of position\"\n ],\n \"signer\": true\n },\n {\n \"name\": \"token_a_program\",\n \"docs\": [\n \"Token a program\"\n ]\n },\n {\n \"name\": \"token_b_program\",\n \"docs\": [\n \"Token b program\"\n ]\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": []\n },\n {\n \"name\": \"claim_protocol_fee\",\n \"discriminator\": [\n 165,\n 228,\n 133,\n 48,\n 99,\n 249,\n 255,\n 33\n ],\n \"accounts\": [\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"writable\": true\n },\n {\n \"name\": \"token_a_vault\",\n \"docs\": [\n \"The vault token account for input token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_vault\",\n \"docs\": [\n \"The vault token account for output token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_a_mint\",\n \"docs\": [\n \"The mint of token a\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_mint\",\n \"docs\": [\n \"The mint of token b\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_a_account\",\n \"docs\": [\n \"The treasury token a account\"\n ],\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 153,\n 10,\n 107,\n 154,\n 255,\n 249,\n 210,\n 173,\n 176,\n 67,\n 220,\n 214,\n 152,\n 71,\n 46,\n 146,\n 161,\n 33,\n 81,\n 148,\n 166,\n 119,\n 5,\n 189,\n 142,\n 11,\n 57,\n 68,\n 162,\n 70,\n 126,\n 100\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_a_program\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_a_mint\"\n }\n ],\n \"program\": {\n \"kind\": \"const\",\n \"value\": [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89\n ]\n }\n }\n },\n {\n \"name\": \"token_b_account\",\n \"docs\": [\n \"The treasury token b account\"\n ],\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 153,\n 10,\n 107,\n 154,\n 255,\n 249,\n 210,\n 173,\n 176,\n 67,\n 220,\n 214,\n 152,\n 71,\n 46,\n 146,\n 161,\n 33,\n 81,\n 148,\n 166,\n 119,\n 5,\n 189,\n 142,\n 11,\n 57,\n 68,\n 162,\n 70,\n 126,\n 100\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_b_program\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_b_mint\"\n }\n ],\n \"program\": {\n \"kind\": \"const\",\n \"value\": [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89\n ]\n }\n }\n },\n {\n \"name\": \"claim_fee_operator\",\n \"docs\": [\n \"Claim fee operator\"\n ]\n },\n {\n \"name\": \"operator\",\n \"docs\": [\n \"Operator\"\n ],\n \"signer\": true,\n \"relations\": [\n \"claim_fee_operator\"\n ]\n },\n {\n \"name\": \"token_a_program\",\n \"docs\": [\n \"Token a program\"\n ]\n },\n {\n \"name\": \"token_b_program\",\n \"docs\": [\n \"Token b program\"\n ]\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": []\n },\n {\n \"name\": \"claim_reward\",\n \"discriminator\": [\n 149,\n 95,\n 181,\n 242,\n 94,\n 90,\n 158,\n 162\n ],\n \"accounts\": [\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"relations\": [\n \"position\"\n ]\n },\n {\n \"name\": \"position\",\n \"writable\": true\n },\n {\n \"name\": \"reward_vault\",\n \"docs\": [\n \"The vault token account for reward token\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"reward_mint\"\n },\n {\n \"name\": \"user_token_account\",\n \"writable\": true\n },\n {\n \"name\": \"position_nft_account\",\n \"docs\": [\n \"The token account for nft\"\n ]\n },\n {\n \"name\": \"owner\",\n \"docs\": [\n \"owner of position\"\n ],\n \"signer\": true\n },\n {\n \"name\": \"token_program\"\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"reward_index\",\n \"type\": \"u8\"\n }\n ]\n },\n {\n \"name\": \"close_claim_fee_operator\",\n \"discriminator\": [\n 38,\n 134,\n 82,\n 216,\n 95,\n 124,\n 17,\n 99\n ],\n \"accounts\": [\n {\n \"name\": \"claim_fee_operator\",\n \"writable\": true\n },\n {\n \"name\": \"rent_receiver\",\n \"writable\": true\n },\n {\n \"name\": \"admin\",\n \"signer\": true\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": []\n },\n {\n \"name\": \"close_config\",\n \"discriminator\": [\n 145,\n 9,\n 72,\n 157,\n 95,\n 125,\n 61,\n 85\n ],\n \"accounts\": [\n {\n \"name\": \"config\",\n \"writable\": true\n },\n {\n \"name\": \"admin\",\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"rent_receiver\",\n \"writable\": true\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": []\n },\n {\n \"name\": \"create_claim_fee_operator\",\n \"discriminator\": [\n 169,\n 62,\n 207,\n 107,\n 58,\n 187,\n 162,\n 109\n ],\n \"accounts\": [\n {\n \"name\": \"claim_fee_operator\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 99,\n 102,\n 95,\n 111,\n 112,\n 101,\n 114,\n 97,\n 116,\n 111,\n 114\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"operator\"\n }\n ]\n }\n },\n {\n \"name\": \"operator\"\n },\n {\n \"name\": \"admin\",\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"system_program\",\n \"address\": \"11111111111111111111111111111111\"\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": []\n },\n {\n \"name\": \"create_config\",\n \"docs\": [\n \"ADMIN FUNCTIONS ////\"\n ],\n \"discriminator\": [\n 201,\n 207,\n 243,\n 114,\n 75,\n 111,\n 47,\n 189\n ],\n \"accounts\": [\n {\n \"name\": \"config\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 99,\n 111,\n 110,\n 102,\n 105,\n 103\n ]\n },\n {\n \"kind\": \"arg\",\n \"path\": \"config_parameters.index\"\n }\n ]\n }\n },\n {\n \"name\": \"admin\",\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"system_program\",\n \"address\": \"11111111111111111111111111111111\"\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"config_parameters\",\n \"type\": {\n \"defined\": {\n \"name\": \"ConfigParameters\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"create_position\",\n \"discriminator\": [\n 48,\n 215,\n 197,\n 153,\n 96,\n 203,\n 180,\n 133\n ],\n \"accounts\": [\n {\n \"name\": \"owner\"\n },\n {\n \"name\": \"position_nft_mint\",\n \"docs\": [\n \"position_nft_mint\"\n ],\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"position_nft_account\",\n \"docs\": [\n \"position nft account\"\n ],\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 115,\n 105,\n 116,\n 105,\n 111,\n 110,\n 95,\n 110,\n 102,\n 116,\n 95,\n 97,\n 99,\n 99,\n 111,\n 117,\n 110,\n 116\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"position_nft_mint\"\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"writable\": true\n },\n {\n \"name\": \"position\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 115,\n 105,\n 116,\n 105,\n 111,\n 110\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"position_nft_mint\"\n }\n ]\n }\n },\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"payer\",\n \"docs\": [\n \"Address paying to create the position. Can be anyone\"\n ],\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"token_program\",\n \"docs\": [\n \"Program to create NFT mint/token account and transfer for token22 account\"\n ],\n \"address\": \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"\n },\n {\n \"name\": \"system_program\",\n \"address\": \"11111111111111111111111111111111\"\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": []\n },\n {\n \"name\": \"create_token_badge\",\n \"discriminator\": [\n 88,\n 206,\n 0,\n 91,\n 60,\n 175,\n 151,\n 118\n ],\n \"accounts\": [\n {\n \"name\": \"token_badge\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 116,\n 111,\n 107,\n 101,\n 110,\n 95,\n 98,\n 97,\n 100,\n 103,\n 101\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_mint\"\n }\n ]\n }\n },\n {\n \"name\": \"token_mint\"\n },\n {\n \"name\": \"admin\",\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"system_program\",\n \"address\": \"11111111111111111111111111111111\"\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": []\n },\n {\n \"name\": \"fund_reward\",\n \"discriminator\": [\n 188,\n 50,\n 249,\n 165,\n 93,\n 151,\n 38,\n 63\n ],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true\n },\n {\n \"name\": \"reward_vault\",\n \"writable\": true\n },\n {\n \"name\": \"reward_mint\"\n },\n {\n \"name\": \"funder_token_account\",\n \"writable\": true\n },\n {\n \"name\": \"funder\",\n \"signer\": true\n },\n {\n \"name\": \"token_program\"\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"reward_index\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"carry_forward\",\n \"type\": \"bool\"\n }\n ]\n },\n {\n \"name\": \"initialize_customizable_pool\",\n \"discriminator\": [\n 20,\n 161,\n 241,\n 24,\n 189,\n 221,\n 180,\n 2\n ],\n \"accounts\": [\n {\n \"name\": \"creator\"\n },\n {\n \"name\": \"position_nft_mint\",\n \"docs\": [\n \"position_nft_mint\"\n ],\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"position_nft_account\",\n \"docs\": [\n \"position nft account\"\n ],\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 115,\n 105,\n 116,\n 105,\n 111,\n 110,\n 95,\n 110,\n 102,\n 116,\n 95,\n 97,\n 99,\n 99,\n 111,\n 117,\n 110,\n 116\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"position_nft_mint\"\n }\n ]\n }\n },\n {\n \"name\": \"payer\",\n \"docs\": [\n \"Address paying to create the pool. Can be anyone\"\n ],\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"docs\": [\n \"Initialize an account to store the pool state\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"position\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 115,\n 105,\n 116,\n 105,\n 111,\n 110\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"position_nft_mint\"\n }\n ]\n }\n },\n {\n \"name\": \"token_a_mint\",\n \"docs\": [\n \"Token a mint\"\n ]\n },\n {\n \"name\": \"token_b_mint\",\n \"docs\": [\n \"Token b mint\"\n ]\n },\n {\n \"name\": \"token_a_vault\",\n \"docs\": [\n \"Token a vault for the pool\"\n ],\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 116,\n 111,\n 107,\n 101,\n 110,\n 95,\n 118,\n 97,\n 117,\n 108,\n 116\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_a_mint\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"token_b_vault\",\n \"docs\": [\n \"Token b vault for the pool\"\n ],\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 116,\n 111,\n 107,\n 101,\n 110,\n 95,\n 118,\n 97,\n 117,\n 108,\n 116\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_b_mint\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"payer_token_a\",\n \"docs\": [\n \"payer token a account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"payer_token_b\",\n \"docs\": [\n \"creator token b account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_a_program\",\n \"docs\": [\n \"Program to create mint account and mint tokens\"\n ]\n },\n {\n \"name\": \"token_b_program\",\n \"docs\": [\n \"Program to create mint account and mint tokens\"\n ]\n },\n {\n \"name\": \"token_2022_program\",\n \"docs\": [\n \"Program to create NFT mint/token account and transfer for token22 account\"\n ],\n \"address\": \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"\n },\n {\n \"name\": \"system_program\",\n \"address\": \"11111111111111111111111111111111\"\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"params\",\n \"type\": {\n \"defined\": {\n \"name\": \"InitializeCustomizablePoolParameters\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"initialize_pool\",\n \"docs\": [\n \"USER FUNCTIONS ////\"\n ],\n \"discriminator\": [\n 95,\n 180,\n 10,\n 172,\n 84,\n 174,\n 232,\n 40\n ],\n \"accounts\": [\n {\n \"name\": \"creator\"\n },\n {\n \"name\": \"position_nft_mint\",\n \"docs\": [\n \"position_nft_mint\"\n ],\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"position_nft_account\",\n \"docs\": [\n \"position nft account\"\n ],\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 115,\n 105,\n 116,\n 105,\n 111,\n 110,\n 95,\n 110,\n 102,\n 116,\n 95,\n 97,\n 99,\n 99,\n 111,\n 117,\n 110,\n 116\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"position_nft_mint\"\n }\n ]\n }\n },\n {\n \"name\": \"payer\",\n \"docs\": [\n \"Address paying to create the pool. Can be anyone\"\n ],\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"config\",\n \"docs\": [\n \"Which config the pool belongs to.\"\n ]\n },\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"docs\": [\n \"Initialize an account to store the pool state\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"position\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 115,\n 105,\n 116,\n 105,\n 111,\n 110\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"position_nft_mint\"\n }\n ]\n }\n },\n {\n \"name\": \"token_a_mint\",\n \"docs\": [\n \"Token a mint\"\n ]\n },\n {\n \"name\": \"token_b_mint\",\n \"docs\": [\n \"Token b mint\"\n ]\n },\n {\n \"name\": \"token_a_vault\",\n \"docs\": [\n \"Token a vault for the pool\"\n ],\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 116,\n 111,\n 107,\n 101,\n 110,\n 95,\n 118,\n 97,\n 117,\n 108,\n 116\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_a_mint\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"token_b_vault\",\n \"docs\": [\n \"Token b vault for the pool\"\n ],\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 116,\n 111,\n 107,\n 101,\n 110,\n 95,\n 118,\n 97,\n 117,\n 108,\n 116\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_b_mint\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"payer_token_a\",\n \"docs\": [\n \"payer token a account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"payer_token_b\",\n \"docs\": [\n \"creator token b account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_a_program\",\n \"docs\": [\n \"Program to create mint account and mint tokens\"\n ]\n },\n {\n \"name\": \"token_b_program\",\n \"docs\": [\n \"Program to create mint account and mint tokens\"\n ]\n },\n {\n \"name\": \"token_2022_program\",\n \"docs\": [\n \"Program to create NFT mint/token account and transfer for token22 account\"\n ],\n \"address\": \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"\n },\n {\n \"name\": \"system_program\",\n \"address\": \"11111111111111111111111111111111\"\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"params\",\n \"type\": {\n \"defined\": {\n \"name\": \"InitializePoolParameters\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"initialize_reward\",\n \"discriminator\": [\n 95,\n 135,\n 192,\n 196,\n 242,\n 129,\n 230,\n 68\n ],\n \"accounts\": [\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"writable\": true\n },\n {\n \"name\": \"reward_vault\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 114,\n 101,\n 119,\n 97,\n 114,\n 100,\n 95,\n 118,\n 97,\n 117,\n 108,\n 116\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n },\n {\n \"kind\": \"arg\",\n \"path\": \"reward_index\"\n }\n ]\n }\n },\n {\n \"name\": \"reward_mint\"\n },\n {\n \"name\": \"admin\",\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"token_program\"\n },\n {\n \"name\": \"system_program\",\n \"address\": \"11111111111111111111111111111111\"\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"reward_index\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"reward_duration\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"funder\",\n \"type\": \"pubkey\"\n }\n ]\n },\n {\n \"name\": \"lock_position\",\n \"discriminator\": [\n 227,\n 62,\n 2,\n 252,\n 247,\n 10,\n 171,\n 185\n ],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"relations\": [\n \"position\"\n ]\n },\n {\n \"name\": \"position\",\n \"writable\": true\n },\n {\n \"name\": \"vesting\",\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"position_nft_account\",\n \"docs\": [\n \"The token account for nft\"\n ]\n },\n {\n \"name\": \"owner\",\n \"docs\": [\n \"owner of position\"\n ],\n \"signer\": true\n },\n {\n \"name\": \"payer\",\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"system_program\",\n \"address\": \"11111111111111111111111111111111\"\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"params\",\n \"type\": {\n \"defined\": {\n \"name\": \"VestingParameters\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"permanent_lock_position\",\n \"discriminator\": [\n 165,\n 176,\n 125,\n 6,\n 231,\n 171,\n 186,\n 213\n ],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"relations\": [\n \"position\"\n ]\n },\n {\n \"name\": \"position\",\n \"writable\": true\n },\n {\n \"name\": \"position_nft_account\",\n \"docs\": [\n \"The token account for nft\"\n ]\n },\n {\n \"name\": \"owner\",\n \"docs\": [\n \"owner of position\"\n ],\n \"signer\": true\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"permanent_lock_liquidity\",\n \"type\": \"u128\"\n }\n ]\n },\n {\n \"name\": \"refresh_vesting\",\n \"discriminator\": [\n 9,\n 94,\n 216,\n 14,\n 116,\n 204,\n 247,\n 0\n ],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"relations\": [\n \"position\"\n ]\n },\n {\n \"name\": \"position\",\n \"writable\": true\n },\n {\n \"name\": \"position_nft_account\",\n \"docs\": [\n \"The token account for nft\"\n ]\n },\n {\n \"name\": \"owner\"\n }\n ],\n \"args\": []\n },\n {\n \"name\": \"remove_all_liquidity\",\n \"discriminator\": [\n 10,\n 51,\n 61,\n 35,\n 112,\n 105,\n 24,\n 85\n ],\n \"accounts\": [\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"relations\": [\n \"position\"\n ]\n },\n {\n \"name\": \"position\",\n \"writable\": true\n },\n {\n \"name\": \"token_a_account\",\n \"docs\": [\n \"The user token a account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_b_account\",\n \"docs\": [\n \"The user token b account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_a_vault\",\n \"docs\": [\n \"The vault token account for input token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_vault\",\n \"docs\": [\n \"The vault token account for output token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_a_mint\",\n \"docs\": [\n \"The mint of token a\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_mint\",\n \"docs\": [\n \"The mint of token b\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"position_nft_account\",\n \"docs\": [\n \"The token account for nft\"\n ]\n },\n {\n \"name\": \"owner\",\n \"docs\": [\n \"owner of position\"\n ],\n \"signer\": true\n },\n {\n \"name\": \"token_a_program\",\n \"docs\": [\n \"Token a program\"\n ]\n },\n {\n \"name\": \"token_b_program\",\n \"docs\": [\n \"Token b program\"\n ]\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"token_a_amount_threshold\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"token_b_amount_threshold\",\n \"type\": \"u64\"\n }\n ]\n },\n {\n \"name\": \"remove_liquidity\",\n \"discriminator\": [\n 80,\n 85,\n 209,\n 72,\n 24,\n 206,\n 177,\n 108\n ],\n \"accounts\": [\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"relations\": [\n \"position\"\n ]\n },\n {\n \"name\": \"position\",\n \"writable\": true\n },\n {\n \"name\": \"token_a_account\",\n \"docs\": [\n \"The user token a account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_b_account\",\n \"docs\": [\n \"The user token b account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_a_vault\",\n \"docs\": [\n \"The vault token account for input token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_vault\",\n \"docs\": [\n \"The vault token account for output token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_a_mint\",\n \"docs\": [\n \"The mint of token a\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_mint\",\n \"docs\": [\n \"The mint of token b\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"position_nft_account\",\n \"docs\": [\n \"The token account for nft\"\n ]\n },\n {\n \"name\": \"owner\",\n \"docs\": [\n \"owner of position\"\n ],\n \"signer\": true\n },\n {\n \"name\": \"token_a_program\",\n \"docs\": [\n \"Token a program\"\n ]\n },\n {\n \"name\": \"token_b_program\",\n \"docs\": [\n \"Token b program\"\n ]\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"params\",\n \"type\": {\n \"defined\": {\n \"name\": \"RemoveLiquidityParameters\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"set_pool_status\",\n \"discriminator\": [\n 112,\n 87,\n 135,\n 223,\n 83,\n 204,\n 132,\n 53\n ],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true\n },\n {\n \"name\": \"admin\",\n \"signer\": true\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"status\",\n \"type\": \"u8\"\n }\n ]\n },\n {\n \"name\": \"swap\",\n \"discriminator\": [\n 248,\n 198,\n 158,\n 145,\n 225,\n 117,\n 135,\n 200\n ],\n \"accounts\": [\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"docs\": [\n \"Pool account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"input_token_account\",\n \"docs\": [\n \"The user token account for input token\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"output_token_account\",\n \"docs\": [\n \"The user token account for output token\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_a_vault\",\n \"docs\": [\n \"The vault token account for input token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_vault\",\n \"docs\": [\n \"The vault token account for output token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_a_mint\",\n \"docs\": [\n \"The mint of token a\"\n ]\n },\n {\n \"name\": \"token_b_mint\",\n \"docs\": [\n \"The mint of token b\"\n ]\n },\n {\n \"name\": \"payer\",\n \"docs\": [\n \"The user performing the swap\"\n ],\n \"signer\": true\n },\n {\n \"name\": \"token_a_program\",\n \"docs\": [\n \"Token a program\"\n ]\n },\n {\n \"name\": \"token_b_program\",\n \"docs\": [\n \"Token b program\"\n ]\n },\n {\n \"name\": \"referral_token_account\",\n \"docs\": [\n \"referral token account\"\n ],\n \"writable\": true,\n \"optional\": true\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"params\",\n \"type\": {\n \"defined\": {\n \"name\": \"SwapParameters\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"update_reward_duration\",\n \"discriminator\": [\n 138,\n 174,\n 196,\n 169,\n 213,\n 235,\n 254,\n 107\n ],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true\n },\n {\n \"name\": \"admin\",\n \"signer\": true\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"reward_index\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"new_duration\",\n \"type\": \"u64\"\n }\n ]\n },\n {\n \"name\": \"update_reward_funder\",\n \"discriminator\": [\n 211,\n 28,\n 48,\n 32,\n 215,\n 160,\n 35,\n 23\n ],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true\n },\n {\n \"name\": \"admin\",\n \"signer\": true\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"reward_index\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"new_funder\",\n \"type\": \"pubkey\"\n }\n ]\n },\n {\n \"name\": \"withdraw_ineligible_reward\",\n \"discriminator\": [\n 148,\n 206,\n 42,\n 195,\n 247,\n 49,\n 103,\n 8\n ],\n \"accounts\": [\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"writable\": true\n },\n {\n \"name\": \"reward_vault\",\n \"writable\": true\n },\n {\n \"name\": \"reward_mint\"\n },\n {\n \"name\": \"funder_token_account\",\n \"writable\": true\n },\n {\n \"name\": \"funder\",\n \"signer\": true\n },\n {\n \"name\": \"token_program\"\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"reward_index\",\n \"type\": \"u8\"\n }\n ]\n }\n ],\n \"accounts\": [\n {\n \"name\": \"ClaimFeeOperator\",\n \"discriminator\": [\n 166,\n 48,\n 134,\n 86,\n 34,\n 200,\n 188,\n 150\n ]\n },\n {\n \"name\": \"Config\",\n \"discriminator\": [\n 155,\n 12,\n 170,\n 224,\n 30,\n 250,\n 204,\n 130\n ]\n },\n {\n \"name\": \"Pool\",\n \"discriminator\": [\n 241,\n 154,\n 109,\n 4,\n 17,\n 177,\n 109,\n 188\n ]\n },\n {\n \"name\": \"Position\",\n \"discriminator\": [\n 170,\n 188,\n 143,\n 228,\n 122,\n 64,\n 247,\n 208\n ]\n },\n {\n \"name\": \"TokenBadge\",\n \"discriminator\": [\n 116,\n 219,\n 204,\n 229,\n 249,\n 116,\n 255,\n 150\n ]\n },\n {\n \"name\": \"Vesting\",\n \"discriminator\": [\n 100,\n 149,\n 66,\n 138,\n 95,\n 200,\n 128,\n 241\n ]\n }\n ],\n \"events\": [\n {\n \"name\": \"EvtAddLiquidity\",\n \"discriminator\": [\n 175,\n 242,\n 8,\n 157,\n 30,\n 247,\n 185,\n 169\n ]\n },\n {\n \"name\": \"EvtClaimPartnerFee\",\n \"discriminator\": [\n 118,\n 99,\n 77,\n 10,\n 226,\n 1,\n 1,\n 87\n ]\n },\n {\n \"name\": \"EvtClaimPositionFee\",\n \"discriminator\": [\n 198,\n 182,\n 183,\n 52,\n 97,\n 12,\n 49,\n 56\n ]\n },\n {\n \"name\": \"EvtClaimProtocolFee\",\n \"discriminator\": [\n 186,\n 244,\n 75,\n 251,\n 188,\n 13,\n 25,\n 33\n ]\n },\n {\n \"name\": \"EvtClaimReward\",\n \"discriminator\": [\n 218,\n 86,\n 147,\n 200,\n 235,\n 188,\n 215,\n 231\n ]\n },\n {\n \"name\": \"EvtCloseClaimFeeOperator\",\n \"discriminator\": [\n 111,\n 39,\n 37,\n 55,\n 110,\n 216,\n 194,\n 23\n ]\n },\n {\n \"name\": \"EvtCloseConfig\",\n \"discriminator\": [\n 36,\n 30,\n 239,\n 45,\n 58,\n 132,\n 14,\n 5\n ]\n },\n {\n \"name\": \"EvtCreateClaimFeeOperator\",\n \"discriminator\": [\n 21,\n 6,\n 153,\n 120,\n 68,\n 116,\n 28,\n 177\n ]\n },\n {\n \"name\": \"EvtCreateConfig\",\n \"discriminator\": [\n 131,\n 207,\n 180,\n 174,\n 180,\n 73,\n 165,\n 54\n ]\n },\n {\n \"name\": \"EvtCreatePosition\",\n \"discriminator\": [\n 156,\n 15,\n 119,\n 198,\n 29,\n 181,\n 221,\n 55\n ]\n },\n {\n \"name\": \"EvtCreateTokenBadge\",\n \"discriminator\": [\n 141,\n 120,\n 134,\n 116,\n 34,\n 28,\n 114,\n 160\n ]\n },\n {\n \"name\": \"EvtFundReward\",\n \"discriminator\": [\n 104,\n 233,\n 237,\n 122,\n 199,\n 191,\n 121,\n 85\n ]\n },\n {\n \"name\": \"EvtInitializePool\",\n \"discriminator\": [\n 228,\n 50,\n 246,\n 85,\n 203,\n 66,\n 134,\n 37\n ]\n },\n {\n \"name\": \"EvtInitializeReward\",\n \"discriminator\": [\n 129,\n 91,\n 188,\n 3,\n 246,\n 52,\n 185,\n 249\n ]\n },\n {\n \"name\": \"EvtLockPosition\",\n \"discriminator\": [\n 168,\n 63,\n 108,\n 83,\n 219,\n 82,\n 2,\n 200\n ]\n },\n {\n \"name\": \"EvtPermanentLockPosition\",\n \"discriminator\": [\n 145,\n 143,\n 162,\n 218,\n 218,\n 80,\n 67,\n 11\n ]\n },\n {\n \"name\": \"EvtRemoveLiquidity\",\n \"discriminator\": [\n 87,\n 46,\n 88,\n 98,\n 175,\n 96,\n 34,\n 91\n ]\n },\n {\n \"name\": \"EvtSetPoolStatus\",\n \"discriminator\": [\n 100,\n 213,\n 74,\n 3,\n 95,\n 91,\n 228,\n 146\n ]\n },\n {\n \"name\": \"EvtSwap\",\n \"discriminator\": [\n 27,\n 60,\n 21,\n 213,\n 138,\n 170,\n 187,\n 147\n ]\n },\n {\n \"name\": \"EvtUpdateRewardDuration\",\n \"discriminator\": [\n 149,\n 135,\n 65,\n 231,\n 129,\n 153,\n 65,\n 57\n ]\n },\n {\n \"name\": \"EvtUpdateRewardFunder\",\n \"discriminator\": [\n 76,\n 154,\n 208,\n 13,\n 40,\n 115,\n 246,\n 146\n ]\n },\n {\n \"name\": \"EvtWithdrawIneligibleReward\",\n \"discriminator\": [\n 248,\n 215,\n 184,\n 78,\n 31,\n 180,\n 179,\n 168\n ]\n }\n ],\n \"errors\": [\n {\n \"code\": 6000,\n \"name\": \"MathOverflow\",\n \"msg\": \"Math operation overflow\"\n },\n {\n \"code\": 6001,\n \"name\": \"InvalidFee\",\n \"msg\": \"Invalid fee setup\"\n },\n {\n \"code\": 6002,\n \"name\": \"ExceededSlippage\",\n \"msg\": \"Exceeded slippage tolerance\"\n },\n {\n \"code\": 6003,\n \"name\": \"PoolDisabled\",\n \"msg\": \"Pool disabled\"\n },\n {\n \"code\": 6004,\n \"name\": \"ExceedMaxFeeBps\",\n \"msg\": \"Exceeded max fee bps\"\n },\n {\n \"code\": 6005,\n \"name\": \"InvalidAdmin\",\n \"msg\": \"Invalid admin\"\n },\n {\n \"code\": 6006,\n \"name\": \"AmountIsZero\",\n \"msg\": \"Amount is zero\"\n },\n {\n \"code\": 6007,\n \"name\": \"TypeCastFailed\",\n \"msg\": \"Type cast error\"\n },\n {\n \"code\": 6008,\n \"name\": \"UnableToModifyActivationPoint\",\n \"msg\": \"Unable to modify activation point\"\n },\n {\n \"code\": 6009,\n \"name\": \"InvalidAuthorityToCreateThePool\",\n \"msg\": \"Invalid authority to create the pool\"\n },\n {\n \"code\": 6010,\n \"name\": \"InvalidActivationType\",\n \"msg\": \"Invalid activation type\"\n },\n {\n \"code\": 6011,\n \"name\": \"InvalidActivationPoint\",\n \"msg\": \"Invalid activation point\"\n },\n {\n \"code\": 6012,\n \"name\": \"InvalidQuoteMint\",\n \"msg\": \"Quote token must be SOL,USDC\"\n },\n {\n \"code\": 6013,\n \"name\": \"InvalidFeeCurve\",\n \"msg\": \"Invalid fee curve\"\n },\n {\n \"code\": 6014,\n \"name\": \"InvalidPriceRange\",\n \"msg\": \"Invalid Price Range\"\n },\n {\n \"code\": 6015,\n \"name\": \"PriceRangeViolation\",\n \"msg\": \"Trade is over price range\"\n },\n {\n \"code\": 6016,\n \"name\": \"InvalidParameters\",\n \"msg\": \"Invalid parameters\"\n },\n {\n \"code\": 6017,\n \"name\": \"InvalidCollectFeeMode\",\n \"msg\": \"Invalid collect fee mode\"\n },\n {\n \"code\": 6018,\n \"name\": \"InvalidInput\",\n \"msg\": \"Invalid input\"\n },\n {\n \"code\": 6019,\n \"name\": \"CannotCreateTokenBadgeOnSupportedMint\",\n \"msg\": \"Cannot create token badge on supported mint\"\n },\n {\n \"code\": 6020,\n \"name\": \"InvalidTokenBadge\",\n \"msg\": \"Invalid token badge\"\n },\n {\n \"code\": 6021,\n \"name\": \"InvalidMinimumLiquidity\",\n \"msg\": \"Invalid minimum liquidity\"\n },\n {\n \"code\": 6022,\n \"name\": \"InvalidVestingInfo\",\n \"msg\": \"Invalid vesting information\"\n },\n {\n \"code\": 6023,\n \"name\": \"InsufficientLiquidity\",\n \"msg\": \"Insufficient liquidity\"\n },\n {\n \"code\": 6024,\n \"name\": \"InvalidVestingAccount\",\n \"msg\": \"Invalid vesting account\"\n },\n {\n \"code\": 6025,\n \"name\": \"InvalidPoolStatus\",\n \"msg\": \"Invalid pool status\"\n },\n {\n \"code\": 6026,\n \"name\": \"UnsupportNativeMintToken2022\",\n \"msg\": \"Unsupported native mint token2022\"\n },\n {\n \"code\": 6027,\n \"name\": \"InvalidRewardIndex\",\n \"msg\": \"Invalid reward index\"\n },\n {\n \"code\": 6028,\n \"name\": \"InvalidRewardDuration\",\n \"msg\": \"Invalid reward duration\"\n },\n {\n \"code\": 6029,\n \"name\": \"RewardInitialized\",\n \"msg\": \"Reward already initialized\"\n },\n {\n \"code\": 6030,\n \"name\": \"RewardUninitialized\",\n \"msg\": \"Reward not initialized\"\n },\n {\n \"code\": 6031,\n \"name\": \"InvalidRewardVault\",\n \"msg\": \"Invalid reward vault\"\n },\n {\n \"code\": 6032,\n \"name\": \"MustWithdrawnIneligibleReward\",\n \"msg\": \"Must withdraw ineligible reward\"\n },\n {\n \"code\": 6033,\n \"name\": \"IdenticalRewardDuration\",\n \"msg\": \"Reward duration is the same\"\n },\n {\n \"code\": 6034,\n \"name\": \"RewardCampaignInProgress\",\n \"msg\": \"Reward campaign in progress\"\n },\n {\n \"code\": 6035,\n \"name\": \"IdenticalFunder\",\n \"msg\": \"Identical funder\"\n },\n {\n \"code\": 6036,\n \"name\": \"InvalidFunder\",\n \"msg\": \"Invalid funder\"\n },\n {\n \"code\": 6037,\n \"name\": \"RewardNotEnded\",\n \"msg\": \"Reward not ended\"\n },\n {\n \"code\": 6038,\n \"name\": \"FeeInverseIsIncorrect\",\n \"msg\": \"Fee inverse is incorrect\"\n }\n ],\n \"types\": [\n {\n \"name\": \"AddLiquidityParameters\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"liquidity_delta\",\n \"docs\": [\n \"delta liquidity\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"token_a_amount_threshold\",\n \"docs\": [\n \"maximum token a amount\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"token_b_amount_threshold\",\n \"docs\": [\n \"maximum token b amount\"\n ],\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"BaseFeeConfig\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"cliff_fee_numerator\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"fee_scheduler_mode\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"padding\",\n \"type\": {\n \"array\": [\n \"u8\",\n 5\n ]\n }\n },\n {\n \"name\": \"number_of_period\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"period_frequency\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"reduction_factor\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"BaseFeeParameters\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"cliff_fee_numerator\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"number_of_period\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"period_frequency\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"reduction_factor\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"fee_scheduler_mode\",\n \"type\": \"u8\"\n }\n ]\n }\n },\n {\n \"name\": \"BaseFeeStruct\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"cliff_fee_numerator\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"fee_scheduler_mode\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"padding_0\",\n \"type\": {\n \"array\": [\n \"u8\",\n 5\n ]\n }\n },\n {\n \"name\": \"number_of_period\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"period_frequency\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"reduction_factor\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"padding_1\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"ClaimFeeOperator\",\n \"docs\": [\n \"Parameter that set by the protocol\"\n ],\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"operator\",\n \"docs\": [\n \"operator\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"_padding\",\n \"docs\": [\n \"Reserve\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 128\n ]\n }\n }\n ]\n }\n },\n {\n \"name\": \"Config\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"vault_config_key\",\n \"docs\": [\n \"Vault config key\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"pool_creator_authority\",\n \"docs\": [\n \"Only pool_creator_authority can use the current config to initialize new pool. When it's Pubkey::default, it's a public config.\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"pool_fees\",\n \"docs\": [\n \"Pool fee\"\n ],\n \"type\": {\n \"defined\": {\n \"name\": \"PoolFeesConfig\"\n }\n }\n },\n {\n \"name\": \"activation_type\",\n \"docs\": [\n \"Activation type\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"collect_fee_mode\",\n \"docs\": [\n \"Collect fee mode\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"_padding_0\",\n \"docs\": [\n \"padding 0\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 6\n ]\n }\n },\n {\n \"name\": \"index\",\n \"docs\": [\n \"config index\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"sqrt_min_price\",\n \"docs\": [\n \"sqrt min price\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"sqrt_max_price\",\n \"docs\": [\n \"sqrt max price\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"_padding_1\",\n \"docs\": [\n \"Fee curve point\",\n \"Padding for further use\"\n ],\n \"type\": {\n \"array\": [\n \"u64\",\n 10\n ]\n }\n }\n ]\n }\n },\n {\n \"name\": \"ConfigParameters\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool_fees\",\n \"type\": {\n \"defined\": {\n \"name\": \"PoolFeeParameters\"\n }\n }\n },\n {\n \"name\": \"sqrt_min_price\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"sqrt_max_price\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"vault_config_key\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"pool_creator_authority\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"activation_type\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"collect_fee_mode\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"index\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"DynamicFeeConfig\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"initialized\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"padding\",\n \"type\": {\n \"array\": [\n \"u8\",\n 7\n ]\n }\n },\n {\n \"name\": \"max_volatility_accumulator\",\n \"type\": \"u32\"\n },\n {\n \"name\": \"variable_fee_control\",\n \"type\": \"u32\"\n },\n {\n \"name\": \"bin_step\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"filter_period\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"decay_period\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"reduction_factor\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"padding_1\",\n \"type\": {\n \"array\": [\n \"u8\",\n 8\n ]\n }\n },\n {\n \"name\": \"bin_step_u128\",\n \"type\": \"u128\"\n }\n ]\n }\n },\n {\n \"name\": \"DynamicFeeParameters\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"bin_step\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"bin_step_u128\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"filter_period\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"decay_period\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"reduction_factor\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"max_volatility_accumulator\",\n \"type\": \"u32\"\n },\n {\n \"name\": \"variable_fee_control\",\n \"type\": \"u32\"\n }\n ]\n }\n },\n {\n \"name\": \"DynamicFeeStruct\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"initialized\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"padding\",\n \"type\": {\n \"array\": [\n \"u8\",\n 7\n ]\n }\n },\n {\n \"name\": \"max_volatility_accumulator\",\n \"type\": \"u32\"\n },\n {\n \"name\": \"variable_fee_control\",\n \"type\": \"u32\"\n },\n {\n \"name\": \"bin_step\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"filter_period\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"decay_period\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"reduction_factor\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"last_update_timestamp\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"bin_step_u128\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"sqrt_price_reference\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"volatility_accumulator\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"volatility_reference\",\n \"type\": \"u128\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtAddLiquidity\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"position\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"params\",\n \"type\": {\n \"defined\": {\n \"name\": \"AddLiquidityParameters\"\n }\n }\n },\n {\n \"name\": \"total_amount_a\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"total_amount_b\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtClaimPartnerFee\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"token_a_amount\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"token_b_amount\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtClaimPositionFee\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"position\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"fee_a_claimed\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"fee_b_claimed\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtClaimProtocolFee\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"token_a_amount\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"token_b_amount\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtClaimReward\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"position\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"mint_reward\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"reward_index\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"total_reward\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtCloseClaimFeeOperator\",\n \"docs\": [\n \"Close claim fee operator\"\n ],\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"claim_fee_operator\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"operator\",\n \"type\": \"pubkey\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtCloseConfig\",\n \"docs\": [\n \"Close config\"\n ],\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"config\",\n \"docs\": [\n \"Config pubkey\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"admin\",\n \"docs\": [\n \"admin pk\"\n ],\n \"type\": \"pubkey\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtCreateClaimFeeOperator\",\n \"docs\": [\n \"Create claim fee operator\"\n ],\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"operator\",\n \"type\": \"pubkey\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtCreateConfig\",\n \"docs\": [\n \"Create config\"\n ],\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool_fees\",\n \"type\": {\n \"defined\": {\n \"name\": \"PoolFeeParameters\"\n }\n }\n },\n {\n \"name\": \"vault_config_key\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"pool_creator_authority\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"activation_type\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"sqrt_min_price\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"sqrt_max_price\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"collect_fee_mode\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"index\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"config\",\n \"type\": \"pubkey\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtCreatePosition\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"position\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"position_nft_mint\",\n \"type\": \"pubkey\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtCreateTokenBadge\",\n \"docs\": [\n \"Create token badge\"\n ],\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"token_mint\",\n \"type\": \"pubkey\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtFundReward\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"funder\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"mint_reward\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"reward_index\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"transfer_fee_excluded_amount_in\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtInitializePool\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"token_a_mint\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"token_b_mint\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"creator\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"payer\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"alpha_vault\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"pool_fees\",\n \"type\": {\n \"defined\": {\n \"name\": \"PoolFeeParameters\"\n }\n }\n },\n {\n \"name\": \"sqrt_min_price\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"sqrt_max_price\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"activation_type\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"collect_fee_mode\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"liquidity\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"sqrt_price\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"activation_point\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"token_a_flag\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"token_b_flag\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"total_amount_a\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"total_amount_b\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"pool_type\",\n \"type\": \"u8\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtInitializeReward\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"reward_mint\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"funder\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"reward_index\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"reward_duration\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtLockPosition\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"position\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"vesting\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"cliff_point\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"period_frequency\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"cliff_unlock_liquidity\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"liquidity_per_period\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"number_of_period\",\n \"type\": \"u16\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtPermanentLockPosition\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"position\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"liquidity\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"pool_new_permanent_locked_liquidity\",\n \"type\": \"u128\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtRemoveLiquidity\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"position\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"params\",\n \"type\": {\n \"defined\": {\n \"name\": \"RemoveLiquidityParameters\"\n }\n }\n },\n {\n \"name\": \"amount_a\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"amount_b\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtSetPoolStatus\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"status\",\n \"type\": \"u8\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtSwap\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"trade_direction\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"is_referral\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"params\",\n \"type\": {\n \"defined\": {\n \"name\": \"SwapParameters\"\n }\n }\n },\n {\n \"name\": \"swap_result\",\n \"type\": {\n \"defined\": {\n \"name\": \"SwapResult\"\n }\n }\n },\n {\n \"name\": \"transfer_fee_excluded_amount_in\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"current_timestamp\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtUpdateRewardDuration\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"reward_index\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"old_reward_duration\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"new_reward_duration\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtUpdateRewardFunder\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"reward_index\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"old_funder\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"new_funder\",\n \"type\": \"pubkey\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtWithdrawIneligibleReward\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"reward_mint\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"InitializeCustomizablePoolParameters\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool_fees\",\n \"docs\": [\n \"pool fees\"\n ],\n \"type\": {\n \"defined\": {\n \"name\": \"PoolFeeParameters\"\n }\n }\n },\n {\n \"name\": \"sqrt_min_price\",\n \"docs\": [\n \"sqrt min price\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"sqrt_max_price\",\n \"docs\": [\n \"sqrt max price\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"has_alpha_vault\",\n \"docs\": [\n \"has alpha vault\"\n ],\n \"type\": \"bool\"\n },\n {\n \"name\": \"liquidity\",\n \"docs\": [\n \"initialize liquidity\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"sqrt_price\",\n \"docs\": [\n \"The init price of the pool as a sqrt(token_b/token_a) Q64.64 value\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"activation_type\",\n \"docs\": [\n \"activation type\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"collect_fee_mode\",\n \"docs\": [\n \"collect fee mode\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"activation_point\",\n \"docs\": [\n \"activation point\"\n ],\n \"type\": {\n \"option\": \"u64\"\n }\n }\n ]\n }\n },\n {\n \"name\": \"InitializePoolParameters\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"liquidity\",\n \"docs\": [\n \"initialize liquidity\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"sqrt_price\",\n \"docs\": [\n \"The init price of the pool as a sqrt(token_b/token_a) Q64.64 value\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"activation_point\",\n \"docs\": [\n \"activation point\"\n ],\n \"type\": {\n \"option\": \"u64\"\n }\n }\n ]\n }\n },\n {\n \"name\": \"Pool\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool_fees\",\n \"docs\": [\n \"Pool fee\"\n ],\n \"type\": {\n \"defined\": {\n \"name\": \"PoolFeesStruct\"\n }\n }\n },\n {\n \"name\": \"token_a_mint\",\n \"docs\": [\n \"token a mint\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"token_b_mint\",\n \"docs\": [\n \"token b mint\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"token_a_vault\",\n \"docs\": [\n \"token a vault\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"token_b_vault\",\n \"docs\": [\n \"token b vault\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"whitelisted_vault\",\n \"docs\": [\n \"Whitelisted vault to be able to buy pool before activation_point\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"partner\",\n \"docs\": [\n \"partner\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"liquidity\",\n \"docs\": [\n \"liquidity share\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"token_a_reserve\",\n \"docs\": [\n \"token a reserve\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"token_b_reserve\",\n \"docs\": [\n \"token b reserve\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"protocol_a_fee\",\n \"docs\": [\n \"protocol a fee\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"protocol_b_fee\",\n \"docs\": [\n \"protocol b fee\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"partner_a_fee\",\n \"docs\": [\n \"partner a fee\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"partner_b_fee\",\n \"docs\": [\n \"partner b fee\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"sqrt_min_price\",\n \"docs\": [\n \"min price\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"sqrt_max_price\",\n \"docs\": [\n \"max price\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"sqrt_price\",\n \"docs\": [\n \"current price\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"activation_point\",\n \"docs\": [\n \"Activation point, can be slot or timestamp\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"activation_type\",\n \"docs\": [\n \"Activation type, 0 means by slot, 1 means by timestamp\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"pool_status\",\n \"docs\": [\n \"pool status, 0: enable, 1 disable\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"token_a_flag\",\n \"docs\": [\n \"token a flag\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"token_b_flag\",\n \"docs\": [\n \"token b flag\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"collect_fee_mode\",\n \"docs\": [\n \"0 is collect fee in both token, 1 only collect fee in token a, 2 only collect fee in token b\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"pool_type\",\n \"docs\": [\n \"pool type\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"_padding_0\",\n \"docs\": [\n \"padding\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 2\n ]\n }\n },\n {\n \"name\": \"fee_a_per_liquidity\",\n \"docs\": [\n \"cumulative\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 32\n ]\n }\n },\n {\n \"name\": \"fee_b_per_liquidity\",\n \"docs\": [\n \"cumulative\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 32\n ]\n }\n },\n {\n \"name\": \"permanent_lock_liquidity\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"metrics\",\n \"docs\": [\n \"metrics\"\n ],\n \"type\": {\n \"defined\": {\n \"name\": \"PoolMetrics\"\n }\n }\n },\n {\n \"name\": \"_padding_1\",\n \"docs\": [\n \"Padding for further use\"\n ],\n \"type\": {\n \"array\": [\n \"u64\",\n 10\n ]\n }\n },\n {\n \"name\": \"reward_infos\",\n \"docs\": [\n \"Farming reward information\"\n ],\n \"type\": {\n \"array\": [\n {\n \"defined\": {\n \"name\": \"RewardInfo\"\n }\n },\n 2\n ]\n }\n }\n ]\n }\n },\n {\n \"name\": \"PoolFeeParameters\",\n \"docs\": [\n \"Information regarding fee charges\"\n ],\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"base_fee\",\n \"docs\": [\n \"Base fee\"\n ],\n \"type\": {\n \"defined\": {\n \"name\": \"BaseFeeParameters\"\n }\n }\n },\n {\n \"name\": \"protocol_fee_percent\",\n \"docs\": [\n \"Protocol trade fee percent\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"partner_fee_percent\",\n \"docs\": [\n \"partner fee percent\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"referral_fee_percent\",\n \"docs\": [\n \"referral fee percent\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"dynamic_fee\",\n \"docs\": [\n \"dynamic fee\"\n ],\n \"type\": {\n \"option\": {\n \"defined\": {\n \"name\": \"DynamicFeeParameters\"\n }\n }\n }\n }\n ]\n }\n },\n {\n \"name\": \"PoolFeesConfig\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"base_fee\",\n \"type\": {\n \"defined\": {\n \"name\": \"BaseFeeConfig\"\n }\n }\n },\n {\n \"name\": \"dynamic_fee\",\n \"type\": {\n \"defined\": {\n \"name\": \"DynamicFeeConfig\"\n }\n }\n },\n {\n \"name\": \"protocol_fee_percent\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"partner_fee_percent\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"referral_fee_percent\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"padding_0\",\n \"type\": {\n \"array\": [\n \"u8\",\n 5\n ]\n }\n },\n {\n \"name\": \"padding_1\",\n \"type\": {\n \"array\": [\n \"u64\",\n 5\n ]\n }\n }\n ]\n }\n },\n {\n \"name\": \"PoolFeesStruct\",\n \"docs\": [\n \"Information regarding fee charges\",\n \"trading_fee = amount * trade_fee_numerator / denominator\",\n \"protocol_fee = trading_fee * protocol_fee_percentage / 100\",\n \"referral_fee = protocol_fee * referral_percentage / 100\",\n \"partner_fee = (protocol_fee - referral_fee) * partner_fee_percentage / denominator\"\n ],\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"base_fee\",\n \"docs\": [\n \"Trade fees are extra token amounts that are held inside the token\",\n \"accounts during a trade, making the value of liquidity tokens rise.\",\n \"Trade fee numerator\"\n ],\n \"type\": {\n \"defined\": {\n \"name\": \"BaseFeeStruct\"\n }\n }\n },\n {\n \"name\": \"protocol_fee_percent\",\n \"docs\": [\n \"Protocol trading fees are extra token amounts that are held inside the token\",\n \"accounts during a trade, with the equivalent in pool tokens minted to\",\n \"the protocol of the program.\",\n \"Protocol trade fee numerator\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"partner_fee_percent\",\n \"docs\": [\n \"partner fee\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"referral_fee_percent\",\n \"docs\": [\n \"referral fee\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"padding_0\",\n \"docs\": [\n \"padding\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 5\n ]\n }\n },\n {\n \"name\": \"dynamic_fee\",\n \"docs\": [\n \"dynamic fee\"\n ],\n \"type\": {\n \"defined\": {\n \"name\": \"DynamicFeeStruct\"\n }\n }\n },\n {\n \"name\": \"padding_1\",\n \"docs\": [\n \"padding\"\n ],\n \"type\": {\n \"array\": [\n \"u64\",\n 2\n ]\n }\n }\n ]\n }\n },\n {\n \"name\": \"PoolMetrics\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"total_lp_a_fee\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"total_lp_b_fee\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"total_protocol_a_fee\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"total_protocol_b_fee\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"total_partner_a_fee\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"total_partner_b_fee\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"total_position\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"padding\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"Position\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"nft_mint\",\n \"docs\": [\n \"nft mint\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"fee_a_per_token_checkpoint\",\n \"docs\": [\n \"fee a checkpoint\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 32\n ]\n }\n },\n {\n \"name\": \"fee_b_per_token_checkpoint\",\n \"docs\": [\n \"fee b checkpoint\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 32\n ]\n }\n },\n {\n \"name\": \"fee_a_pending\",\n \"docs\": [\n \"fee a pending\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"fee_b_pending\",\n \"docs\": [\n \"fee b pending\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"unlocked_liquidity\",\n \"docs\": [\n \"unlock liquidity\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"vested_liquidity\",\n \"docs\": [\n \"vesting liquidity\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"permanent_locked_liquidity\",\n \"docs\": [\n \"permanent locked liquidity\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"metrics\",\n \"docs\": [\n \"metrics\"\n ],\n \"type\": {\n \"defined\": {\n \"name\": \"PositionMetrics\"\n }\n }\n },\n {\n \"name\": \"reward_infos\",\n \"docs\": [\n \"Farming reward information\"\n ],\n \"type\": {\n \"array\": [\n {\n \"defined\": {\n \"name\": \"UserRewardInfo\"\n }\n },\n 2\n ]\n }\n },\n {\n \"name\": \"padding\",\n \"docs\": [\n \"padding for future usage\"\n ],\n \"type\": {\n \"array\": [\n \"u128\",\n 6\n ]\n }\n }\n ]\n }\n },\n {\n \"name\": \"PositionMetrics\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"total_claimed_a_fee\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"total_claimed_b_fee\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"RemoveLiquidityParameters\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"liquidity_delta\",\n \"docs\": [\n \"delta liquidity\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"token_a_amount_threshold\",\n \"docs\": [\n \"minimum token a amount\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"token_b_amount_threshold\",\n \"docs\": [\n \"minimum token b amount\"\n ],\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"RewardInfo\",\n \"docs\": [\n \"Stores the state relevant for tracking liquidity mining rewards\"\n ],\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"initialized\",\n \"docs\": [\n \"Indicates if the reward has been initialized\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"reward_token_flag\",\n \"docs\": [\n \"reward token flag\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"_padding_0\",\n \"docs\": [\n \"padding\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 6\n ]\n }\n },\n {\n \"name\": \"_padding_1\",\n \"docs\": [\n \"Padding to ensure `reward_rate: u128` is 16-byte aligned\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 8\n ]\n }\n },\n {\n \"name\": \"mint\",\n \"docs\": [\n \"Reward token mint.\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"vault\",\n \"docs\": [\n \"Reward vault token account.\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"funder\",\n \"docs\": [\n \"Authority account that allows to fund rewards\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"reward_duration\",\n \"docs\": [\n \"reward duration\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"reward_duration_end\",\n \"docs\": [\n \"reward duration end\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"reward_rate\",\n \"docs\": [\n \"reward rate\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"reward_per_token_stored\",\n \"docs\": [\n \"Reward per token stored\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 32\n ]\n }\n },\n {\n \"name\": \"last_update_time\",\n \"docs\": [\n \"The last time reward states were updated.\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"cumulative_seconds_with_empty_liquidity_reward\",\n \"docs\": [\n \"Accumulated seconds when the farm distributed rewards but the bin was empty.\",\n \"These rewards will be carried over to the next reward time window.\"\n ],\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"SwapParameters\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"amount_in\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"minimum_amount_out\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"SwapResult\",\n \"docs\": [\n \"Encodes all results of swapping\"\n ],\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"output_amount\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"next_sqrt_price\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"lp_fee\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"protocol_fee\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"partner_fee\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"referral_fee\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"TokenBadge\",\n \"docs\": [\n \"Parameter that set by the protocol\"\n ],\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"token_mint\",\n \"docs\": [\n \"token mint\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"_padding\",\n \"docs\": [\n \"Reserve\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 128\n ]\n }\n }\n ]\n }\n },\n {\n \"name\": \"UserRewardInfo\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"reward_per_token_checkpoint\",\n \"docs\": [\n \"The latest update reward checkpoint\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 32\n ]\n }\n },\n {\n \"name\": \"reward_pendings\",\n \"docs\": [\n \"Current pending rewards\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"total_claimed_rewards\",\n \"docs\": [\n \"Total claimed rewards\"\n ],\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"Vesting\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"position\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"cliff_point\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"period_frequency\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"cliff_unlock_liquidity\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"liquidity_per_period\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"total_released_liquidity\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"number_of_period\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"padding\",\n \"type\": {\n \"array\": [\n \"u8\",\n 14\n ]\n }\n },\n {\n \"name\": \"padding2\",\n \"type\": {\n \"array\": [\n \"u128\",\n 4\n ]\n }\n }\n ]\n }\n },\n {\n \"name\": \"VestingParameters\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"cliff_point\",\n \"type\": {\n \"option\": \"u64\"\n }\n },\n {\n \"name\": \"period_frequency\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"cliff_unlock_liquidity\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"liquidity_per_period\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"number_of_period\",\n \"type\": \"u16\"\n }\n ]\n }\n }\n ]\n}","import { BN } from \"@coral-xyz/anchor\";\nimport { PublicKey } from \"@solana/web3.js\";\n\nexport const CP_AMM_PROGRAM_ID = new PublicKey(\n \"cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG\"\n);\n\nexport const SCALE_OFFSET = 64;\nexport const BASIS_POINT_MAX = 10_000;\nexport const MAX_FEE_NUMERATOR = 500_000_000;\nexport const FEE_DENOMINATOR = 1_000_000_000;\n\nexport const MIN_SQRT_PRICE = new BN(\"4295048016\");\nexport const MAX_SQRT_PRICE = new BN(\"79226673521066979257578248091\");\nexport const MIN_CU_BUFFER = 50_000;\nexport const MAX_CU_BUFFER = 200_000;\n","import { PublicKey } from \"@solana/web3.js\";\nimport { BN } from \"@coral-xyz/anchor\";\n\n// Private function: Only use to derive pool account\nexport function getFirstKey(key1: PublicKey, key2: PublicKey) {\n const buf1 = key1.toBuffer();\n const buf2 = key2.toBuffer();\n // Buf1 > buf2\n if (Buffer.compare(buf1, buf2) === 1) {\n return buf1;\n }\n return buf2;\n}\n\nexport function getSecondKey(key1: PublicKey, key2: PublicKey) {\n const buf1 = key1.toBuffer();\n const buf2 = key2.toBuffer();\n // Buf1 > buf2\n if (Buffer.compare(buf1, buf2) === 1) {\n return buf2;\n }\n return buf1;\n}\n\nexport function derivePoolAuthority(programId: PublicKey): PublicKey {\n return PublicKey.findProgramAddressSync(\n [Buffer.from(\"pool_authority\")],\n programId\n )[0];\n}\nexport function deriveConfigAddress(\n index: BN,\n programId: PublicKey\n): PublicKey {\n return PublicKey.findProgramAddressSync(\n [Buffer.from(\"config\"), index.toArrayLike(Buffer, \"le\", 8)],\n programId\n )[0];\n}\n\nexport function derivePoolAddress(\n config: PublicKey,\n tokenAMint: PublicKey,\n tokenBMint: PublicKey,\n programId: PublicKey\n): PublicKey {\n return PublicKey.findProgramAddressSync(\n [\n Buffer.from(\"pool\"),\n config.toBuffer(),\n getFirstKey(tokenAMint, tokenBMint),\n getSecondKey(tokenAMint, tokenBMint),\n ],\n programId\n )[0];\n}\n\nexport function derivePositionAddress(\n positionNft: PublicKey,\n programId: PublicKey\n): PublicKey {\n return PublicKey.findProgramAddressSync(\n [Buffer.from(\"position\"), positionNft.toBuffer()],\n programId\n )[0];\n}\n\nexport function deriveTokenVaultAddress(\n tokenMint: PublicKey,\n pool: PublicKey,\n programId: PublicKey\n): PublicKey {\n return PublicKey.findProgramAddressSync(\n [Buffer.from(\"token_vault\"), tokenMint.toBuffer(), pool.toBuffer()],\n programId\n )[0];\n}\n\nexport function deriveRewardVaultAddress(\n pool: PublicKey,\n rewardIndex: number,\n programId: PublicKey\n): PublicKey {\n return PublicKey.findProgramAddressSync(\n [Buffer.from(\"reward_vault\"), pool.toBuffer(), Buffer.from([rewardIndex])],\n programId\n )[0];\n}\n\nexport function deriveCustomizablePoolAddress(\n tokenAMint: PublicKey,\n tokenBMint: PublicKey,\n programId: PublicKey\n): PublicKey {\n return PublicKey.findProgramAddressSync(\n [\n Buffer.from(\"cpool\"),\n getFirstKey(tokenAMint, tokenBMint),\n getSecondKey(tokenAMint, tokenBMint),\n ],\n programId\n )[0];\n}\n\nexport function deriveTokenBadgeAddress(\n tokenMint: PublicKey,\n programId: PublicKey\n): PublicKey {\n return PublicKey.findProgramAddressSync(\n [Buffer.from(\"token_badge\"), tokenMint.toBuffer()],\n programId\n )[0];\n}\n\nexport function deriveClaimFeeOperatorAddress(\n operator: PublicKey,\n programId: PublicKey\n): PublicKey {\n return PublicKey.findProgramAddressSync(\n [Buffer.from(\"cf_operator\"), operator.toBuffer()],\n programId\n )[0];\n}\n\nexport function derivePositionNftAccount(\n positionNftMint: PublicKey,\n programId: PublicKey\n): PublicKey {\n return PublicKey.findProgramAddressSync(\n [Buffer.from(\"position_nft_account\"), positionNftMint.toBuffer()],\n programId\n )[0];\n}\n","import { BN } from \"@coral-xyz/anchor\";\nimport Decimal from \"decimal.js\";\nimport { Rounding } from \"../types\";\n\nexport function mulShr(x: BN, y: BN, offset: number, rounding: Rounding): BN {\n const denominator = new BN(1).shln(offset);\n return mulDiv(x, y, denominator, rounding);\n}\n\nexport function shlDiv(x: BN, y: BN, offset: number, rounding: Rounding): BN {\n const scale = new BN(1).shln(offset);\n return mulDiv(x, scale, y, rounding);\n}\n\nexport function mulDiv(x: BN, y: BN, denominator: BN, rounding: Rounding): BN {\n const { div, mod } = x.mul(y).divmod(denominator);\n\n if (rounding == Rounding.Up && !mod.isZero()) {\n return div.add(new BN(1));\n }\n return div;\n}\n\nexport function divCeil(a: BN, b: BN): BN {\n if (a.isZero()) {\n return new BN(0);\n }\n // (a + b - 1) /b\n return a.add(b.sub(new BN(1))).div(b);\n}\n\nexport function q64ToDecimal(num: BN, decimalPlaces?: number): Decimal {\n return new Decimal(num.toString())\n .div(Decimal.pow(2, 64))\n .toDecimalPlaces(decimalPlaces);\n}\n\nexport function decimalToQ64(num: Decimal): BN {\n return new BN(num.mul(Decimal.pow(2, 64)).floor().toFixed());\n}\n\nexport function priceToSqrtPrice(\n initPrice: Decimal,\n tokenADecimal: number,\n tokenBDecimal: number\n): BN {\n const sqrtPriceQ64 = decimalToQ64(\n initPrice.mul(Decimal.pow(10, tokenBDecimal - tokenADecimal)).sqrt()\n );\n\n return sqrtPriceQ64;\n}\n","import { IdlAccounts, IdlTypes, Program, BN } from \"@coral-xyz/anchor\";\nimport { PublicKey, Transaction } from \"@solana/web3.js\";\nimport type { CpAmm as CpAmmTypes } from \"./idl/cp_amm\";\n\nexport type AmmProgram = Program<CpAmmTypes>;\n\nexport type TxBuilder = Promise<Transaction>;\n\nexport enum Rounding {\n Up,\n Down,\n}\n\nexport enum ActivationPoint {\n Timestamp,\n Slot,\n}\n\nexport enum FeeSchedulerMode {\n Linear,\n Exponential,\n}\n\nexport enum CollectFeeMode {\n BothToken,\n OnlyB,\n}\n\nexport enum TradeDirection {\n AtoB,\n BtoA,\n}\n\nexport enum ActivationType {\n Slot,\n Timestamp,\n}\n\n// Account state types\nexport type PoolState = IdlAccounts<CpAmmTypes>[\"pool\"];\nexport type PositionState = IdlAccounts<CpAmmTypes>[\"position\"];\nexport type VestingState = IdlAccounts<CpAmmTypes>[\"vesting\"];\nexport type ConfigState = IdlAccounts<CpAmmTypes>[\"config\"];\nexport type TokenBadgeState = IdlAccounts<CpAmmTypes>[\"tokenBadge\"];\n\n// Program params types\n// export type LockPositionParams = IdlTypes<CpAmm>[\"VestingParameters\"];\n// export type AddLiquidityParams = IdlTypes<CpAmm>[\"AddLiquidityParameters\"];\n// export type RemoveLiquidityParams =\n// IdlTypes<CpAmm>[\"RemoveLiquidityParameters\"];\n// export type SwapParams = IdlTypes<CpAmm>[\"SwapParameters\"];\n// export type InitPoolParams = IdlTypes<CpAmm>[\"InitializePoolParameters\"];\n// export type InitCustomizePoolParams =\n// IdlTypes<CpAmm>[\"InitializeCustomizablePoolParameters\"];\nexport type RewardInfo = IdlTypes<CpAmmTypes>[\"rewardInfo\"];\n\nexport type DynamicFee = {\n binStep: number;\n binStepU128: BN;\n filterPeriod: number;\n decayPeriod: number;\n reductionFactor: number;\n maxVolatilityAccumulator: number;\n variableFeeControl: number;\n};\n\nexport type BaseFee = {\n cliffFeeNumerator: BN;\n numberOfPeriod: number;\n periodFrequency: BN;\n reductionFactor: BN;\n feeSchedulerMode: number;\n};\n\nexport type PoolFeesParams = {\n baseFee: BaseFee;\n protocolFeePercent: number;\n partnerFeePercent: number;\n referralFeePercent: number;\n dynamicFee: DynamicFee | null;\n};\n\nexport type InitializeCustomizeablePoolParams = {\n payer: PublicKey;\n creator: PublicKey;\n positionNft: PublicKey;\n tokenAMint: PublicKey;\n tokenBMint: PublicKey;\n tokenAAmount: BN;\n tokenBAmount: BN;\n tokenADecimal: number;\n tokenBDecimal: number;\n poolFees: PoolFeesParams;\n hasAlphaVault: boolean;\n activationType: number;\n collectFeeMode: number;\n activationPoint: BN | null;\n};\n\nexport type PreparePoolCreationParams = {\n tokenAAmount: BN;\n tokenBAmount: BN;\n tokenADecimal: number;\n tokenBDecimal: number;\n};\n\nexport type PreparedPoolCreation = {\n sqrtPriceQ64: BN;\n liquidityQ64: BN;\n};\n\nexport type CreatePoolParams = {\n creator: PublicKey;\n payer: PublicKey;\n config: PublicKey;\n positionNft: PublicKey;\n tokenAMint: PublicKey;\n tokenBMint: PublicKey;\n tokenAAmount: BN;\n tokenBAmount: BN;\n tokenADecimal: number;\n tokenBDecimal: number;\n activationPoint: BN | null;\n};\n\nexport type CreatePositionParams = {\n owner: PublicKey;\n payer: PublicKey;\n pool: PublicKey;\n positionNft: PublicKey;\n};\n\nexport type AddLiquidityParams = {\n owner: PublicKey;\n position: PublicKey;\n positionNftMint: PublicKey;\n liquidityDeltaQ64: BN;\n maxAmountTokenA: BN;\n maxAmountTokenB: BN;\n tokenAAmountThreshold: BN;\n tokenBAmountThreshold: BN;\n tokenAMint: PublicKey;\n tokenBMint: PublicKey;\n tokenAProgram: PublicKey;\n tokenBProgram: PublicKey;\n};\n\nexport type LiquidityDeltaParams = {\n maxAmountTokenA: BN;\n maxAmountTokenB: BN;\n tokenAMint: PublicKey;\n tokenBMint: PublicKey;\n sqrtPrice: BN;\n sqrtMinPrice: BN;\n sqrtMaxPrice: BN;\n};\n\nexport type RemoveLiquidityParams = AddLiquidityParams;\n\nexport type GetQuoteParams = {\n inAmount: BN;\n inputTokenMint: PublicKey;\n slippage: number;\n poolState: PoolState;\n};\n\nexport type SwapQuotes = {\n totalFee: BN;\n minOutAmount: BN;\n actualAmount: BN;\n};\n\nexport type SwapParams = {\n payer: PublicKey;\n pool: PublicKey;\n inputTokenMint: PublicKey;\n outputTokenMint: PublicKey;\n amountIn: BN;\n minimumAmountOut: BN;\n tokenAMint: PublicKey;\n tokenBMint: PublicKey;\n tokenAProgram: PublicKey;\n tokenBProgram: PublicKey;\n referralTokenAccount: PublicKey | null;\n};\n\nexport type LockPositionParams = {\n owner: PublicKey;\n payer: PublicKey;\n vestingAccount: PublicKey;\n position: PublicKey;\n positionNftMint: PublicKey;\n pool: PublicKey;\n cliffPoint: BN | null;\n periodFrequency: BN;\n cliffUnlockLiquidity: BN;\n liquidityPerPeriod: BN;\n numberOfPeriod: number;\n vestings: PublicKey[];\n};\n\nexport type ClaimPositionFeeParams = {\n owner: PublicKey;\n position: PublicKey;\n nftPositionMint: PublicKey;\n tokenAMint: PublicKey;\n tokenBMint: PublicKey;\n tokenAProgram: PublicKey;\n tokenBProgram: PublicKey;\n};\n\nexport type InitializeRewardParams = {\n rewardIndex: number;\n rewardDuration: BN;\n pool: PublicKey;\n rewardMint: PublicKey;\n payer: PublicKey;\n};\n\nexport type UpdateRewardDurationParams = {\n pool: PublicKey;\n admin: PublicKey;\n rewardIndex: number;\n newDuration: BN;\n};\n\nexport type UpdateRewardFunderParams = {\n pool: PublicKey;\n admin: PublicKey;\n rewardIndex: number;\n newFunder: PublicKey;\n};\n\nexport type FundRewardParams = {\n funder: PublicKey;\n rewardIndex: number;\n pool: PublicKey;\n carryForward: boolean;\n amount: BN;\n};\n\nexport type WithdrawIneligibleRewardParams = {\n rewardIndex: number;\n pool: PublicKey;\n funder: PublicKey;\n};\n\nexport type ClaimPartnerFeeParams = {\n partner: PublicKey;\n pool: PublicKey;\n maxAmountA: BN;\n maxAmountB: BN;\n};\n\nexport type ClaimRewardParams = {\n user: PublicKey;\n position: PublicKey;\n rewardIndex: number;\n};\n\nexport type RefreshVestingParams = {\n owner: PublicKey;\n position: PublicKey;\n positionNftMint: PublicKey;\n pool: PublicKey;\n vestings: PublicKey[];\n};\n\nexport type PermanentLockParams = {\n owner: PublicKey;\n position: PublicKey;\n positionNftMint: PublicKey;\n pool: PublicKey;\n unlockedLiquidity: BN;\n};\n","import {\n createAssociatedTokenAccountIdempotentInstruction,\n createCloseAccountInstruction,\n getAccount,\n getAssociatedTokenAddressSync,\n getMint,\n NATIVE_MINT,\n TOKEN_2022_PROGRAM_ID,\n TOKEN_PROGRAM_ID,\n TokenAccountNotFoundError,\n TokenInvalidAccountOwnerError,\n} from \"@solana/spl-token\";\nimport {\n Connection,\n PublicKey,\n SystemProgram,\n TransactionInstruction,\n} from \"@solana/web3.js\";\n\nexport function getTokenProgram(flag: number): PublicKey {\n return flag == 0 ? TOKEN_PROGRAM_ID : TOKEN_2022_PROGRAM_ID;\n}\nexport const getTokenDecimals = async (\n connection: Connection,\n mint: PublicKey\n): Promise<number> => {\n return (await getMint(connection, mint)).decimals;\n};\n\nexport const getOrCreateATAInstruction = async (\n connection: Connection,\n tokenMint: PublicKey,\n owner: PublicKey,\n payer: PublicKey = owner,\n allowOwnerOffCurve = true,\n tokenProgram: PublicKey\n): Promise<{ ataPubkey: PublicKey; ix?: TransactionInstruction }> => {\n const toAccount = getAssociatedTokenAddressSync(\n tokenMint,\n owner,\n allowOwnerOffCurve,\n tokenProgram\n );\n\n try {\n await getAccount(connection, toAccount);\n return { ataPubkey: toAccount, ix: undefined };\n } catch (e) {\n if (\n e instanceof TokenAccountNotFoundError ||\n e instanceof TokenInvalidAccountOwnerError\n ) {\n const ix = createAssociatedTokenAccountIdempotentInstruction(\n payer,\n toAccount,\n owner,\n tokenMint,\n tokenProgram\n );\n\n return { ataPubkey: toAccount, ix };\n } else {\n /* handle error */\n console.error(\"Error::getOrCreateATAInstruction\", e);\n throw e;\n }\n }\n};\n\nexport const wrapSOLInstruction = (\n from: PublicKey,\n to: PublicKey,\n amount: bigint\n): TransactionInstruction[] => {\n return [\n SystemProgram.transfer({\n fromPubkey: from,\n toPubkey: to,\n lamports: amount,\n }),\n new TransactionInstruction({\n keys: [\n {\n pubkey: to,\n isSigner: false,\n isWritable: true,\n },\n ],\n data: Buffer.from(new Uint8Array([17])),\n programId: TOKEN_PROGRAM_ID,\n }),\n ];\n};\n\nexport const unwrapSOLInstruction = async (\n owner: PublicKey,\n allowOwnerOffCurve = true\n) => {\n const wSolATAAccount = getAssociatedTokenAddressSync(\n NATIVE_MINT,\n owner,\n allowOwnerOffCurve\n );\n if (wSolATAAccount) {\n const closedWrappedSolInstruction = createCloseAccountInstruction(\n wSolATAAccount,\n owner,\n owner,\n [],\n TOKEN_PROGRAM_ID\n );\n return closedWrappedSolInstruction;\n }\n return null;\n};\n","import { BN } from \"@coral-xyz/anchor\";\nimport { FeeSchedulerMode } from \"../types\";\nimport {\n BASIS_POINT_MAX,\n FEE_DENOMINATOR,\n MAX_FEE_NUMERATOR,\n SCALE_OFFSET,\n} from \"../constants\";\nimport { ONE, pow } from \"../math/feeMath\";\n\n// Fee scheduler\n// Linear: cliffFeeNumerator - period * reductionFactor\n// Exponential: cliffFeeNumerator * (1 -reductionFactor/BASIS_POINT_MAX)^period\nexport function getBaseFeeNumerator(\n feeSchedulerMode: FeeSchedulerMode,\n cliffFeeNumerator: BN,\n period: BN,\n reductionFactor: BN\n): BN {\n let feeNumerator: BN;\n if (feeSchedulerMode == FeeSchedulerMode.Linear) {\n feeNumerator = cliffFeeNumerator.sub(period.mul(reductionFactor));\n } else {\n const bps = reductionFactor.shln(SCALE_OFFSET).div(new BN(BASIS_POINT_MAX));\n const base = ONE.sub(bps);\n const result = pow(base, period);\n feeNumerator = cliffFeeNumerator.mul(result).shrn(SCALE_OFFSET);\n }\n\n return feeNumerator;\n}\n\nexport function getDynamicFeeNumerator(\n volatilityAccumulator: BN,\n binStep: BN,\n variableFeeControl: BN\n): BN {\n const squareVfaBin = volatilityAccumulator.mul(binStep).pow(new BN(2));\n const vFee = squareVfaBin.mul(variableFeeControl);\n return vFee.addn(99_999_999_999).divn(100_000_000_000);\n}\n\nexport function getFeeNumerator(\n currentPoint: number,\n activationPoint: BN,\n numberOfPeriod: number,\n periodFrequency: BN,\n feeSchedulerMode: number,\n cliffFeeNumerator: BN,\n reductionFactor: BN,\n dynamicFeeParams?: {\n volatilityAccumulator: BN;\n binStep: BN;\n variableFeeControl: BN;\n }\n): BN {\n if (Number(periodFrequency) == 0) {\n return cliffFeeNumerator;\n }\n const period = new BN(currentPoint).lt(activationPoint)\n ? new BN(numberOfPeriod)\n : BN.min(\n new BN(numberOfPeriod),\n new BN(currentPoint).sub(activationPoint).div(periodFrequency)\n );\n\n let feeNumerator = getBaseFeeNumerator(\n feeSchedulerMode,\n cliffFeeNumerator,\n period,\n reductionFactor\n );\n\n if (dynamicFeeParams) {\n const { volatilityAccumulator, binStep, variableFeeControl } =\n dynamicFeeParams;\n const dynamicFeeNumberator = getDynamicFeeNumerator(\n volatilityAccumulator,\n binStep,\n variableFeeControl\n );\n feeNumerator.add(dynamicFeeNumberator);\n }\n return feeNumerator.gt(new BN(MAX_FEE_NUMERATOR))\n ? new BN(MAX_FEE_NUMERATOR)\n : feeNumerator;\n}\n","import { BN } from \"@coral-xyz/anchor\";\nimport { SCALE_OFFSET } from \"../constants\";\n\nconst MAX_EXPONENTIAL = new BN(0x80000);\n\nexport const ONE = new BN(1).shln(SCALE_OFFSET);\nconst MAX = new BN(2).pow(new BN(128)).sub(new BN(1));\n\nexport function pow(base: BN, exp: BN): BN {\n let invert = exp.isNeg();\n\n if (exp.isZero()) {\n return ONE;\n }\n\n exp = invert ? exp.abs() : exp;\n\n if (exp.gt(MAX_EXPONENTIAL)) {\n return new BN(0);\n }\n\n let squaredBase = base;\n let result = ONE;\n\n if (squaredBase.gte(result)) {\n squaredBase = MAX.div(squaredBase);\n invert = !invert;\n }\n\n if (!exp.and(new BN(0x1)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x2)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x4)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x8)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x10)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x20)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x40)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x80)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x100)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x200)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x400)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x800)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x1000)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x2000)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x4000)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x8000)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x10000)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x20000)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x40000)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n if (result.isZero()) {\n return new BN(0);\n }\n\n if (invert) {\n result = MAX.div(result);\n }\n\n return result;\n}\n","import { BN } from \"@coral-xyz/anchor\";\nimport { divCeil, mulDiv } from \"../math\";\nimport { CollectFeeMode, Rounding } from \"../types\";\nimport { FEE_DENOMINATOR, SCALE_OFFSET } from \"../constants\";\n\n// aToB\n// √P' = √P * L / (L + Δx*√P)\n// bToA\n// √P' = √P + Δy / L\nexport function getNextSqrtPrice(\n amount: BN,\n sqrtPrice: BN,\n liquidity: BN,\n aToB: boolean\n) {\n let result: BN;\n if (aToB) {\n const product = amount.mul(sqrtPrice);\n const denominator = liquidity.add(product);\n result = mulDiv(liquidity, sqrtPrice, denominator, Rounding.Up);\n } else {\n const quotient = amount.shln(SCALE_OFFSET * 2).div(liquidity);\n result = sqrtPrice.add(quotient);\n }\n\n return result;\n}\n\n/// Gets the delta amount_a for given liquidity and price range\n///\n/// # Formula\n///\n/// * `Δa = L * (1 / √P_lower - 1 / √P_upper)`\n/// * i.e. `L * (√P_upper - √P_lower) / (√P_upper * √P_lower)`\nexport function getDeltaAmountA(\n lowerSqrtPrice: BN,\n upperSqrtPrice: BN,\n liquidity: BN,\n rounding: Rounding\n): BN {\n const deltaSqrtPrice = upperSqrtPrice.sub(lowerSqrtPrice);\n const denominator = lowerSqrtPrice.mul(upperSqrtPrice);\n return mulDiv(liquidity, deltaSqrtPrice, denominator, rounding);\n}\n\n/// Gets the delta amount_b for given liquidity and price range\n/// * `Δb = L (√P_upper - √P_lower)`\nexport function getDeltaAmountB(\n lowerSqrtPrice: BN,\n upperSqrtPrice: BN,\n liquidity: BN,\n rounding: Rounding\n): BN {\n const deltaSqrtPrice = upperSqrtPrice.sub(lowerSqrtPrice);\n const prod = liquidity.mul(deltaSqrtPrice);\n\n let result: BN;\n if (rounding == Rounding.Up) {\n const denominator = new BN(1).shln(SCALE_OFFSET * 2);\n result = divCeil(prod, denominator);\n } else {\n result = prod.shrn(SCALE_OFFSET * 2);\n }\n\n return result;\n}\n\n// calculate outAmount without fee charging\nexport function calculateSwap(\n inAmount: BN,\n sqrtPrice: BN,\n liquidity: BN,\n tradeFeeNumerator: BN,\n aToB: boolean,\n collectFeeMode: number\n): { amountOutExcludedlpFee: BN; lpFee: BN } {\n let outAmount: BN;\n let lpFee: BN;\n\n if (collectFeeMode === CollectFeeMode.BothToken) {\n if (aToB) {\n const nextSqrtPrice = getNextSqrtPrice(\n inAmount,\n sqrtPrice,\n liquidity,\n true\n );\n outAmount = getDeltaAmountB(\n nextSqrtPrice,\n sqrtPrice,\n liquidity,\n Rounding.Down\n );\n lpFee = mulDiv(\n outAmount,\n tradeFeeNumerator,\n new BN(FEE_DENOMINATOR),\n Rounding.Down\n );\n } else {\n const nextSqrtPrice = getNextSqrtPrice(\n inAmount,\n sqrtPrice,\n liquidity,\n false\n );\n\n outAmount = getDeltaAmountA(\n sqrtPrice,\n nextSqrtPrice,\n liquidity,\n Rounding.Down\n );\n lpFee = mulDiv(\n outAmount,\n tradeFeeNumerator,\n new BN(new BN(FEE_DENOMINATOR)),\n Rounding.Down\n );\n }\n } else {\n const nextSqrtPrice = getNextSqrtPrice(\n inAmount,\n sqrtPrice,\n liquidity,\n true\n );\n outAmount = getDeltaAmountB(\n nextSqrtPrice,\n sqrtPrice,\n liquidity,\n Rounding.Down\n );\n lpFee = mulDiv(\n outAmount,\n tradeFeeNumerator,\n new BN(FEE_DENOMINATOR),\n Rounding.Down\n );\n if (aToB) {\n } else {\n lpFee = mulDiv(\n inAmount,\n tradeFeeNumerator,\n new BN(FEE_DENOMINATOR),\n Rounding.Down\n );\n const nextSqrtPrice = getNextSqrtPrice(\n inAmount.sub(lpFee),\n sqrtPrice,\n liquidity,\n false\n );\n outAmount = getDeltaAmountA(\n sqrtPrice,\n nextSqrtPrice,\n liquidity,\n Rounding.Down\n );\n }\n }\n\n return { amountOutExcludedlpFee: outAmount.sub(lpFee), lpFee };\n}\n\n// Δa = L * (1 / √P_lower - 1 / √P_upper)\n//\n// Δa = L * (√P_upper - √P_lower) / (√P_upper * √P_lower)\n//\n// L = Δa * √P_upper * √P_lower / (√P_upper - √P_lower)\n//\nexport function getLiquidityDeltaFromAmountA(\n maxAmountA: BN,\n lowerSqrtPrice: BN, // current sqrt price\n upperSqrtPrice: BN // max sqrt price\n): BN {\n const prod = maxAmountA.mul(upperSqrtPrice.mul(lowerSqrtPrice));\n const delta = upperSqrtPrice.sub(lowerSqrtPrice);\n\n return prod.div(delta);\n}\n\n// Δb = L (√P_upper - √P_lower)\n// L = Δb / (√P_upper - √P_lower)\nexport function getLiquidityDeltaFromAmountB(\n maxAmountB: BN,\n lowerSqrtPrice: BN, // min sqrt price\n upperSqrtPrice: BN // current sqrt price\n): BN {\n const denominator = upperSqrtPrice.sub(lowerSqrtPrice);\n const result = maxAmountB.shln(SCALE_OFFSET * 2).div(denominator);\n return result;\n}\n","import {\n AddressLookupTableAccount,\n Commitment,\n ComputeBudgetProgram,\n Connection,\n PublicKey,\n TransactionInstruction,\n TransactionMessage,\n VersionedTransaction,\n} from \"@solana/web3.js\";\nimport { MAX_CU_BUFFER, MIN_CU_BUFFER } from \"../constants\";\n\nexport const getSimulationComputeUnits = async (\n connection: Connection,\n instructions: Array<TransactionInstruction>,\n payer: PublicKey,\n lookupTables: Array<AddressLookupTableAccount> | [],\n commitment: Commitment = \"confirmed\"\n): Promise<number | null> => {\n const testInstructions = [\n // Set an arbitrarily high number in simulation\n // so we can be sure the transaction will succeed\n // and get the real compute units used\n ComputeBudgetProgram.setComputeUnitLimit({ units: 1_400_000 }),\n ...instructions,\n ];\n\n const testTransaction = new VersionedTransaction(\n new TransactionMessage({\n instructions: testInstructions,\n payerKey: payer,\n // RecentBlockhash can by any public key during simulation\n // since 'replaceRecentBlockhash' is set to 'true' below\n recentBlockhash: PublicKey.default.toString(),\n }).compileToV0Message(lookupTables)\n );\n\n const rpcResponse = await connection.simulateTransaction(testTransaction, {\n replaceRecentBlockhash: true,\n sigVerify: false,\n commitment,\n });\n\n if (rpcResponse?.value?.err) {\n const logs = rpcResponse.value.logs?.join(\"\\n • \") || \"No logs available\";\n throw new Error(\n `Transaction simulation failed:\\n •${logs}` +\n JSON.stringify(rpcResponse?.value?.err)\n );\n }\n\n return rpcResponse.value.unitsConsumed || null;\n};\n\n/**\n * Gets the estimated compute unit usage with a buffer.\n * @param connection A Solana connection object.\n * @param instructions The instructions of the transaction to simulate.\n * @param feePayer The public key of the fee payer.\n * @param buffer The buffer to add to the estimated compute unit usage. Max value is 1. Default value is 0.1 if not provided, and will be capped between 50k - 200k.\n * @returns The estimated compute unit usage with the buffer.\n */\nexport const getEstimatedComputeUnitUsageWithBuffer = async (\n connection: Connection,\n instructions: TransactionInstruction[],\n feePayer: PublicKey,\n buffer?: number\n) => {\n if (!buffer) {\n buffer = 0.1;\n }\n // Avoid negative value\n buffer = Math.max(0, buffer);\n // Limit buffer to 1\n buffer = Math.min(1, buffer);\n\n const estimatedComputeUnitUsage = await getSimulationComputeUnits(\n connection,\n instructions,\n feePayer,\n []\n );\n\n if (!estimatedComputeUnitUsage) {\n return 0;\n }\n\n let extraComputeUnitBuffer = estimatedComputeUnitUsage * buffer;\n if (extraComputeUnitBuffer > MAX_CU_BUFFER) {\n extraComputeUnitBuffer = MAX_CU_BUFFER;\n } else if (extraComputeUnitBuffer < MIN_CU_BUFFER) {\n extraComputeUnitBuffer = MIN_CU_BUFFER;\n }\n\n return estimatedComputeUnitUsage + extraComputeUnitBuffer;\n};\n\n/**\n * Gets the estimated compute unit usage with a buffer and converts it to a SetComputeUnitLimit instruction.\n * If the estimated compute unit usage cannot be retrieved, returns a SetComputeUnitLimit instruction with the fallback unit.\n * @param connection A Solana connection object.\n * @param instructions The instructions of the transaction to simulate.\n * @param feePayer The public key of the fee payer.\n * @param buffer The buffer to add to the estimated compute unit usage. Max value is 1. Default value is 0.1 if not provided, and will be capped between 50k - 200k.\n * @returns A SetComputeUnitLimit instruction with the estimated compute unit usage.\n */\nexport const getEstimatedComputeUnitIxWithBuffer = async (\n connection: Connection,\n instructions: TransactionInstruction[],\n feePayer: PublicKey,\n buffer?: number\n) => {\n const units = await getEstimatedComputeUnitUsageWithBuffer(\n connection,\n instructions,\n feePayer,\n buffer\n ).catch((error) => {\n console.error(\"Error::getEstimatedComputeUnitUsageWithBuffer\", error);\n return 1_400_000;\n });\n\n return ComputeBudgetProgram.setComputeUnitLimit({ units });\n};\n","import { BN } from \"@coral-xyz/anchor\";\nimport { BASIS_POINT_MAX } from \"../constants\";\nimport Decimal from \"decimal.js\";\n/**\n * It takes an amount and a slippage rate, and returns the maximum amount that can be received with\n * that slippage rate\n * @param {BN} amount - The amount of tokens you want to buy.\n * @param {number} slippageRate - The maximum percentage of slippage you're willing to accept. (Max to 2 decimal place)\n * @returns The maximum amount of tokens that can be bought with the given amount of ETH, given the\n * slippage rate.\n */\nexport const getMaxAmountWithSlippage = (amount: BN, slippageRate: number) => {\n const slippage = ((100 + slippageRate) / 100) * BASIS_POINT_MAX;\n return amount.mul(new BN(slippage)).div(new BN(BASIS_POINT_MAX));\n};\n\n/**\n * It takes an amount and a slippage rate, and returns the minimum amount that will be received after\n * slippage\n * @param {BN} amount - The amount of tokens you want to sell.\n * @param {number} slippageRate - The percentage of slippage you're willing to accept. (Max to 2 decimal place)\n * @returns The minimum amount that can be received after slippage is applied.\n */\nexport const getMinAmountWithSlippage = (amount: BN, slippageRate: number) => {\n const slippage = ((100 - slippageRate) / 100) * BASIS_POINT_MAX;\n return amount.mul(new BN(slippage)).div(new BN(BASIS_POINT_MAX));\n};\n\nexport const getPriceImpact = (\n amount: BN,\n amountWithoutSlippage: BN\n): number => {\n const diff = amountWithoutSlippage.sub(amount);\n return new Decimal(diff.toString())\n .div(new Decimal(amountWithoutSlippage.toString()))\n .mul(100)\n .toNumber();\n};\n"],"mappings":"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;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,OAAS;AAAA,IACP;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,MACjB,MAAQ;AAAA,QACN,MAAQ;AAAA,MACV;AAAA,MACA,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,MACjB,MAAQ;AAAA,QACN,MAAQ;AAAA,MACV;AAAA,MACA,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN;AAAA,MACF;AAAA,MACA,eAAiB;AAAA,MACjB,MAAQ;AAAA,QACN,MAAQ;AAAA,MACV;AAAA,MACA,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,MACjB,MAAQ;AAAA,QACN,MAAQ;AAAA,MACV;AAAA,MACA,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,SAAW;AAAA,gBACT,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,cACA;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN,SAAW;AAAA,gBACT,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,MACjB,MAAQ;AAAA,QACN,MAAQ;AAAA,MACV;AAAA,MACA,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,MACjB,MAAQ;AAAA,QACN,MAAQ;AAAA,MACV;AAAA,MACA,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN,SAAW;AAAA,gBACT,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN,SAAW;AAAA,gBACT,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN,SAAW;AAAA,gBACT,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN,SAAW;AAAA,gBACT,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN,SAAW;AAAA,gBACT,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN,SAAW;AAAA,gBACT,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,SAAW;AAAA,gBACT,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,QAAU;AAAA,YACZ;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,QAAU;AAAA,YACZ;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,MACjB,MAAQ;AAAA,QACN,MAAQ;AAAA,MACV;AAAA,MACA,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,SAAW;AAAA,gBACT,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,SAAW;AAAA,gBACT,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,kBACE,SAAW;AAAA,oBACT,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,SAAW;AAAA,gBACT,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,QAAU;AAAA,gBACR,SAAW;AAAA,kBACT,MAAQ;AAAA,gBACV;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,MACjB,MAAQ;AAAA,QACN,MAAQ;AAAA,MACV;AAAA,MACA,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN,SAAW;AAAA,gBACT,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN,SAAW;AAAA,gBACT,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,eAAiB;AAAA,MACjB,MAAQ;AAAA,QACN,MAAQ;AAAA,MACV;AAAA,MACA,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,cACA;AAAA,cACA;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,SAAW;AAAA,gBACT,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,SAAW;AAAA,gBACT,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,MACjB,MAAQ;AAAA,QACN,MAAQ;AAAA,MACV;AAAA,MACA,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,MACjB,MAAQ;AAAA,QACN,MAAQ;AAAA,MACV;AAAA,MACA,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,SAAW;AAAA,gBACT,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,kBACE,SAAW;AAAA,oBACT,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,MACjB,MAAQ;AAAA,QACN,MAAQ;AAAA,MACV;AAAA,MACA,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN;AAAA,MACF;AAAA,MACA,eAAiB;AAAA,MACjB,MAAQ;AAAA,QACN,MAAQ;AAAA,MACV;AAAA,MACA,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,cACA;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN;AAAA,MACF;AAAA,MACA,eAAiB;AAAA,MACjB,MAAQ;AAAA,QACN,MAAQ;AAAA,MACV;AAAA,MACA,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,MACjB,MAAQ;AAAA,QACN,MAAQ;AAAA,MACV;AAAA,MACA,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN;AAAA,YACF;AAAA,YACA,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,MACjB,MAAQ;AAAA,QACN,MAAQ;AAAA,MACV;AAAA,MACA,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN,MAAQ;AAAA,QACR,QAAU;AAAA,UACR;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,cACN,QAAU;AAAA,YACZ;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,UACA;AAAA,YACE,MAAQ;AAAA,YACR,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;AC9/LA,SAAS,UAAU;AACnB,SAAS,iBAAiB;AAEnB,IAAM,oBAAoB,IAAI;AAAA,EACnC;AACF;AAEO,IAAM,eAAe;AACrB,IAAM,kBAAkB;AACxB,IAAM,oBAAoB;AAC1B,IAAM,kBAAkB;AAExB,IAAM,iBAAiB,IAAI,GAAG,YAAY;AAC1C,IAAM,iBAAiB,IAAI,GAAG,+BAA+B;AAC7D,IAAM,gBAAgB;AACtB,IAAM,gBAAgB;;;ACf7B,SAAS,aAAAC,kBAAiB;AAInB,SAAS,YAAY,MAAiB,MAAiB;AAC5D,QAAM,OAAO,KAAK,SAAS;AAC3B,QAAM,OAAO,KAAK,SAAS;AAE3B,MAAI,OAAO,QAAQ,MAAM,IAAI,MAAM,GAAG;AACpC,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEO,SAAS,aAAa,MAAiB,MAAiB;AAC7D,QAAM,OAAO,KAAK,SAAS;AAC3B,QAAM,OAAO,KAAK,SAAS;AAE3B,MAAI,OAAO,QAAQ,MAAM,IAAI,MAAM,GAAG;AACpC,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEO,SAAS,oBAAoB,WAAiC;AACnE,SAAOA,WAAU;AAAA,IACf,CAAC,OAAO,KAAK,gBAAgB,CAAC;AAAA,IAC9B;AAAA,EACF,EAAE,CAAC;AACL;AACO,SAAS,oBACd,OACA,WACW;AACX,SAAOA,WAAU;AAAA,IACf,CAAC,OAAO,KAAK,QAAQ,GAAG,MAAM,YAAY,QAAQ,MAAM,CAAC,CAAC;AAAA,IAC1D;AAAA,EACF,EAAE,CAAC;AACL;AAEO,SAAS,kBACd,QACA,YACA,YACA,WACW;AACX,SAAOA,WAAU;AAAA,IACf;AAAA,MACE,OAAO,KAAK,MAAM;AAAA,MAClB,OAAO,SAAS;AAAA,MAChB,YAAY,YAAY,UAAU;AAAA,MAClC,aAAa,YAAY,UAAU;AAAA,IACrC;AAAA,IACA;AAAA,EACF,EAAE,CAAC;AACL;AAEO,SAAS,sBACd,aACA,WACW;AACX,SAAOA,WAAU;AAAA,IACf,CAAC,OAAO,KAAK,UAAU,GAAG,YAAY,SAAS,CAAC;AAAA,IAChD;AAAA,EACF,EAAE,CAAC;AACL;AAEO,SAAS,wBACd,WACA,MACA,WACW;AACX,SAAOA,WAAU;AAAA,IACf,CAAC,OAAO,KAAK,aAAa,GAAG,UAAU,SAAS,GAAG,KAAK,SAAS,CAAC;AAAA,IAClE;AAAA,EACF,EAAE,CAAC;AACL;AAEO,SAAS,yBACd,MACA,aACA,WACW;AACX,SAAOA,WAAU;AAAA,IACf,CAAC,OAAO,KAAK,cAAc,GAAG,KAAK,SAAS,GAAG,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC;AAAA,IACzE;AAAA,EACF,EAAE,CAAC;AACL;AAEO,SAAS,8BACd,YACA,YACA,WACW;AACX,SAAOA,WAAU;AAAA,IACf;AAAA,MACE,OAAO,KAAK,OAAO;AAAA,MACnB,YAAY,YAAY,UAAU;AAAA,MAClC,aAAa,YAAY,UAAU;AAAA,IACrC;AAAA,IACA;AAAA,EACF,EAAE,CAAC;AACL;AAEO,SAAS,wBACd,WACA,WACW;AACX,SAAOA,WAAU;AAAA,IACf,CAAC,OAAO,KAAK,aAAa,GAAG,UAAU,SAAS,CAAC;AAAA,IACjD;AAAA,EACF,EAAE,CAAC;AACL;AAEO,SAAS,8BACd,UACA,WACW;AACX,SAAOA,WAAU;AAAA,IACf,CAAC,OAAO,KAAK,aAAa,GAAG,SAAS,SAAS,CAAC;AAAA,IAChD;AAAA,EACF,EAAE,CAAC;AACL;AAEO,SAAS,yBACd,iBACA,WACW;AACX,SAAOA,WAAU;AAAA,IACf,CAAC,OAAO,KAAK,sBAAsB,GAAG,gBAAgB,SAAS,CAAC;AAAA,IAChE;AAAA,EACF,EAAE,CAAC;AACL;;;ACpIA,SAAS,MAAAC,WAAU;AACnB,OAAO,aAAa;;;ACOb,IAAK,WAAL,kBAAKC,cAAL;AACL,EAAAA,oBAAA;AACA,EAAAA,oBAAA;AAFU,SAAAA;AAAA,GAAA;AAKL,IAAK,kBAAL,kBAAKC,qBAAL;AACL,EAAAA,kCAAA;AACA,EAAAA,kCAAA;AAFU,SAAAA;AAAA,GAAA;AAKL,IAAK,mBAAL,kBAAKC,sBAAL;AACL,EAAAA,oCAAA;AACA,EAAAA,oCAAA;AAFU,SAAAA;AAAA,GAAA;AAKL,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gCAAA;AACA,EAAAA,gCAAA;AAFU,SAAAA;AAAA,GAAA;AAKL,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gCAAA;AACA,EAAAA,gCAAA;AAFU,SAAAA;AAAA,GAAA;AAKL,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gCAAA;AACA,EAAAA,gCAAA;AAFU,SAAAA;AAAA,GAAA;;;ADnBL,SAAS,OAAO,GAAO,GAAO,aAAiB,UAAwB;AAC5E,QAAM,EAAE,KAAK,IAAI,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,WAAW;AAEhD,MAAI,0BAA2B,CAAC,IAAI,OAAO,GAAG;AAC5C,WAAO,IAAI,IAAI,IAAIC,IAAG,CAAC,CAAC;AAAA,EAC1B;AACA,SAAO;AACT;AAEO,SAAS,QAAQ,GAAO,GAAW;AACxC,MAAI,EAAE,OAAO,GAAG;AACd,WAAO,IAAIA,IAAG,CAAC;AAAA,EACjB;AAEA,SAAO,EAAE,IAAI,EAAE,IAAI,IAAIA,IAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;AACtC;AAQO,SAAS,aAAa,KAAkB;AAC7C,SAAO,IAAIC,IAAG,IAAI,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC;AAC7D;AAEO,SAAS,iBACd,WACA,eACA,eACI;AACJ,QAAM,eAAe;AAAA,IACnB,UAAU,IAAI,QAAQ,IAAI,IAAI,gBAAgB,aAAa,CAAC,EAAE,KAAK;AAAA,EACrE;AAEA,SAAO;AACT;;;AEnDA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EAGE;AAAA,EACA;AAAA,OACK;AAEA,SAAS,gBAAgB,MAAyB;AACvD,SAAO,QAAQ,IAAI,mBAAmB;AACxC;AACO,IAAM,mBAAmB,CAC9B,YACA,SACoB;AACpB,UAAQ,MAAM,QAAQ,YAAY,IAAI,GAAG;AAC3C;AAEO,IAAM,4BAA4B,CACvC,IACA,IACA,OAImE,wBANnE,IACA,IACA,IAImE,mBANnE,YACA,WACA,OACA,QAAmB,OACnB,qBAAqB,MACrB,cACmE;AACnE,QAAM,YAAY;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,MAAI;AACF,UAAM,WAAW,YAAY,SAAS;AACtC,WAAO,EAAE,WAAW,WAAW,IAAI,OAAU;AAAA,EAC/C,SAAS,GAAG;AACV,QACE,aAAa,6BACb,aAAa,+BACb;AACA,YAAM,KAAK;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAEA,aAAO,EAAE,WAAW,WAAW,GAAG;AAAA,IACpC,OAAO;AAEL,cAAQ,MAAM,oCAAoC,CAAC;AACnD,YAAM;AAAA,IACR;AAAA,EACF;AACF;AAEO,IAAM,qBAAqB,CAChC,MACA,IACA,WAC6B;AAC7B,SAAO;AAAA,IACL,cAAc,SAAS;AAAA,MACrB,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,UAAU;AAAA,IACZ,CAAC;AAAA,IACD,IAAI,uBAAuB;AAAA,MACzB,MAAM;AAAA,QACJ;AAAA,UACE,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,YAAY;AAAA,QACd;AAAA,MACF;AAAA,MACA,MAAM,OAAO,KAAK,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;AAAA,MACtC,WAAW;AAAA,IACb,CAAC;AAAA,EACH;AACF;AAEO,IAAM,uBAAuB,CAClC,OACA,qBAAqB,SAClB;AACH,QAAM,iBAAiB;AAAA,IACrB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,MAAI,gBAAgB;AAClB,UAAM,8BAA8B;AAAA,MAClC;AAAA,MACA;AAAA,MACA;AAAA,MACA,CAAC;AAAA,MACD;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACA,SAAO;AACT;;;AClHA,SAAS,MAAAC,WAAU;;;ACAnB,SAAS,MAAAC,WAAU;AAGnB,IAAM,kBAAkB,IAAIC,IAAG,MAAO;AAE/B,IAAM,MAAM,IAAIA,IAAG,CAAC,EAAE,KAAK,YAAY;AAC9C,IAAM,MAAM,IAAIA,IAAG,CAAC,EAAE,IAAI,IAAIA,IAAG,GAAG,CAAC,EAAE,IAAI,IAAIA,IAAG,CAAC,CAAC;AAE7C,SAAS,IAAI,MAAU,KAAa;AACzC,MAAI,SAAS,IAAI,MAAM;AAEvB,MAAI,IAAI,OAAO,GAAG;AAChB,WAAO;AAAA,EACT;AAEA,QAAM,SAAS,IAAI,IAAI,IAAI;AAE3B,MAAI,IAAI,GAAG,eAAe,GAAG;AAC3B,WAAO,IAAIA,IAAG,CAAC;AAAA,EACjB;AAEA,MAAI,cAAc;AAClB,MAAI,SAAS;AAEb,MAAI,YAAY,IAAI,MAAM,GAAG;AAC3B,kBAAc,IAAI,IAAI,WAAW;AACjC,aAAS,CAAC;AAAA,EACZ;AAEA,MAAI,CAAC,IAAI,IAAI,IAAIA,IAAG,CAAG,CAAC,EAAE,OAAO,GAAG;AAClC,aAAS,OAAO,IAAI,WAAW,EAAE,KAAK,YAAY;AAAA,EACpD;AAEA,gBAAc,YAAY,IAAI,WAAW,EAAE,KAAK,YAAY;AAE5D,MAAI,CAAC,IAAI,IAAI,IAAIA,IAAG,CAAG,CAAC,EAAE,OAAO,GAAG;AAClC,aAAS,OAAO,IAAI,WAAW,EAAE,KAAK,YAAY;AAAA,EACpD;AAEA,gBAAc,YAAY,IAAI,WAAW,EAAE,KAAK,YAAY;AAE5D,MAAI,CAAC,IAAI,IAAI,IAAIA,IAAG,CAAG,CAAC,EAAE,OAAO,GAAG;AAClC,aAAS,OAAO,IAAI,WAAW,EAAE,KAAK,YAAY;AAAA,EACpD;AAEA,gBAAc,YAAY,IAAI,WAAW,EAAE,KAAK,YAAY;AAE5D,MAAI,CAAC,IAAI,IAAI,IAAIA,IAAG,CAAG,CAAC,EAAE,OAAO,GAAG;AAClC,aAAS,OAAO,IAAI,WAAW,EAAE,KAAK,YAAY;AAAA,EACpD;AAEA,gBAAc,YAAY,IAAI,WAAW,EAAE,KAAK,YAAY;AAE5D,MAAI,CAAC,IAAI,IAAI,IAAIA,IAAG,EAAI,CAAC,EAAE,OAAO,GAAG;AACnC,aAAS,OAAO,IAAI,WAAW,EAAE,KAAK,YAAY;AAAA,EACpD;AAEA,gBAAc,YAAY,IAAI,WAAW,EAAE,KAAK,YAAY;AAE5D,MAAI,CAAC,IAAI,IAAI,IAAIA,IAAG,EAAI,CAAC,EAAE,OAAO,GAAG;AACnC,aAAS,OAAO,IAAI,WAAW,EAAE,KAAK,YAAY;AAAA,EACpD;AAEA,gBAAc,YAAY,IAAI,WAAW,EAAE,KAAK,YAAY;AAE5D,MAAI,CAAC,IAAI,IAAI,IAAIA,IAAG,EAAI,CAAC,EAAE,OAAO,GAAG;AACnC,aAAS,OAAO,IAAI,WAAW,EAAE,KAAK,YAAY;AAAA,EACpD;AAEA,gBAAc,YAAY,IAAI,WAAW,EAAE,KAAK,YAAY;AAE5D,MAAI,CAAC,IAAI,IAAI,IAAIA,IAAG,GAAI,CAAC,EAAE,OAAO,GAAG;AACnC,aAAS,OAAO,IAAI,WAAW,EAAE,KAAK,YAAY;AAAA,EACpD;AAEA,gBAAc,YAAY,IAAI,WAAW,EAAE,KAAK,YAAY;AAE5D,MAAI,CAAC,IAAI,IAAI,IAAIA,IAAG,GAAK,CAAC,EAAE,OAAO,GAAG;AACpC,aAAS,OAAO,IAAI,WAAW,EAAE,KAAK,YAAY;AAAA,EACpD;AAEA,gBAAc,YAAY,IAAI,WAAW,EAAE,KAAK,YAAY;AAE5D,MAAI,CAAC,IAAI,IAAI,IAAIA,IAAG,GAAK,CAAC,EAAE,OAAO,GAAG;AACpC,aAAS,OAAO,IAAI,WAAW,EAAE,KAAK,YAAY;AAAA,EACpD;AAEA,gBAAc,YAAY,IAAI,WAAW,EAAE,KAAK,YAAY;AAE5D,MAAI,CAAC,IAAI,IAAI,IAAIA,IAAG,IAAK,CAAC,EAAE,OAAO,GAAG;AACpC,aAAS,OAAO,IAAI,WAAW,EAAE,KAAK,YAAY;AAAA,EACpD;AAEA,gBAAc,YAAY,IAAI,WAAW,EAAE,KAAK,YAAY;AAE5D,MAAI,CAAC,IAAI,IAAI,IAAIA,IAAG,IAAK,CAAC,EAAE,OAAO,GAAG;AACpC,aAAS,OAAO,IAAI,WAAW,EAAE,KAAK,YAAY;AAAA,EACpD;AAEA,gBAAc,YAAY,IAAI,WAAW,EAAE,KAAK,YAAY;AAE5D,MAAI,CAAC,IAAI,IAAI,IAAIA,IAAG,IAAM,CAAC,EAAE,OAAO,GAAG;AACrC,aAAS,OAAO,IAAI,WAAW,EAAE,KAAK,YAAY;AAAA,EACpD;AAEA,gBAAc,YAAY,IAAI,WAAW,EAAE,KAAK,YAAY;AAE5D,MAAI,CAAC,IAAI,IAAI,IAAIA,IAAG,IAAM,CAAC,EAAE,OAAO,GAAG;AACrC,aAAS,OAAO,IAAI,WAAW,EAAE,KAAK,YAAY;AAAA,EACpD;AAEA,gBAAc,YAAY,IAAI,WAAW,EAAE,KAAK,YAAY;AAE5D,MAAI,CAAC,IAAI,IAAI,IAAIA,IAAG,KAAM,CAAC,EAAE,OAAO,GAAG;AACrC,aAAS,OAAO,IAAI,WAAW,EAAE,KAAK,YAAY;AAAA,EACpD;AAEA,gBAAc,YAAY,IAAI,WAAW,EAAE,KAAK,YAAY;AAE5D,MAAI,CAAC,IAAI,IAAI,IAAIA,IAAG,KAAM,CAAC,EAAE,OAAO,GAAG;AACrC,aAAS,OAAO,IAAI,WAAW,EAAE,KAAK,YAAY;AAAA,EACpD;AAEA,gBAAc,YAAY,IAAI,WAAW,EAAE,KAAK,YAAY;AAE5D,MAAI,CAAC,IAAI,IAAI,IAAIA,IAAG,KAAO,CAAC,EAAE,OAAO,GAAG;AACtC,aAAS,OAAO,IAAI,WAAW,EAAE,KAAK,YAAY;AAAA,EACpD;AAEA,gBAAc,YAAY,IAAI,WAAW,EAAE,KAAK,YAAY;AAE5D,MAAI,CAAC,IAAI,IAAI,IAAIA,IAAG,MAAO,CAAC,EAAE,OAAO,GAAG;AACtC,aAAS,OAAO,IAAI,WAAW,EAAE,KAAK,YAAY;AAAA,EACpD;AAEA,gBAAc,YAAY,IAAI,WAAW,EAAE,KAAK,YAAY;AAE5D,MAAI,CAAC,IAAI,IAAI,IAAIA,IAAG,MAAO,CAAC,EAAE,OAAO,GAAG;AACtC,aAAS,OAAO,IAAI,WAAW,EAAE,KAAK,YAAY;AAAA,EACpD;AAEA,MAAI,OAAO,OAAO,GAAG;AACnB,WAAO,IAAIA,IAAG,CAAC;AAAA,EACjB;AAEA,MAAI,QAAQ;AACV,aAAS,IAAI,IAAI,MAAM;AAAA,EACzB;AAEA,SAAO;AACT;;;ADzIO,SAAS,oBACd,kBACA,mBACA,QACA,iBACI;AACJ,MAAI;AACJ,MAAI,oCAA6C;AAC/C,mBAAe,kBAAkB,IAAI,OAAO,IAAI,eAAe,CAAC;AAAA,EAClE,OAAO;AACL,UAAM,MAAM,gBAAgB,KAAK,YAAY,EAAE,IAAI,IAAIC,IAAG,eAAe,CAAC;AAC1E,UAAM,OAAO,IAAI,IAAI,GAAG;AACxB,UAAM,SAAS,IAAI,MAAM,MAAM;AAC/B,mBAAe,kBAAkB,IAAI,MAAM,EAAE,KAAK,YAAY;AAAA,EAChE;AAEA,SAAO;AACT;AAEO,SAAS,uBACd,uBACA,SACA,oBACI;AACJ,QAAM,eAAe,sBAAsB,IAAI,OAAO,EAAE,IAAI,IAAIA,IAAG,CAAC,CAAC;AACrE,QAAM,OAAO,aAAa,IAAI,kBAAkB;AAChD,SAAO,KAAK,KAAK,WAAc,EAAE,KAAK,IAAe;AACvD;AAEO,SAAS,gBACd,cACA,iBACA,gBACA,iBACA,kBACA,mBACA,iBACA,kBAKI;AACJ,MAAI,OAAO,eAAe,KAAK,GAAG;AAChC,WAAO;AAAA,EACT;AACA,QAAM,SAAS,IAAIA,IAAG,YAAY,EAAE,GAAG,eAAe,IAClD,IAAIA,IAAG,cAAc,IACrBA,IAAG;AAAA,IACD,IAAIA,IAAG,cAAc;AAAA,IACrB,IAAIA,IAAG,YAAY,EAAE,IAAI,eAAe,EAAE,IAAI,eAAe;AAAA,EAC/D;AAEJ,MAAI,eAAe;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,MAAI,kBAAkB;AACpB,UAAM,EAAE,uBAAuB,SAAS,mBAAmB,IACzD;AACF,UAAM,uBAAuB;AAAA,MAC3B;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,iBAAa,IAAI,oBAAoB;AAAA,EACvC;AACA,SAAO,aAAa,GAAG,IAAIA,IAAG,iBAAiB,CAAC,IAC5C,IAAIA,IAAG,iBAAiB,IACxB;AACN;;;AEtFA,SAAS,MAAAC,WAAU;AASZ,SAAS,iBACd,QACA,WACA,WACA,MACA;AACA,MAAI;AACJ,MAAI,MAAM;AACR,UAAM,UAAU,OAAO,IAAI,SAAS;AACpC,UAAM,cAAc,UAAU,IAAI,OAAO;AACzC,aAAS,OAAO,WAAW,WAAW,uBAAwB;AAAA,EAChE,OAAO;AACL,UAAM,WAAW,OAAO,KAAK,eAAe,CAAC,EAAE,IAAI,SAAS;AAC5D,aAAS,UAAU,IAAI,QAAQ;AAAA,EACjC;AAEA,SAAO;AACT;AAQO,SAAS,gBACd,gBACA,gBACA,WACA,UACI;AACJ,QAAM,iBAAiB,eAAe,IAAI,cAAc;AACxD,QAAM,cAAc,eAAe,IAAI,cAAc;AACrD,SAAO,OAAO,WAAW,gBAAgB,aAAa,QAAQ;AAChE;AAIO,SAAS,gBACd,gBACA,gBACA,WACA,UACI;AACJ,QAAM,iBAAiB,eAAe,IAAI,cAAc;AACxD,QAAM,OAAO,UAAU,IAAI,cAAc;AAEzC,MAAI;AACJ,MAAI,wBAAyB;AAC3B,UAAM,cAAc,IAAIC,IAAG,CAAC,EAAE,KAAK,eAAe,CAAC;AACnD,aAAS,QAAQ,MAAM,WAAW;AAAA,EACpC,OAAO;AACL,aAAS,KAAK,KAAK,eAAe,CAAC;AAAA,EACrC;AAEA,SAAO;AACT;AAGO,SAAS,cACd,UACA,WACA,WACA,mBACA,MACA,gBAC2C;AAC3C,MAAI;AACJ,MAAI;AAEJ,MAAI,sCAA6C;AAC/C,QAAI,MAAM;AACR,YAAM,gBAAgB;AAAA,QACpB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AACA,kBAAY;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA;AAAA,MAEF;AACA,cAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA,IAAIA,IAAG,eAAe;AAAA;AAAA,MAExB;AAAA,IACF,OAAO;AACL,YAAM,gBAAgB;AAAA,QACpB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAEA,kBAAY;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA;AAAA,MAEF;AACA,cAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA,IAAIA,IAAG,IAAIA,IAAG,eAAe,CAAC;AAAA;AAAA,MAEhC;AAAA,IACF;AAAA,EACF,OAAO;AACL,UAAM,gBAAgB;AAAA,MACpB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,gBAAY;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA;AAAA,IAEF;AACA,YAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA,IAAIA,IAAG,eAAe;AAAA;AAAA,IAExB;AACA,QAAI,MAAM;AAAA,IACV,OAAO;AACL,cAAQ;AAAA,QACN;AAAA,QACA;AAAA,QACA,IAAIA,IAAG,eAAe;AAAA;AAAA,MAExB;AACA,YAAMC,iBAAgB;AAAA,QACpB,SAAS,IAAI,KAAK;AAAA,QAClB;AAAA,QACA;AAAA,QACA;AAAA,MACF;AACA,kBAAY;AAAA,QACV;AAAA,QACAA;AAAA,QACA;AAAA;AAAA,MAEF;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,wBAAwB,UAAU,IAAI,KAAK,GAAG,MAAM;AAC/D;AAQO,SAAS,6BACd,YACA,gBACA,gBACI;AACJ,QAAM,OAAO,WAAW,IAAI,eAAe,IAAI,cAAc,CAAC;AAC9D,QAAM,QAAQ,eAAe,IAAI,cAAc;AAE/C,SAAO,KAAK,IAAI,KAAK;AACvB;AAIO,SAAS,6BACd,YACA,gBACA,gBACI;AACJ,QAAM,cAAc,eAAe,IAAI,cAAc;AACrD,QAAM,SAAS,WAAW,KAAK,eAAe,CAAC,EAAE,IAAI,WAAW;AAChE,SAAO;AACT;;;AChMA;AAAA,EAGE;AAAA,EAEA,aAAAC;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AAGA,IAAM,4BAA4B,CACvC,YACA,cACA,OACA,cACA,aAAyB,gBACE;AAlB7B;AAmBE,QAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA,IAIvB,qBAAqB,oBAAoB,EAAE,OAAO,KAAU,CAAC;AAAA,IAC7D,GAAG;AAAA,EACL;AAEA,QAAM,kBAAkB,IAAI;AAAA,IAC1B,IAAI,mBAAmB;AAAA,MACrB,cAAc;AAAA,MACd,UAAU;AAAA;AAAA;AAAA,MAGV,iBAAiBC,WAAU,QAAQ,SAAS;AAAA,IAC9C,CAAC,EAAE,mBAAmB,YAAY;AAAA,EACpC;AAEA,QAAM,cAAc,MAAM,WAAW,oBAAoB,iBAAiB;AAAA,IACxE,wBAAwB;AAAA,IACxB,WAAW;AAAA,IACX;AAAA,EACF,CAAC;AAED,OAAI,gDAAa,UAAb,mBAAoB,KAAK;AAC3B,UAAM,SAAO,iBAAY,MAAM,SAAlB,mBAAwB,KAAK,mBAAa;AACvD,UAAM,IAAI;AAAA,MACR;AAAA,UAAsC,IAAI,KACxC,KAAK,WAAU,gDAAa,UAAb,mBAAoB,GAAG;AAAA,IAC1C;AAAA,EACF;AAEA,SAAO,YAAY,MAAM,iBAAiB;AAC5C;AAUO,IAAM,yCAAyC,CACpD,YACA,cACA,UACA,WACG;AACH,MAAI,CAAC,QAAQ;AACX,aAAS;AAAA,EACX;AAEA,WAAS,KAAK,IAAI,GAAG,MAAM;AAE3B,WAAS,KAAK,IAAI,GAAG,MAAM;AAE3B,QAAM,4BAA4B,MAAM;AAAA,IACtC;AAAA,IACA;AAAA,IACA;AAAA,IACA,CAAC;AAAA,EACH;AAEA,MAAI,CAAC,2BAA2B;AAC9B,WAAO;AAAA,EACT;AAEA,MAAI,yBAAyB,4BAA4B;AACzD,MAAI,yBAAyB,eAAe;AAC1C,6BAAyB;AAAA,EAC3B,WAAW,yBAAyB,eAAe;AACjD,6BAAyB;AAAA,EAC3B;AAEA,SAAO,4BAA4B;AACrC;AAWO,IAAM,sCAAsC,CACjD,YACA,cACA,UACA,WACG;AACH,QAAM,QAAQ,MAAM;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAE,MAAM,CAAC,UAAU;AACjB,YAAQ,MAAM,iDAAiD,KAAK;AACpE,WAAO;AAAA,EACT,CAAC;AAED,SAAO,qBAAqB,oBAAoB,EAAE,MAAM,CAAC;AAC3D;;;AC3HA,SAAS,MAAAC,WAAU;AAEnB,OAAOC,cAAa;AAqBb,IAAM,2BAA2B,CAAC,QAAY,iBAAyB;AAC5E,QAAM,YAAa,MAAM,gBAAgB,MAAO;AAChD,SAAO,OAAO,IAAI,IAAIC,IAAG,QAAQ,CAAC,EAAE,IAAI,IAAIA,IAAG,eAAe,CAAC;AACjE;AAEO,IAAM,iBAAiB,CAC5B,QACA,0BACW;AACX,QAAM,OAAO,sBAAsB,IAAI,MAAM;AAC7C,SAAO,IAAIC,SAAQ,KAAK,SAAS,CAAC,EAC/B,IAAI,IAAIA,SAAQ,sBAAsB,SAAS,CAAC,CAAC,EACjD,IAAI,GAAG,EACP,SAAS;AACd;;;AX0BO,IAAM,QAAN,MAAY;AAAA,EAEjB,YAAY,YAAwB;AAClC,SAAK,WAAW,IAAI,QAAQ,gBAAwB;AAAA,MAClD;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,aAAa;AACX,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYc,0BACZ,QAC+B;AAAA;AAC/B,YAAM,EAAE,cAAc,cAAc,eAAe,cAAc,IAAI;AAErE,YAAM,YAAY,aAAa,IAAI,YAAY;AAC/C,YAAM,eAAe;AAAA,QACnB,IAAIC,SAAQ,UAAU,SAAS,CAAC;AAAA,QAChC;AAAA,QACA;AAAA,MACF;AAEA,UAAI,aAAa,GAAG,cAAc,KAAK,aAAa,GAAG,cAAc,GAAG;AACtE,cAAM,IAAI,MAAM,uBAAuB,aAAa,SAAS,CAAC,EAAE;AAAA,MAClE;AAEA,YAAM,4BAA4B;AAAA,QAChC;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAEA,YAAM,4BAA4B;AAAA,QAChC;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAEA,YAAM,eAAe,0BAA0B;AAAA,QAC7C;AAAA,MACF,IACI,4BACA;AAEJ,aAAO;AAAA,QACL;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA;AAAA;AAAA,EAGM,iBAAiB,QAAyC;AAAA;AAC9D,YAAM,cAAc,MAAM,KAAK,SAAS,QAAQ,OAAO;AAAA,QACrD;AAAA,MACF;AACA,gBAAU,aAAa,mBAAmB,MAAM,YAAY;AAE5D,aAAO;AAAA,IACT;AAAA;AAAA,EAEM,eAAe,MAAqC;AAAA;AACxD,YAAM,YAAY,MAAM,KAAK,SAAS,QAAQ,KAAK,cAAc,IAAI;AACrE,gBAAU,WAAW,iBAAiB,IAAI,YAAY;AAEtD,aAAO;AAAA,IACT;AAAA;AAAA,EAEM,mBAAmB,UAA6C;AAAA;AACpE,YAAM,gBAAgB,MAAM,KAAK,SAAS,QAAQ,SAAS;AAAA,QACzD;AAAA,MACF;AACA,gBAAU,eAAe,qBAAqB,QAAQ,YAAY;AAElE,aAAO;AAAA,IACT;AAAA;AAAA,EAEM,SAAS,QAMZ;AAAA;AA7JL;AA8JI,YAAM,EAAE,UAAU,gBAAgB,UAAU,UAAU,IAAI;AAC1D,YAAM;AAAA,QACJ,WAAW;AAAA,QACX,WAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,IAAI;AACJ,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,IAAI,SAAS;AACb,YAAM,aAAa,SAAS;AAE5B,YAAM,OAAO,UAAU,WAAW,OAAO,cAAc;AACvD,YAAM,OAAO,MAAM,KAAK,SAAS,SAAS,WAAW,QAAQ;AAC7D,YAAM,YAAY,MAAM,KAAK,SAAS,SAAS,WAAW,SAAS,MAAM;AAAA,QACvE,gCAAgC;AAAA,MAClC,CAAC;AACD,YAAM,eAAc,4CAAW,cAAX,YAAwB,KAAK,MAAM,KAAK,IAAI,IAAI,GAAI;AACxE,YAAM,eAAe,iBAAiB,cAAc;AAEpD,UAAI;AACJ,UAAI,WAAW,aAAa;AAC1B,cAAM,EAAE,uBAAuB,SAAS,mBAAmB,IAAI;AAC/D,2BAAmB,EAAE,uBAAuB,SAAS,mBAAmB;AAAA,MAC1E;AAEA,YAAM,oBAAoB;AAAA,QACxB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAEA,YAAM,EAAE,wBAAwB,MAAM,IAAI;AAAA,QACxC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AACA,YAAM,mBAAmB;AAAA,QACvB;AAAA,QACA;AAAA,MACF;AAEA,aAAO;AAAA,QACL,cAAc;AAAA,QACd,eAAe;AAAA,QACf;AAAA,QACA,UAAU;AAAA,QACV,aAAa,eAAe,kBAAkB,sBAAsB;AAAA,MACtE;AAAA,IACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcM,kBAAkB,QAA2C;AAAA;AACjE,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,IAAI;AAEJ,YAAM,4BAA4B;AAAA,QAChC;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAEA,YAAM,4BAA4B;AAAA,QAChC;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAEA,aAAO,0BAA0B,IAAI,yBAAyB,IAC1D,4BACA;AAAA,IACN;AAAA;AAAA,EAEM,WAAW,QAAqC;AAAA;AArQxD;AAsQI,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,IAAI;AAEJ,YAAM,EAAE,cAAc,aAAa,IAAI,MAAM,KAAK;AAAA,QAChD;AAAA,UACE;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAEA,YAAM,OAAO;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,QACA,KAAK,SAAS;AAAA,MAChB;AAEA,YAAM,iBACJ,iBAAM,KAAK,SAAS,SAAS,WAAW,qBAAqB,UAAU,MAAvE,mBACC,UADD,mBACQ;AAEV,YAAM,iBACJ,iBAAM,KAAK,SAAS,SAAS,WAAW,qBAAqB,UAAU,MAAvE,mBACC,UADD,mBACQ;AAEV,YAAM,cAAcC;AAAA,QAClB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AACA,YAAM,cAAcA;AAAA,QAClB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAEA,YAAM,KAAK,MAAM,KAAK,SAAS,QAC5B,eAAe;AAAA,QACd,WAAW;AAAA,QACX,WAAW;AAAA,QACX;AAAA,MACF,CAAC,EACA,SAAS;AAAA,QACR;AAAA,QACA,iBAAiB;AAAA,QACjB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC,EACA,YAAY;AAEf,aAAO;AAAA,IACT;AAAA;AAAA,EAEM,iBAAiB,QAIpB;AAAA;AACD,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,IAAI;AAEJ,YAAM,EAAE,cAAc,aAAa,IAAI,MAAM,KAAK;AAAA,QAChD;AAAA,UACE;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAEA,YAAM,OAAO;AAAA,QACX;AAAA,QACA;AAAA,QACA,KAAK,SAAS;AAAA,MAChB;AACA,YAAM,WAAW;AAAA,QACf;AAAA,QACA,KAAK,SAAS;AAAA,MAChB;AACA,YAAM,iBACJ,MAAM,KAAK,SAAS,SAAS,WAAW,eAAe,UAAU,GACjE;AAEF,YAAM,iBACJ,MAAM,KAAK,SAAS,SAAS,WAAW,eAAe,UAAU,GACjE;AAEF,YAAM,kBAAkB,CAAC;AACzB,YAAM;AAAA,QACJ,EAAE,WAAW,aAAa,IAAI,2BAA2B;AAAA,QACzD,EAAE,WAAW,aAAa,IAAI,2BAA2B;AAAA,MAC3D,IAAI,MAAM,QAAQ,IAAI;AAAA,QACpB;AAAA,UACE,KAAK,SAAS,SAAS;AAAA,UACvB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,UACE,KAAK,SAAS,SAAS;AAAA,UACvB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAED,oCACE,gBAAgB,KAAK,0BAA0B;AACjD,oCACE,gBAAgB,KAAK,0BAA0B;AAEjD,UAAI,WAAW,OAAOC,YAAW,GAAG;AAClC,cAAM,YAAY;AAAA,UAChB;AAAA,UACA;AAAA,UACA,OAAO,aAAa,SAAS,CAAC;AAAA,QAChC;AAEA,wBAAgB,KAAK,GAAG,SAAS;AAAA,MACnC;AAEA,UAAI,WAAW,OAAOA,YAAW,GAAG;AAClC,cAAM,YAAY;AAAA,UAChB;AAAA,UACA;AAAA,UACA,OAAO,aAAa,SAAS,CAAC;AAAA,QAChC;AAEA,wBAAgB,KAAK,GAAG,SAAS;AAAA,MACnC;AAEA,YAAM,cAAc,MAAM,KAAK,SAAS,QACrC,2BAA2B;AAAA,QAC1B;AAAA,QACA,cAAc;AAAA,QACd,cAAc;AAAA,QACd;AAAA,QACA,WAAW;AAAA,QACX,WAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC,EACA,SAAS;AAAA,QACR;AAAA,QACA,iBAAiB;AAAA,QACjB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC,EACA,gBAAgB,eAAe,EAC/B,YAAY;AAEf,aAAO,EAAE,IAAI,aAAa,MAAM,SAAS;AAAA,IAC3C;AAAA;AAAA,EAEM,eAAe,QAAyC;AAAA;AAC5D,YAAM,EAAE,OAAO,OAAO,MAAM,YAAY,IAAI;AAE5C,aAAO,MAAM,KAAK,SAAS,QACxB,eAAe,EACf,SAAS;AAAA,QACR;AAAA,QACA,iBAAiB;AAAA,QACjB;AAAA,QACA;AAAA,MACF,CAAC,EACA,YAAY;AAAA,IACjB;AAAA;AAAA,EAEM,aAAa,QAAuC;AAAA;AACxD,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,IAAI;AACJ,YAAM,qBAAqB;AAAA,QACzB;AAAA,QACA,KAAK,SAAS;AAAA,MAChB;AAEA,YAAM,kBAA4C,CAAC;AACnD,YAAM;AAAA,QACJ,EAAE,WAAW,eAAe,IAAI,2BAA2B;AAAA,QAC3D,EAAE,WAAW,eAAe,IAAI,2BAA2B;AAAA,MAC7D,IAAI,MAAM,QAAQ,IAAI;AAAA,QACpB;AAAA,UACE,KAAK,SAAS,SAAS;AAAA,UACvB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,UACE,KAAK,SAAS,SAAS;AAAA,UACvB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAED,oCACE,gBAAgB,KAAK,0BAA0B;AACjD,oCACE,gBAAgB,KAAK,0BAA0B;AAEjD,UAAI,WAAW,OAAOA,YAAW,GAAG;AAClC,cAAM,YAAY;AAAA,UAChB;AAAA,UACA;AAAA,UACA,OAAO,gBAAgB,SAAS,CAAC;AAAA,QACnC;AAEA,wBAAgB,KAAK,GAAG,SAAS;AAAA,MACnC;AAEA,UAAI,WAAW,OAAOA,YAAW,GAAG;AAClC,cAAM,YAAY;AAAA,UAChB;AAAA,UACA;AAAA,UACA,OAAO,gBAAgB,SAAS,CAAC;AAAA,QACnC;AAEA,wBAAgB,KAAK,GAAG,SAAS;AAAA,MACnC;AAEA,YAAM,mBAA6C,CAAC;AACpD,UACE,CAAC,WAAW,SAAS,GAAG,WAAW,SAAS,CAAC,EAAE;AAAA,QAC7CA,aAAY,SAAS;AAAA,MACvB,GACA;AACA,cAAM,oBAAoB,MAAM,qBAAqB,KAAK;AAC1D,6BAAqB,iBAAiB,KAAK,iBAAiB;AAAA,MAC9D;AACA,aAAO,MAAM,KAAK,SAAS,QACxB,aAAa;AAAA,QACZ,gBAAgB;AAAA,QAChB;AAAA,QACA;AAAA,MACF,CAAC,EACA,SAAS;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC,EACA,gBAAgB,eAAe,EAC/B,iBAAiB,gBAAgB,EACjC,YAAY;AAAA,IACjB;AAAA;AAAA,EAEM,gBAAgB,QAA0C;AAAA;AAC9D,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,IAAI;AACJ,YAAM,qBAAqB;AAAA,QACzB;AAAA,QACA,KAAK,SAAS;AAAA,MAChB;AAEA,YAAM,kBAA4C,CAAC;AACnD,YAAM;AAAA,QACJ,EAAE,WAAW,eAAe,IAAI,sBAAsB;AAAA,QACtD,EAAE,WAAW,eAAe,IAAI,sBAAsB;AAAA,MACxD,IAAI,MAAM,QAAQ,IAAI;AAAA,QACpB;AAAA,UACE,KAAK,SAAS,SAAS;AAAA,UACvB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,UACE,KAAK,SAAS,SAAS;AAAA,UACvB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AACD,+BAAyB,gBAAgB,KAAK,qBAAqB;AACnE,+BAAyB,gBAAgB,KAAK,qBAAqB;AAEnE,YAAM,mBAA6C,CAAC;AACpD,UACE,CAAC,WAAW,SAAS,GAAG,WAAW,SAAS,CAAC,EAAE;AAAA,QAC7CA,aAAY,SAAS;AAAA,MACvB,GACA;AACA,cAAM,oBAAoB,MAAM,qBAAqB,KAAK;AAC1D,6BAAqB,iBAAiB,KAAK,iBAAiB;AAAA,MAC9D;AAEA,aAAO,MAAM,KAAK,SAAS,QACxB,gBAAgB;AAAA,QACf,gBAAgB;AAAA,QAChB;AAAA,QACA;AAAA,MACF,CAAC,EACA,SAAS;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC,EACA,gBAAgB,eAAe,EAC/B,iBAAiB,gBAAgB,EACjC,YAAY;AAAA,IACjB;AAAA;AAAA,EAEM,KAAK,QAA+B;AAAA;AACxC,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,IAAI;AAEJ,YAAM,kBAA4C,CAAC;AACnD,YAAM;AAAA,QACJ,EAAE,WAAW,mBAAmB,IAAI,0BAA0B;AAAA,QAC9D,EAAE,WAAW,oBAAoB,IAAI,2BAA2B;AAAA,MAClE,IAAI,MAAM,QAAQ,IAAI;AAAA,QACpB;AAAA,UACE,KAAK,SAAS,SAAS;AAAA,UACvB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,UACE,KAAK,SAAS,SAAS;AAAA,UACvB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AACD,mCACE,gBAAgB,KAAK,yBAAyB;AAChD,oCACE,gBAAgB,KAAK,0BAA0B;AAEjD,UAAI,eAAe,OAAOA,YAAW,GAAG;AACtC,cAAM,YAAY;AAAA,UAChB;AAAA,UACA;AAAA,UACA,OAAO,SAAS,SAAS,CAAC;AAAA,QAC5B;AAEA,wBAAgB,KAAK,GAAG,SAAS;AAAA,MACnC;AAEA,YAAM,mBAA6C,CAAC;AACpD,UACE,CAAC,WAAW,SAAS,GAAG,WAAW,SAAS,CAAC,EAAE;AAAA,QAC7CA,aAAY,SAAS;AAAA,MACvB,GACA;AACA,cAAM,oBAAoB,MAAM,qBAAqB,KAAK;AAC1D,6BAAqB,iBAAiB,KAAK,iBAAiB;AAAA,MAC9D;AAEA,aAAO,MAAM,KAAK,SAAS,QACxB,KAAK;AAAA,QACJ;AAAA,QACA;AAAA,MACF,CAAC,EACA,SAAS;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC,EACA,gBAAgB,eAAe,EAC/B,iBAAiB,gBAAgB,EACjC,YAAY;AAAA,IACjB;AAAA;AAAA,EAEM,aAAa,QAAuC;AAAA;AACxD,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,IAAI;AACJ,YAAM,qBAAqB;AAAA,QACzB;AAAA,QACA,KAAK,SAAS;AAAA,MAChB;AAEA,YAAM,qBAAqB;AAAA,QACzB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO,SAAS;AAAA,MAClB;AACA,aAAO,MAAM,KAAK,SAAS,QACxB,aAAa,kBAAkB,EAC/B,SAAS;AAAA,QACR;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT;AAAA,QACA;AAAA,MACF,CAAC,EACA,YAAY;AAAA,IACjB;AAAA;AAAA,EAEM,sBAAsB,QAAwC;AAAA;AAClE,YAAM,EAAE,OAAO,UAAU,iBAAiB,MAAM,kBAAkB,IAChE;AACF,YAAM,qBAAqB;AAAA,QACzB;AAAA,QACA,KAAK,SAAS;AAAA,MAChB;AAEA,aAAO,MAAM,KAAK,SAAS,QACxB,sBAAsB,iBAAiB,EACvC,SAAS;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC,EACA,YAAY;AAAA,IACjB;AAAA;AAAA,EAEM,eAAe,QAAyC;AAAA;AAC5D,YAAM,EAAE,OAAO,UAAU,iBAAiB,MAAM,SAAS,IAAI;AAC7D,YAAM,qBAAqB;AAAA,QACzB;AAAA,QACA,KAAK,SAAS;AAAA,MAChB;AAEA,aAAO,MAAM,KAAK,SAAS,QACxB,eAAe,EACf,SAAS;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC,EACA;AAAA,QACC,SAAS,IAAI,CAAC,WAAsB;AAClC,iBAAO;AAAA,YACL,UAAU;AAAA,YACV,YAAY;AAAA,YACZ;AAAA,UACF;AAAA,QACF,CAAC;AAAA,MACH,EACC,YAAY;AAAA,IACjB;AAAA;AAAA,EAEM,iBAAiB,QAA2C;AAAA;AAChE,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,IAAI;AAEJ,YAAM,qBAAqB;AAAA,QACzB;AAAA,QACA,KAAK,SAAS;AAAA,MAChB;AAEA,YAAM,kBAA4C,CAAC;AACnD,YAAM;AAAA,QACJ,EAAE,WAAW,eAAe,IAAI,sBAAsB;AAAA,QACtD,EAAE,WAAW,eAAe,IAAI,sBAAsB;AAAA,MACxD,IAAI,MAAM,QAAQ,IAAI;AAAA,QACpB;AAAA,UACE,KAAK,SAAS,SAAS;AAAA,UACvB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,UACE,KAAK,SAAS,SAAS;AAAA,UACvB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AACD,+BAAyB,gBAAgB,KAAK,qBAAqB;AACnE,+BAAyB,gBAAgB,KAAK,qBAAqB;AAEnE,YAAM,mBAA6C,CAAC;AACpD,UACE,CAAC,WAAW,SAAS,GAAG,WAAW,SAAS,CAAC,EAAE;AAAA,QAC7CA,aAAY,SAAS;AAAA,MACvB,GACA;AACA,cAAM,oBAAoB,MAAM,qBAAqB,KAAK;AAC1D,6BAAqB,iBAAiB,KAAK,iBAAiB;AAAA,MAC9D;AAEA,aAAO,MAAM,KAAK,SAAS,QACxB,iBAAiB,EACjB,SAAS;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC,EACA,gBAAgB,eAAe,EAC/B,iBAAiB,gBAAgB,EACjC,YAAY;AAAA,IACjB;AAAA;AAAA,EAEM,qBAAqB,QAA+C;AAAA;AACxE,YAAM,EAAE,MAAM,OAAO,aAAa,YAAY,IAAI;AAClD,aAAO,MAAM,KAAK,SAAS,QACxB,qBAAqB,aAAa,WAAW,EAC7C,SAAS;AAAA,QACR;AAAA,QACA;AAAA,MACF,CAAC,EACA,YAAY;AAAA,IACjB;AAAA;AAAA,EAEM,mBAAmB,QAA6C;AAAA;AACpE,YAAM,EAAE,MAAM,OAAO,aAAa,UAAU,IAAI;AAChD,aAAO,MAAM,KAAK,SAAS,QACxB,mBAAmB,aAAa,SAAS,EACzC,SAAS;AAAA,QACR;AAAA,QACA;AAAA,MACF,CAAC,EACA,YAAY;AAAA,IACjB;AAAA;AAAA,EAEM,WAAW,QAAqC;AAAA;AACpD,YAAM,EAAE,aAAa,cAAc,MAAM,QAAQ,OAAO,IAAI;AAE5D,YAAM,YAAY,MAAM,KAAK,eAAe,IAAI;AAChD,YAAM,aAAa,UAAU,YAAY,WAAW;AACpD,YAAM,EAAE,OAAO,KAAK,IAAI;AACxB,YAAM,eAAe,gBAAgB,WAAW;AAEhD,YAAM,kBAA4C,CAAC;AAEnD,YAAM,EAAE,WAAW,oBAAoB,IAAI,2BAA2B,IACpE,MAAM;AAAA,QACJ,KAAK,SAAS,SAAS;AAAA,QACvB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAEF,oCACE,gBAAgB,KAAK,0BAA0B;AAGjD,UAAI,KAAK,OAAOA,YAAW,KAAK,CAAC,OAAO,OAAO,GAAG;AAChD,cAAM,YAAY;AAAA,UAChB;AAAA,UACA;AAAA,UACA,OAAO,OAAO,SAAS,CAAC;AAAA,QAC1B;AAEA,wBAAgB,KAAK,GAAG,SAAS;AAAA,MACnC;AAEA,aAAO,MAAM,KAAK,SAAS,QACxB,WAAW,aAAa,QAAQ,YAAY,EAC5C,SAAS;AAAA,QACR;AAAA,QACA,aAAa;AAAA,QACb,YAAY;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC,EACA,YAAY;AAAA,IACjB;AAAA;AAAA,EAEM,yBACJ,QACW;AAAA;AACX,YAAM,EAAE,aAAa,MAAM,OAAO,IAAI;AAEtC,YAAM,YAAY,MAAM,KAAK,eAAe,IAAI;AAEhD,YAAM,aAAa,UAAU,YAAY,WAAW;AACpD,YAAM,EAAE,MAAM,OAAO,gBAAgB,IAAI;AACzC,YAAM,eAAe,gBAAgB,eAAe;AAEpD,YAAM,kBAA4C,CAAC;AACnD,YAAM,mBAA6C,CAAC;AACpD,YAAM,EAAE,WAAW,oBAAoB,IAAI,2BAA2B,IACpE,MAAM;AAAA,QACJ,KAAK,SAAS,SAAS;AAAA,QACvB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AACF,oCACE,gBAAgB,KAAK,0BAA0B;AAEjD,UAAI,KAAK,OAAOA,YAAW,GAAG;AAC5B,cAAM,oBAAoB,MAAM,qBAAqB,MAAM;AAC3D,6BAAqB,iBAAiB,KAAK,iBAAiB;AAAA,MAC9D;AAEA,aAAO,MAAM,KAAK,SAAS,QACxB,yBAAyB,WAAW,EACpC,SAAS;AAAA,QACR;AAAA,QACA,aAAa;AAAA,QACb,YAAY;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC,EACA,gBAAgB,eAAe,EAC/B,iBAAiB,gBAAgB,EACjC,YAAY;AAAA,IACjB;AAAA;AAAA,EAEM,gBAAgB,QAA0C;AAAA;AAC9D,YAAM,EAAE,SAAS,MAAM,YAAY,WAAW,IAAI;AAClD,YAAM,YAAY,MAAM,KAAK,eAAe,IAAI;AAChD,YAAM,EAAE,YAAY,WAAW,IAAI;AAEnC,YAAM,gBAAgB,gBAAgB,UAAU;AAChD,YAAM,gBAAgB,gBAAgB,UAAU;AAEhD,YAAM,kBAA4C,CAAC;AACnD,YAAM;AAAA,QACJ,EAAE,WAAW,eAAe,IAAI,sBAAsB;AAAA,QACtD,EAAE,WAAW,eAAe,IAAI,sBAAsB;AAAA,MACxD,IAAI,MAAM,QAAQ,IAAI;AAAA,QACpB;AAAA,UACE,KAAK,SAAS,SAAS;AAAA,UACvB,UAAU;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,UACE,KAAK,SAAS,SAAS;AAAA,UACvB,UAAU;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AACD,+BAAyB,gBAAgB,KAAK,qBAAqB;AACnE,+BAAyB,gBAAgB,KAAK,qBAAqB;AAEnE,YAAM,mBAA6C,CAAC;AACpD,UACE;AAAA,QACE,UAAU,WAAW,SAAS;AAAA,QAC9B,UAAU,WAAW,SAAS;AAAA,MAChC,EAAE,SAASA,aAAY,SAAS,CAAC,GACjC;AACA,cAAM,oBAAoB,MAAM,qBAAqB,OAAO;AAC5D,6BAAqB,iBAAiB,KAAK,iBAAiB;AAAA,MAC9D;AAEA,aAAO,MAAM,KAAK,SAAS,QACxB,gBAAgB,YAAY,UAAU,EACtC,SAAS;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC,EACA,gBAAgB,eAAe,EAC/B,iBAAiB,gBAAgB,EACjC,YAAY;AAAA,IACjB;AAAA;AAAA,EAEM,YAAY,QAAsC;AAAA;AACtD,YAAM,EAAE,MAAM,UAAU,YAAY,IAAI;AAExC,YAAM,gBAAgB,MAAM,KAAK,mBAAmB,QAAQ;AAC5D,YAAM,YAAY,MAAM,KAAK,eAAe,cAAc,IAAI;AAE9D,YAAM,qBAAqB;AAAA,QACzB,cAAc;AAAA,QACd,KAAK,SAAS;AAAA,MAChB;AAEA,YAAM,aAAa,UAAU,YAAY,WAAW;AACpD,YAAM,eAAe,gBAAgB,WAAW,eAAe;AAE/D,YAAM,kBAA4C,CAAC;AACnD,YAAM,mBAA6C,CAAC;AACpD,YAAM,EAAE,WAAW,kBAAkB,IAAI,yBAAyB,IAChE,MAAM;AAAA,QACJ,KAAK,SAAS,SAAS;AAAA,QACvB,WAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AACF,kCAA4B,gBAAgB,KAAK,wBAAwB;AAEzE,UAAI,WAAW,KAAK,OAAOA,YAAW,GAAG;AACvC,cAAM,oBAAoB,MAAM,qBAAqB,IAAI;AACzD,6BAAqB,iBAAiB,KAAK,iBAAiB;AAAA,MAC9D;AACA,aAAO,MAAM,KAAK,SAAS,QACxB,YAAY,WAAW,EACvB,SAAS;AAAA,QACR;AAAA,QACA,aAAa,WAAW;AAAA,QACxB,YAAY,WAAW;AAAA,QACvB;AAAA,QACA;AAAA,QACA,OAAO;AAAA,QACP;AAAA,MACF,CAAC,EACA,gBAAgB,eAAe,EAC/B,iBAAiB,gBAAgB,EACjC,YAAY;AAAA,IACjB;AAAA;AACF;","names":["getAssociatedTokenAddressSync","NATIVE_MINT","Decimal","PublicKey","BN","Rounding","ActivationPoint","FeeSchedulerMode","CollectFeeMode","TradeDirection","ActivationType","BN","BN","BN","BN","BN","BN","BN","BN","nextSqrtPrice","PublicKey","PublicKey","BN","Decimal","BN","Decimal","Decimal","getAssociatedTokenAddressSync","NATIVE_MINT"]}
|
|
1
|
+
{"version":3,"sources":["../src/CpAmm.ts","../src/idl/cp_amm.json","../src/constants.ts","../src/pda.ts","../src/math/index.ts","../src/types.ts","../src/utils/token.ts","../src/utils/fee.ts","../src/math/feeMath.ts","../src/utils/curve.ts","../src/utils/computeUnits.ts","../src/utils/utils.ts","../src/utils/accountFilters.ts","../src/index.ts"],"sourcesContent":["import { Program, BN } from \"@coral-xyz/anchor\";\nimport {\n getAssociatedTokenAddressSync,\n NATIVE_MINT,\n TOKEN_2022_PROGRAM_ID,\n} from \"@solana/spl-token\";\nimport invariant from \"invariant\";\nimport Decimal from \"decimal.js\";\n\nimport CpAmmIDL from \"./idl/cp_amm.json\";\nimport type { CpAmm as CpAmmTypes } from \"./idl/cp_amm\";\nimport {\n Connection,\n Transaction,\n PublicKey,\n TransactionInstruction,\n SystemProgram,\n} from \"@solana/web3.js\";\nimport { MAX_SQRT_PRICE, MIN_SQRT_PRICE } from \"./constants\";\nimport {\n AddLiquidityParams,\n AmmProgram,\n ClaimPartnerFeeParams,\n ClaimPositionFeeParams,\n ClaimRewardParams,\n ConfigState,\n CreatePoolParams,\n CreatePositionParams,\n FundRewardParams,\n GetQuoteParams,\n InitializeCustomizeablePoolParams,\n LiquidityDeltaParams,\n LockPositionParams,\n PermanentLockParams,\n PoolState,\n PositionState,\n PreparedPoolCreation,\n PreparePoolCreationParams,\n RefreshVestingParams,\n RemoveLiquidityParams,\n SwapParams,\n TxBuilder,\n UpdateRewardDurationParams,\n UpdateRewardFunderParams,\n WithdrawIneligibleRewardParams,\n} from \"./types\";\nimport {\n deriveCustomizablePoolAddress,\n deriveEventAuthority,\n derivePoolAddress,\n derivePoolAuthority,\n derivePositionAddress,\n derivePositionNftAccount,\n deriveTokenVaultAddress,\n} from \"./pda\";\nimport { priceToSqrtPrice } from \"./math\";\n\nimport {\n getFeeNumerator,\n getNftOwner,\n getOrCreateATAInstruction,\n getTokenProgram,\n unwrapSOLInstruction,\n wrapSOLInstruction,\n} from \"./utils\";\nimport {\n calculateSwap,\n getLiquidityDeltaFromAmountA,\n getLiquidityDeltaFromAmountB,\n} from \"./utils/curve\";\nimport { getMinAmountWithSlippage, getPriceImpact } from \"./utils/utils\";\nimport { positionByPoolFilter } from \"./utils/accountFilters\";\n\nexport class CpAmm {\n _program: AmmProgram;\n constructor(connection: Connection) {\n this._program = new Program(CpAmmIDL as CpAmmTypes, {\n connection: connection,\n });\n }\n\n getProgram() {\n return this._program;\n }\n\n /**\n Prepares token ordering, calculates the initial sqrtPrice in Q64 format,\n @private\n @async\n @param {PublicKey} tokenX - One token mint address in the pair.\n @param {PublicKey} tokenY - The other token mint address in the pair.\n @param {Decimal} initialPrice - The initial price ratio of tokenX/tokenY (will be inverted if needed).\n @param {Decimal} liquidity - The initial liquidity value.\n @returns {PreparedPoolCreation} Object containing the ordered token mints and their Q64 price/liquidity values. \n */\n private async preparePoolCreationParams(\n params: PreparePoolCreationParams\n ): Promise<PreparedPoolCreation> {\n const { tokenAAmount, tokenBAmount, tokenADecimal, tokenBDecimal } = params;\n\n const initPrice = tokenBAmount.div(tokenAAmount); // TODO optimize rounding\n const sqrtPriceQ64 = priceToSqrtPrice(\n new Decimal(initPrice.toString()),\n tokenADecimal,\n tokenBDecimal\n );\n\n if (sqrtPriceQ64.lt(MIN_SQRT_PRICE) || sqrtPriceQ64.gt(MAX_SQRT_PRICE)) {\n throw new Error(`Invalid sqrt price: ${sqrtPriceQ64.toString()}`);\n }\n\n const liquidityDeltaFromAmountA = getLiquidityDeltaFromAmountA(\n tokenAAmount,\n sqrtPriceQ64,\n MAX_SQRT_PRICE\n );\n\n const liquidityDeltaFromAmountB = getLiquidityDeltaFromAmountB(\n tokenBAmount,\n MIN_SQRT_PRICE,\n sqrtPriceQ64\n );\n\n const liquidityQ64 = liquidityDeltaFromAmountA.gte(\n liquidityDeltaFromAmountB\n )\n ? liquidityDeltaFromAmountB\n : liquidityDeltaFromAmountA;\n\n return {\n sqrtPriceQ64,\n liquidityQ64,\n };\n }\n\n // fetcher\n async fetchConfigState(config: PublicKey): Promise<ConfigState> {\n const configState = await this._program.account.config.fetchNullable(\n config\n );\n invariant(configState, `Config account: ${config} not found`);\n\n return configState;\n }\n\n async fetchPoolState(pool: PublicKey): Promise<PoolState> {\n const poolState = await this._program.account.pool.fetchNullable(pool);\n invariant(poolState, `Pool account: ${pool} not found`);\n\n return poolState;\n }\n\n async fetchPositionState(position: PublicKey): Promise<PositionState> {\n const positionState = await this._program.account.position.fetchNullable(\n position\n );\n invariant(positionState, `Position account: ${position} not found`);\n\n return positionState;\n }\n\n async getAllConfigs(): Promise<\n Array<{ publicKey: PublicKey; account: ConfigState }>\n > {\n const configAccounts = await this._program.account.config.all();\n\n return configAccounts;\n }\n\n async getAllPools(): Promise<\n Array<{ publicKey: PublicKey; account: PoolState }>\n > {\n const poolAccounts = await this._program.account.pool.all();\n\n return poolAccounts;\n }\n\n async getAllPositions(): Promise<\n Array<{\n publicKey: PublicKey;\n account: PositionState;\n }>\n > {\n const poolAccounts = await this._program.account.position.all();\n\n return poolAccounts;\n }\n\n async getUserPositionByPool(\n pool: PublicKey,\n user: PublicKey\n ): Promise<\n Array<{\n publicKey: PublicKey;\n account: PositionState;\n }>\n > {\n const positions = await this._program.account.position.all([\n positionByPoolFilter(pool),\n ]);\n const result: Array<{\n publicKey: PublicKey;\n account: PositionState;\n }> = [];\n for (const position of positions) {\n const owner = await getNftOwner(\n this._program.provider.connection,\n position.account.nftMint\n );\n if (owner.equals(user)) {\n result.push(position);\n }\n }\n return result;\n }\n\n async getPositionsByUser(user: PublicKey): Promise<\n Array<{\n publicKey: PublicKey;\n account: PositionState;\n }>\n > {\n const positions = await this._program.account.position.all();\n const result: Array<{\n publicKey: PublicKey;\n account: PositionState;\n }> = [];\n for (const position of positions) {\n const owner = await getNftOwner(\n this._program.provider.connection,\n position.account.nftMint\n );\n if (owner.equals(user)) {\n result.push(position);\n }\n }\n return result;\n }\n\n async getQuote(params: GetQuoteParams): Promise<{\n swapInAmount: BN;\n swapOutAmount: BN;\n minSwapOutAmount: BN;\n totalFee: BN;\n priceImpact: number;\n }> {\n const { inAmount, inputTokenMint, slippage, poolState } = params;\n const {\n sqrtPrice: sqrtPriceQ64,\n liquidity: liquidityQ64,\n activationType,\n activationPoint,\n collectFeeMode,\n poolFees,\n } = poolState;\n const {\n feeSchedulerMode,\n cliffFeeNumerator,\n numberOfPeriod,\n reductionFactor,\n periodFrequency,\n } = poolFees.baseFee;\n const dynamicFee = poolFees.dynamicFee;\n\n const aToB = poolState.tokenAMint.equals(inputTokenMint);\n const slot = await this._program.provider.connection.getSlot();\n const blockInfo = await this._program.provider.connection.getBlock(slot, {\n maxSupportedTransactionVersion: 0,\n });\n const currentTime = blockInfo?.blockTime ?? Math.floor(Date.now() / 1000);\n const currentPoint = activationType ? currentTime : slot;\n\n let dynamicFeeParams;\n if (dynamicFee.initialized) {\n const { volatilityAccumulator, binStep, variableFeeControl } = dynamicFee;\n dynamicFeeParams = { volatilityAccumulator, binStep, variableFeeControl };\n }\n\n const tradeFeeNumerator = getFeeNumerator(\n currentPoint,\n activationPoint,\n numberOfPeriod,\n periodFrequency,\n feeSchedulerMode,\n cliffFeeNumerator,\n reductionFactor,\n dynamicFeeParams\n );\n\n const { amountOutExcludedlpFee, lpFee } = calculateSwap(\n inAmount,\n sqrtPriceQ64,\n liquidityQ64,\n tradeFeeNumerator,\n aToB,\n collectFeeMode\n );\n const minSwapOutAmount = getMinAmountWithSlippage(\n amountOutExcludedlpFee,\n slippage\n );\n\n return {\n swapInAmount: inAmount,\n swapOutAmount: amountOutExcludedlpFee,\n minSwapOutAmount,\n totalFee: lpFee,\n priceImpact: getPriceImpact(minSwapOutAmount, amountOutExcludedlpFee),\n };\n }\n\n /**\n * Computes the liquidity delta based on the provided token amounts and pool state.\n *\n * @param {LiquidityDeltaParams} params - The parameters for liquidity calculation, including:\n * - tokenX: The mint address of token X.\n * - tokenY: The mint address of token Y.\n * - maxAmountX: The maximum amount of token X available.\n * - maxAmountY: The maximum amount of token Y available.\n * - pool: The address of the liquidity pool.\n *\n * @returns {Promise<BN>} - The computed liquidity delta in Q64 value.\n */\n async getLiquidityDelta(params: LiquidityDeltaParams): Promise<BN> {\n const {\n maxAmountTokenA,\n maxAmountTokenB,\n sqrtMaxPrice,\n sqrtMinPrice,\n sqrtPrice,\n } = params;\n\n const liquidityDeltaFromAmountA = getLiquidityDeltaFromAmountA(\n maxAmountTokenA,\n sqrtPrice,\n sqrtMaxPrice\n );\n\n const liquidityDeltaFromAmountB = getLiquidityDeltaFromAmountB(\n maxAmountTokenB,\n sqrtMinPrice,\n sqrtPrice\n );\n\n return liquidityDeltaFromAmountA.gte(liquidityDeltaFromAmountB)\n ? liquidityDeltaFromAmountB\n : liquidityDeltaFromAmountA;\n }\n\n async createPool(params: CreatePoolParams): TxBuilder {\n const {\n payer,\n creator,\n config,\n positionNft,\n tokenAMint,\n tokenBMint,\n activationPoint,\n tokenAAmount,\n tokenBAmount,\n tokenADecimal,\n tokenBDecimal,\n tokenAProgram,\n tokenBProgram,\n } = params;\n\n const { sqrtPriceQ64, liquidityQ64 } = await this.preparePoolCreationParams(\n {\n tokenAAmount,\n tokenBAmount,\n tokenADecimal,\n tokenBDecimal,\n }\n );\n\n const poolAuthority = derivePoolAuthority(this._program.programId);\n\n const pool = derivePoolAddress(\n config,\n tokenAMint,\n tokenBMint,\n this._program.programId\n );\n\n const position = derivePositionAddress(\n positionNft,\n this._program.programId\n );\n const positionNftAccount = derivePositionNftAccount(\n positionNft,\n this._program.programId\n );\n\n const tokenAVault = deriveTokenVaultAddress(\n tokenAMint,\n pool,\n this._program.programId\n );\n const tokenBVault = deriveTokenVaultAddress(\n tokenBMint,\n pool,\n this._program.programId\n );\n\n const preInstructions = [];\n const [\n { ataPubkey: payerTokenA, ix: createTokenATokenAccountIx },\n { ataPubkey: payerTokenB, ix: createTokenBTokenAccountIx },\n ] = await Promise.all([\n getOrCreateATAInstruction(\n this._program.provider.connection,\n tokenAMint,\n payer,\n payer,\n true,\n tokenAProgram\n ),\n getOrCreateATAInstruction(\n this._program.provider.connection,\n tokenBMint,\n payer,\n payer,\n true,\n tokenBProgram\n ),\n ]);\n\n createTokenATokenAccountIx &&\n preInstructions.push(createTokenATokenAccountIx);\n createTokenBTokenAccountIx &&\n preInstructions.push(createTokenBTokenAccountIx);\n\n if (tokenAMint.equals(NATIVE_MINT)) {\n const wrapSOLIx = wrapSOLInstruction(\n payer,\n payerTokenA,\n BigInt(tokenAAmount.toString())\n );\n\n preInstructions.push(...wrapSOLIx);\n }\n\n if (tokenBMint.equals(NATIVE_MINT)) {\n const wrapSOLIx = wrapSOLInstruction(\n payer,\n payerTokenB,\n BigInt(tokenBAmount.toString())\n );\n\n preInstructions.push(...wrapSOLIx);\n }\n\n const tx = await this._program.methods\n .initializePool({\n liquidity: liquidityQ64,\n sqrtPrice: sqrtPriceQ64,\n activationPoint: activationPoint,\n })\n .accountsStrict({\n creator,\n positionNftAccount,\n positionNftMint: positionNft,\n payer: payer,\n config,\n poolAuthority,\n pool,\n position,\n tokenAMint,\n tokenBMint,\n tokenAVault,\n tokenBVault,\n payerTokenA,\n payerTokenB,\n token2022Program: TOKEN_2022_PROGRAM_ID,\n tokenAProgram,\n tokenBProgram,\n systemProgram: SystemProgram.programId,\n eventAuthority: deriveEventAuthority(this._program.programId)[0],\n program: this._program.programId,\n })\n .preInstructions(preInstructions)\n .transaction();\n\n return tx;\n }\n\n async createCustomPool(params: InitializeCustomizeablePoolParams): Promise<{\n tx: Transaction;\n pool: PublicKey;\n position: PublicKey;\n }> {\n const {\n tokenAMint,\n tokenBMint,\n tokenAAmount,\n tokenBAmount,\n tokenADecimal,\n tokenBDecimal,\n payer,\n creator,\n positionNft,\n poolFees,\n hasAlphaVault,\n collectFeeMode,\n activationPoint,\n activationType,\n tokenAProgram,\n tokenBProgram,\n } = params;\n\n const { sqrtPriceQ64, liquidityQ64 } = await this.preparePoolCreationParams(\n {\n tokenAAmount,\n tokenBAmount,\n tokenADecimal,\n tokenBDecimal,\n }\n );\n const poolAuthority = derivePoolAuthority(this._program.programId);\n const pool = deriveCustomizablePoolAddress(\n tokenAMint,\n tokenBMint,\n this._program.programId\n );\n const position = derivePositionAddress(\n positionNft,\n this._program.programId\n );\n const positionNftAccount = derivePositionNftAccount(\n positionNft,\n this._program.programId\n );\n\n const tokenAVault = deriveTokenVaultAddress(\n tokenAMint,\n pool,\n this._program.programId\n );\n const tokenBVault = deriveTokenVaultAddress(\n tokenBMint,\n pool,\n this._program.programId\n );\n\n const preInstructions = [];\n const [\n { ataPubkey: payerTokenA, ix: createTokenATokenAccountIx },\n { ataPubkey: payerTokenB, ix: createTokenBTokenAccountIx },\n ] = await Promise.all([\n getOrCreateATAInstruction(\n this._program.provider.connection,\n tokenAMint,\n payer,\n payer,\n true,\n tokenAProgram\n ),\n getOrCreateATAInstruction(\n this._program.provider.connection,\n tokenBMint,\n payer,\n payer,\n true,\n tokenBProgram\n ),\n ]);\n\n createTokenATokenAccountIx &&\n preInstructions.push(createTokenATokenAccountIx);\n createTokenBTokenAccountIx &&\n preInstructions.push(createTokenBTokenAccountIx);\n\n if (tokenAMint.equals(NATIVE_MINT)) {\n const wrapSOLIx = wrapSOLInstruction(\n payer,\n payerTokenA,\n BigInt(tokenAAmount.toString())\n );\n\n preInstructions.push(...wrapSOLIx);\n }\n\n if (tokenBMint.equals(NATIVE_MINT)) {\n const wrapSOLIx = wrapSOLInstruction(\n payer,\n payerTokenB,\n BigInt(tokenBAmount.toString())\n );\n\n preInstructions.push(...wrapSOLIx);\n }\n\n const transaction = await this._program.methods\n .initializeCustomizablePool({\n poolFees,\n sqrtMinPrice: MIN_SQRT_PRICE,\n sqrtMaxPrice: MAX_SQRT_PRICE,\n hasAlphaVault,\n liquidity: liquidityQ64,\n sqrtPrice: sqrtPriceQ64,\n activationType,\n collectFeeMode,\n activationPoint,\n })\n .accountsStrict({\n creator,\n positionNftAccount,\n positionNftMint: positionNft,\n payer: payer,\n poolAuthority,\n pool,\n position,\n tokenAMint,\n tokenBMint,\n tokenAVault,\n tokenBVault,\n payerTokenA,\n payerTokenB,\n token2022Program: TOKEN_2022_PROGRAM_ID,\n tokenAProgram,\n tokenBProgram,\n systemProgram: SystemProgram.programId,\n eventAuthority: deriveEventAuthority(this._program.programId)[0],\n program: this._program.programId,\n })\n .preInstructions(preInstructions)\n .transaction();\n\n return { tx: transaction, pool, position };\n }\n\n async createPosition(params: CreatePositionParams): TxBuilder {\n const { owner, payer, pool, positionNft } = params;\n const poolAuthority = derivePoolAuthority(this._program.programId);\n\n const position = derivePositionAddress(\n positionNft,\n this._program.programId\n );\n const positionNftAccount = derivePositionNftAccount(\n positionNft,\n this._program.programId\n );\n\n return await this._program.methods\n .createPosition()\n .accountsStrict({\n owner,\n positionNftMint: positionNft,\n poolAuthority,\n positionNftAccount,\n payer: payer,\n pool,\n position,\n tokenProgram: TOKEN_2022_PROGRAM_ID,\n systemProgram: SystemProgram.programId,\n eventAuthority: deriveEventAuthority(this._program.programId)[0],\n program: this._program.programId,\n })\n .transaction();\n }\n\n async addLiquidity(params: AddLiquidityParams): TxBuilder {\n const {\n owner,\n pool,\n position,\n positionNftMint,\n liquidityDeltaQ64,\n maxAmountTokenA,\n maxAmountTokenB,\n tokenAAmountThreshold,\n tokenBAmountThreshold,\n tokenAMint,\n tokenBMint,\n tokenAVault,\n tokenBVault,\n tokenAProgram,\n tokenBProgram,\n } = params;\n const positionNftAccount = derivePositionNftAccount(\n positionNftMint,\n this._program.programId\n );\n\n const preInstructions: TransactionInstruction[] = [];\n const [\n { ataPubkey: tokenAAccount, ix: createTokenATokenAccountIx },\n { ataPubkey: tokenBAccount, ix: createTokenBTokenAccountIx },\n ] = await Promise.all([\n getOrCreateATAInstruction(\n this._program.provider.connection,\n tokenAMint,\n owner,\n owner,\n true,\n tokenAProgram\n ),\n getOrCreateATAInstruction(\n this._program.provider.connection,\n tokenBMint,\n owner,\n owner,\n true,\n tokenBProgram\n ),\n ]);\n\n createTokenATokenAccountIx &&\n preInstructions.push(createTokenATokenAccountIx);\n createTokenBTokenAccountIx &&\n preInstructions.push(createTokenBTokenAccountIx);\n\n if (tokenAMint.equals(NATIVE_MINT)) {\n const wrapSOLIx = wrapSOLInstruction(\n owner,\n tokenAAccount,\n BigInt(maxAmountTokenA.toString())\n );\n\n preInstructions.push(...wrapSOLIx);\n }\n\n if (tokenBMint.equals(NATIVE_MINT)) {\n const wrapSOLIx = wrapSOLInstruction(\n owner,\n tokenBAccount,\n BigInt(maxAmountTokenB.toString())\n );\n\n preInstructions.push(...wrapSOLIx);\n }\n\n const postInstructions: TransactionInstruction[] = [];\n if (\n [tokenAMint.toBase58(), tokenBMint.toBase58()].includes(\n NATIVE_MINT.toBase58()\n )\n ) {\n const closeWrappedSOLIx = await unwrapSOLInstruction(owner);\n closeWrappedSOLIx && postInstructions.push(closeWrappedSOLIx);\n }\n return await this._program.methods\n .addLiquidity({\n liquidityDelta: liquidityDeltaQ64,\n tokenAAmountThreshold,\n tokenBAmountThreshold,\n })\n .accountsStrict({\n pool,\n position,\n positionNftAccount,\n owner: owner,\n tokenAAccount,\n tokenBAccount,\n tokenAMint: tokenAMint,\n tokenBMint: tokenBMint,\n tokenAVault,\n tokenBVault,\n tokenAProgram,\n tokenBProgram,\n eventAuthority: deriveEventAuthority(this._program.programId)[0],\n program: this._program.programId,\n })\n .preInstructions(preInstructions)\n .postInstructions(postInstructions)\n .transaction();\n }\n\n async removeLiquidity(params: RemoveLiquidityParams): TxBuilder {\n const {\n owner,\n pool,\n position,\n positionNftMint,\n liquidityDeltaQ64,\n tokenAAmountThreshold,\n tokenBAmountThreshold,\n tokenAMint,\n tokenBMint,\n tokenAVault,\n tokenBVault,\n tokenAProgram,\n tokenBProgram,\n } = params;\n const positionNftAccount = derivePositionNftAccount(\n positionNftMint,\n this._program.programId\n );\n\n const poolAuthority = derivePoolAuthority(this._program.programId);\n\n const preInstructions: TransactionInstruction[] = [];\n const [\n { ataPubkey: tokenAAccount, ix: createTokenAAccountIx },\n { ataPubkey: tokenBAccount, ix: createTokenBAccountIx },\n ] = await Promise.all([\n getOrCreateATAInstruction(\n this._program.provider.connection,\n tokenAMint,\n owner,\n owner,\n true,\n tokenAProgram\n ),\n getOrCreateATAInstruction(\n this._program.provider.connection,\n tokenBMint,\n owner,\n owner,\n true,\n tokenBProgram\n ),\n ]);\n createTokenAAccountIx && preInstructions.push(createTokenAAccountIx);\n createTokenBAccountIx && preInstructions.push(createTokenBAccountIx);\n\n const postInstructions: TransactionInstruction[] = [];\n if (\n [tokenAMint.toBase58(), tokenBMint.toBase58()].includes(\n NATIVE_MINT.toBase58()\n )\n ) {\n const closeWrappedSOLIx = await unwrapSOLInstruction(owner);\n closeWrappedSOLIx && postInstructions.push(closeWrappedSOLIx);\n }\n\n return await this._program.methods\n .removeLiquidity({\n liquidityDelta: liquidityDeltaQ64,\n tokenAAmountThreshold,\n tokenBAmountThreshold,\n })\n .accountsStrict({\n poolAuthority,\n pool,\n position,\n positionNftAccount,\n owner,\n tokenAAccount,\n tokenBAccount,\n tokenAMint,\n tokenBMint,\n tokenAVault,\n tokenBVault,\n tokenAProgram,\n tokenBProgram,\n eventAuthority: deriveEventAuthority(this._program.programId)[0],\n program: this._program.programId,\n })\n .preInstructions(preInstructions)\n .postInstructions(postInstructions)\n .transaction();\n }\n\n async swap(params: SwapParams): TxBuilder {\n const {\n payer,\n pool,\n inputTokenMint,\n outputTokenMint,\n amountIn,\n minimumAmountOut,\n tokenAVault,\n tokenBVault,\n tokenAMint,\n tokenBMint,\n tokenAProgram,\n tokenBProgram,\n referralTokenAccount,\n } = params;\n\n const poolAuthority = derivePoolAuthority(this._program.programId);\n\n const preInstructions: TransactionInstruction[] = [];\n const [\n { ataPubkey: inputTokenAccount, ix: createInputTokenAccountIx },\n { ataPubkey: outputTokenAccount, ix: createOutputTokenAccountIx },\n ] = await Promise.all([\n getOrCreateATAInstruction(\n this._program.provider.connection,\n inputTokenMint,\n payer,\n payer,\n true,\n tokenAProgram\n ),\n getOrCreateATAInstruction(\n this._program.provider.connection,\n outputTokenMint,\n payer,\n payer,\n true,\n tokenBProgram\n ),\n ]);\n createInputTokenAccountIx &&\n preInstructions.push(createInputTokenAccountIx);\n createOutputTokenAccountIx &&\n preInstructions.push(createOutputTokenAccountIx);\n\n if (inputTokenMint.equals(NATIVE_MINT)) {\n const wrapSOLIx = wrapSOLInstruction(\n payer,\n inputTokenAccount,\n BigInt(amountIn.toString())\n );\n\n preInstructions.push(...wrapSOLIx);\n }\n\n const postInstructions: TransactionInstruction[] = [];\n if (\n [tokenAMint.toBase58(), tokenBMint.toBase58()].includes(\n NATIVE_MINT.toBase58()\n )\n ) {\n const closeWrappedSOLIx = await unwrapSOLInstruction(payer);\n closeWrappedSOLIx && postInstructions.push(closeWrappedSOLIx);\n }\n\n return await this._program.methods\n .swap({\n amountIn,\n minimumAmountOut,\n })\n .accountsStrict({\n poolAuthority,\n pool,\n payer,\n inputTokenAccount,\n outputTokenAccount,\n tokenAVault,\n tokenBVault,\n tokenAMint,\n tokenBMint,\n tokenAProgram,\n tokenBProgram,\n referralTokenAccount,\n eventAuthority: deriveEventAuthority(this._program.programId)[0],\n program: this._program.programId,\n })\n .preInstructions(preInstructions)\n .postInstructions(postInstructions)\n .transaction();\n }\n\n async lockPosition(params: LockPositionParams): TxBuilder {\n const {\n owner,\n pool,\n payer,\n vestingAccount,\n position,\n positionNftMint,\n cliffPoint,\n periodFrequency,\n cliffUnlockLiquidity,\n liquidityPerPeriod,\n numberOfPeriod,\n vestings,\n } = params;\n const positionNftAccount = derivePositionNftAccount(\n positionNftMint,\n this._program.programId\n );\n\n const lockPositionParams = {\n cliffPoint,\n periodFrequency,\n cliffUnlockLiquidity,\n liquidityPerPeriod,\n numberOfPeriod,\n index: vestings.length,\n };\n return await this._program.methods\n .lockPosition(lockPositionParams)\n .accountsStrict({\n position,\n positionNftAccount,\n vesting: vestingAccount,\n pool: pool,\n owner: owner,\n payer: payer,\n systemProgram: SystemProgram.programId,\n eventAuthority: deriveEventAuthority(this._program.programId)[0],\n program: this._program.programId,\n })\n .transaction();\n }\n\n async permanentLockPosition(params: PermanentLockParams): TxBuilder {\n const { owner, position, positionNftMint, pool, unlockedLiquidity } =\n params;\n const positionNftAccount = derivePositionNftAccount(\n positionNftMint,\n this._program.programId\n );\n\n return await this._program.methods\n .permanentLockPosition(unlockedLiquidity)\n .accountsStrict({\n position,\n positionNftAccount,\n pool: pool,\n owner: owner,\n eventAuthority: deriveEventAuthority(this._program.programId)[0],\n program: this._program.programId,\n })\n .transaction();\n }\n\n async refreshVesting(params: RefreshVestingParams): TxBuilder {\n const { owner, position, positionNftMint, pool, vestings } = params;\n const positionNftAccount = derivePositionNftAccount(\n positionNftMint,\n this._program.programId\n );\n\n return await this._program.methods\n .refreshVesting()\n .accountsStrict({\n position,\n positionNftAccount,\n pool: pool,\n owner,\n })\n .remainingAccounts(\n vestings.map((pubkey: PublicKey) => {\n return {\n isSigner: false,\n isWritable: true,\n pubkey,\n };\n })\n )\n .transaction();\n }\n\n async claimPositionFee(params: ClaimPositionFeeParams): TxBuilder {\n const {\n owner,\n pool,\n position,\n nftPositionMint,\n tokenAVault,\n tokenBVault,\n tokenAMint,\n tokenBMint,\n tokenAProgram,\n tokenBProgram,\n } = params;\n\n const positionNftAccount = derivePositionNftAccount(\n nftPositionMint,\n this._program.programId\n );\n const poolAuthority = derivePoolAuthority(this._program.programId);\n\n const preInstructions: TransactionInstruction[] = [];\n const [\n { ataPubkey: tokenAAccount, ix: createTokenAAccountIx },\n { ataPubkey: tokenBAccount, ix: createTokenBAccountIx },\n ] = await Promise.all([\n getOrCreateATAInstruction(\n this._program.provider.connection,\n tokenAMint,\n owner,\n owner,\n true,\n tokenAProgram\n ),\n getOrCreateATAInstruction(\n this._program.provider.connection,\n tokenBMint,\n owner,\n owner,\n true,\n tokenBProgram\n ),\n ]);\n createTokenAAccountIx && preInstructions.push(createTokenAAccountIx);\n createTokenBAccountIx && preInstructions.push(createTokenBAccountIx);\n\n const postInstructions: TransactionInstruction[] = [];\n if (\n [tokenAMint.toBase58(), tokenBMint.toBase58()].includes(\n NATIVE_MINT.toBase58()\n )\n ) {\n const closeWrappedSOLIx = await unwrapSOLInstruction(owner);\n closeWrappedSOLIx && postInstructions.push(closeWrappedSOLIx);\n }\n\n return await this._program.methods\n .claimPositionFee()\n .accountsStrict({\n poolAuthority,\n owner: owner,\n pool,\n position,\n positionNftAccount,\n tokenAAccount,\n tokenBAccount,\n tokenAVault,\n tokenBVault,\n tokenAMint,\n tokenBMint,\n tokenAProgram,\n tokenBProgram,\n eventAuthority: deriveEventAuthority(this._program.programId)[0],\n program: this._program.programId,\n })\n .preInstructions(preInstructions)\n .postInstructions(postInstructions)\n .transaction();\n }\n\n async updateRewardDuration(params: UpdateRewardDurationParams): TxBuilder {\n const { pool, admin, rewardIndex, newDuration } = params;\n return await this._program.methods\n .updateRewardDuration(rewardIndex, newDuration)\n .accountsStrict({\n pool,\n admin: admin,\n eventAuthority: deriveEventAuthority(this._program.programId)[0],\n program: this._program.programId,\n })\n .transaction();\n }\n\n async updateRewardFunder(params: UpdateRewardFunderParams): TxBuilder {\n const { pool, admin, rewardIndex, newFunder } = params;\n return await this._program.methods\n .updateRewardFunder(rewardIndex, newFunder)\n .accountsStrict({\n pool,\n admin: admin,\n eventAuthority: deriveEventAuthority(this._program.programId)[0],\n program: this._program.programId,\n })\n .transaction();\n }\n\n async fundReward(params: FundRewardParams): TxBuilder {\n const { rewardIndex, carryForward, pool, funder, amount } = params;\n\n const poolState = await this.fetchPoolState(pool);\n const rewardInfo = poolState.rewardInfos[rewardIndex];\n const { vault, mint } = rewardInfo;\n const tokenProgram = getTokenProgram(rewardIndex);\n\n const preInstructions: TransactionInstruction[] = [];\n\n const { ataPubkey: funderTokenAccount, ix: createFunderTokenAccountIx } =\n await getOrCreateATAInstruction(\n this._program.provider.connection,\n mint,\n funder,\n funder,\n true,\n tokenProgram\n );\n\n createFunderTokenAccountIx &&\n preInstructions.push(createFunderTokenAccountIx);\n\n // TODO: check case reward mint is wSOL && carryForward is true => total amount > amount\n if (mint.equals(NATIVE_MINT) && !amount.isZero()) {\n const wrapSOLIx = wrapSOLInstruction(\n funder,\n funderTokenAccount,\n BigInt(amount.toString())\n );\n\n preInstructions.push(...wrapSOLIx);\n }\n\n return await this._program.methods\n .fundReward(rewardIndex, amount, carryForward)\n .accountsStrict({\n pool,\n rewardVault: vault,\n rewardMint: mint,\n funderTokenAccount,\n funder: funder,\n tokenProgram,\n eventAuthority: deriveEventAuthority(this._program.programId)[0],\n program: this._program.programId,\n })\n .transaction();\n }\n\n async withdrawIneligibleReward(\n params: WithdrawIneligibleRewardParams\n ): TxBuilder {\n const { rewardIndex, pool, funder } = params;\n const poolAuthority = derivePoolAuthority(this._program.programId);\n const poolState = await this.fetchPoolState(pool);\n\n const rewardInfo = poolState.rewardInfos[rewardIndex];\n const { mint, vault, rewardTokenFlag } = rewardInfo;\n const tokenProgram = getTokenProgram(rewardTokenFlag);\n\n const preInstructions: TransactionInstruction[] = [];\n const postInstructions: TransactionInstruction[] = [];\n const { ataPubkey: funderTokenAccount, ix: createFunderTokenAccountIx } =\n await getOrCreateATAInstruction(\n this._program.provider.connection,\n mint,\n funder,\n funder,\n true,\n tokenProgram\n );\n createFunderTokenAccountIx &&\n preInstructions.push(createFunderTokenAccountIx);\n\n if (mint.equals(NATIVE_MINT)) {\n const closeWrappedSOLIx = await unwrapSOLInstruction(funder);\n closeWrappedSOLIx && postInstructions.push(closeWrappedSOLIx);\n }\n\n return await this._program.methods\n .withdrawIneligibleReward(rewardIndex)\n .accountsStrict({\n pool,\n rewardVault: vault,\n rewardMint: mint,\n poolAuthority,\n funderTokenAccount,\n funder: funder,\n tokenProgram,\n eventAuthority: deriveEventAuthority(this._program.programId)[0],\n program: this._program.programId,\n })\n .preInstructions(preInstructions)\n .postInstructions(postInstructions)\n .transaction();\n }\n\n async claimPartnerFee(params: ClaimPartnerFeeParams): TxBuilder {\n const { partner, pool, maxAmountA, maxAmountB } = params;\n const poolState = await this.fetchPoolState(pool);\n const {\n tokenAVault,\n tokenBVault,\n tokenAMint,\n tokenBMint,\n tokenAFlag,\n tokenBFlag,\n } = poolState;\n\n const poolAuthority = derivePoolAuthority(this._program.programId);\n\n const tokenAProgram = getTokenProgram(tokenAFlag);\n const tokenBProgram = getTokenProgram(tokenBFlag);\n\n const preInstructions: TransactionInstruction[] = [];\n const [\n { ataPubkey: tokenAAccount, ix: createTokenAAccountIx },\n { ataPubkey: tokenBAccount, ix: createTokenBAccountIx },\n ] = await Promise.all([\n getOrCreateATAInstruction(\n this._program.provider.connection,\n poolState.tokenAMint,\n partner,\n partner,\n true,\n tokenAProgram\n ),\n getOrCreateATAInstruction(\n this._program.provider.connection,\n poolState.tokenBMint,\n partner,\n partner,\n true,\n tokenBProgram\n ),\n ]);\n createTokenAAccountIx && preInstructions.push(createTokenAAccountIx);\n createTokenBAccountIx && preInstructions.push(createTokenBAccountIx);\n\n const postInstructions: TransactionInstruction[] = [];\n if (\n [\n poolState.tokenAMint.toBase58(),\n poolState.tokenBMint.toBase58(),\n ].includes(NATIVE_MINT.toBase58())\n ) {\n const closeWrappedSOLIx = await unwrapSOLInstruction(partner);\n closeWrappedSOLIx && postInstructions.push(closeWrappedSOLIx);\n }\n\n return await this._program.methods\n .claimPartnerFee(maxAmountA, maxAmountB)\n .accountsStrict({\n poolAuthority,\n pool,\n tokenAAccount,\n tokenBAccount,\n tokenAVault,\n tokenBVault,\n tokenAMint,\n tokenBMint,\n partner,\n tokenAProgram,\n tokenBProgram,\n eventAuthority: deriveEventAuthority(this._program.programId)[0],\n program: this._program.programId,\n })\n .preInstructions(preInstructions)\n .postInstructions(postInstructions)\n .transaction();\n }\n\n async claimReward(params: ClaimRewardParams): TxBuilder {\n const { user, position, rewardIndex } = params;\n\n const poolAuthority = derivePoolAuthority(this._program.programId);\n const positionState = await this.fetchPositionState(position);\n const poolState = await this.fetchPoolState(positionState.pool);\n\n const positionNftAccount = derivePositionNftAccount(\n positionState.nftMint,\n this._program.programId\n );\n\n const rewardInfo = poolState.rewardInfos[rewardIndex];\n const tokenProgram = getTokenProgram(rewardInfo.rewardTokenFlag);\n\n const preInstructions: TransactionInstruction[] = [];\n const postInstructions: TransactionInstruction[] = [];\n const { ataPubkey: userTokenAccount, ix: createUserTokenAccountIx } =\n await getOrCreateATAInstruction(\n this._program.provider.connection,\n rewardInfo.mint,\n user,\n user,\n true,\n tokenProgram\n );\n createUserTokenAccountIx && preInstructions.push(createUserTokenAccountIx);\n\n if (rewardInfo.mint.equals(NATIVE_MINT)) {\n const closeWrappedSOLIx = await unwrapSOLInstruction(user);\n closeWrappedSOLIx && postInstructions.push(closeWrappedSOLIx);\n }\n return await this._program.methods\n .claimReward(rewardIndex)\n .accountsStrict({\n pool: positionState.pool,\n positionNftAccount,\n rewardVault: rewardInfo.vault,\n rewardMint: rewardInfo.mint,\n poolAuthority,\n position,\n userTokenAccount,\n owner: user,\n tokenProgram,\n eventAuthority: deriveEventAuthority(this._program.programId)[0],\n program: this._program.programId,\n })\n .preInstructions(preInstructions)\n .postInstructions(postInstructions)\n .transaction();\n }\n}\n","{\n \"address\": \"cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG\",\n \"metadata\": {\n \"name\": \"cp_amm\",\n \"version\": \"0.1.0\",\n \"spec\": \"0.1.0\",\n \"description\": \"Created with Anchor\"\n },\n \"instructions\": [\n {\n \"name\": \"add_liquidity\",\n \"discriminator\": [\n 181,\n 157,\n 89,\n 67,\n 143,\n 182,\n 52,\n 72\n ],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"relations\": [\n \"position\"\n ]\n },\n {\n \"name\": \"position\",\n \"writable\": true\n },\n {\n \"name\": \"token_a_account\",\n \"docs\": [\n \"The user token a account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_b_account\",\n \"docs\": [\n \"The user token b account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_a_vault\",\n \"docs\": [\n \"The vault token account for input token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_vault\",\n \"docs\": [\n \"The vault token account for output token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_a_mint\",\n \"docs\": [\n \"The mint of token a\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_mint\",\n \"docs\": [\n \"The mint of token b\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"position_nft_account\",\n \"docs\": [\n \"The token account for nft\"\n ]\n },\n {\n \"name\": \"owner\",\n \"docs\": [\n \"owner of position\"\n ],\n \"signer\": true\n },\n {\n \"name\": \"token_a_program\",\n \"docs\": [\n \"Token a program\"\n ]\n },\n {\n \"name\": \"token_b_program\",\n \"docs\": [\n \"Token b program\"\n ]\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"params\",\n \"type\": {\n \"defined\": {\n \"name\": \"AddLiquidityParameters\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"claim_partner_fee\",\n \"discriminator\": [\n 97,\n 206,\n 39,\n 105,\n 94,\n 94,\n 126,\n 148\n ],\n \"accounts\": [\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"writable\": true\n },\n {\n \"name\": \"token_a_account\",\n \"docs\": [\n \"The treasury token a account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_b_account\",\n \"docs\": [\n \"The treasury token b account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_a_vault\",\n \"docs\": [\n \"The vault token account for input token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_vault\",\n \"docs\": [\n \"The vault token account for output token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_a_mint\",\n \"docs\": [\n \"The mint of token a\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_mint\",\n \"docs\": [\n \"The mint of token b\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"partner\",\n \"signer\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_a_program\",\n \"docs\": [\n \"Token a program\"\n ]\n },\n {\n \"name\": \"token_b_program\",\n \"docs\": [\n \"Token b program\"\n ]\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"max_amount_a\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"max_amount_b\",\n \"type\": \"u64\"\n }\n ]\n },\n {\n \"name\": \"claim_position_fee\",\n \"discriminator\": [\n 180,\n 38,\n 154,\n 17,\n 133,\n 33,\n 162,\n 211\n ],\n \"accounts\": [\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"relations\": [\n \"position\"\n ]\n },\n {\n \"name\": \"position\",\n \"writable\": true\n },\n {\n \"name\": \"token_a_account\",\n \"docs\": [\n \"The user token a account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_b_account\",\n \"docs\": [\n \"The user token b account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_a_vault\",\n \"docs\": [\n \"The vault token account for input token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_vault\",\n \"docs\": [\n \"The vault token account for output token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_a_mint\",\n \"docs\": [\n \"The mint of token a\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_mint\",\n \"docs\": [\n \"The mint of token b\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"position_nft_account\",\n \"docs\": [\n \"The token account for nft\"\n ]\n },\n {\n \"name\": \"owner\",\n \"docs\": [\n \"owner of position\"\n ],\n \"signer\": true\n },\n {\n \"name\": \"token_a_program\",\n \"docs\": [\n \"Token a program\"\n ]\n },\n {\n \"name\": \"token_b_program\",\n \"docs\": [\n \"Token b program\"\n ]\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": []\n },\n {\n \"name\": \"claim_protocol_fee\",\n \"discriminator\": [\n 165,\n 228,\n 133,\n 48,\n 99,\n 249,\n 255,\n 33\n ],\n \"accounts\": [\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"writable\": true\n },\n {\n \"name\": \"token_a_vault\",\n \"docs\": [\n \"The vault token account for input token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_vault\",\n \"docs\": [\n \"The vault token account for output token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_a_mint\",\n \"docs\": [\n \"The mint of token a\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_mint\",\n \"docs\": [\n \"The mint of token b\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_a_account\",\n \"docs\": [\n \"The treasury token a account\"\n ],\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 153,\n 10,\n 107,\n 154,\n 255,\n 249,\n 210,\n 173,\n 176,\n 67,\n 220,\n 214,\n 152,\n 71,\n 46,\n 146,\n 161,\n 33,\n 81,\n 148,\n 166,\n 119,\n 5,\n 189,\n 142,\n 11,\n 57,\n 68,\n 162,\n 70,\n 126,\n 100\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_a_program\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_a_mint\"\n }\n ],\n \"program\": {\n \"kind\": \"const\",\n \"value\": [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89\n ]\n }\n }\n },\n {\n \"name\": \"token_b_account\",\n \"docs\": [\n \"The treasury token b account\"\n ],\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 153,\n 10,\n 107,\n 154,\n 255,\n 249,\n 210,\n 173,\n 176,\n 67,\n 220,\n 214,\n 152,\n 71,\n 46,\n 146,\n 161,\n 33,\n 81,\n 148,\n 166,\n 119,\n 5,\n 189,\n 142,\n 11,\n 57,\n 68,\n 162,\n 70,\n 126,\n 100\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_b_program\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_b_mint\"\n }\n ],\n \"program\": {\n \"kind\": \"const\",\n \"value\": [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89\n ]\n }\n }\n },\n {\n \"name\": \"claim_fee_operator\",\n \"docs\": [\n \"Claim fee operator\"\n ]\n },\n {\n \"name\": \"operator\",\n \"docs\": [\n \"Operator\"\n ],\n \"signer\": true,\n \"relations\": [\n \"claim_fee_operator\"\n ]\n },\n {\n \"name\": \"token_a_program\",\n \"docs\": [\n \"Token a program\"\n ]\n },\n {\n \"name\": \"token_b_program\",\n \"docs\": [\n \"Token b program\"\n ]\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": []\n },\n {\n \"name\": \"claim_reward\",\n \"discriminator\": [\n 149,\n 95,\n 181,\n 242,\n 94,\n 90,\n 158,\n 162\n ],\n \"accounts\": [\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"relations\": [\n \"position\"\n ]\n },\n {\n \"name\": \"position\",\n \"writable\": true\n },\n {\n \"name\": \"reward_vault\",\n \"docs\": [\n \"The vault token account for reward token\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"reward_mint\"\n },\n {\n \"name\": \"user_token_account\",\n \"writable\": true\n },\n {\n \"name\": \"position_nft_account\",\n \"docs\": [\n \"The token account for nft\"\n ]\n },\n {\n \"name\": \"owner\",\n \"docs\": [\n \"owner of position\"\n ],\n \"signer\": true\n },\n {\n \"name\": \"token_program\"\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"reward_index\",\n \"type\": \"u8\"\n }\n ]\n },\n {\n \"name\": \"close_claim_fee_operator\",\n \"discriminator\": [\n 38,\n 134,\n 82,\n 216,\n 95,\n 124,\n 17,\n 99\n ],\n \"accounts\": [\n {\n \"name\": \"claim_fee_operator\",\n \"writable\": true\n },\n {\n \"name\": \"rent_receiver\",\n \"writable\": true\n },\n {\n \"name\": \"admin\",\n \"signer\": true\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": []\n },\n {\n \"name\": \"close_config\",\n \"discriminator\": [\n 145,\n 9,\n 72,\n 157,\n 95,\n 125,\n 61,\n 85\n ],\n \"accounts\": [\n {\n \"name\": \"config\",\n \"writable\": true\n },\n {\n \"name\": \"admin\",\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"rent_receiver\",\n \"writable\": true\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": []\n },\n {\n \"name\": \"create_claim_fee_operator\",\n \"discriminator\": [\n 169,\n 62,\n 207,\n 107,\n 58,\n 187,\n 162,\n 109\n ],\n \"accounts\": [\n {\n \"name\": \"claim_fee_operator\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 99,\n 102,\n 95,\n 111,\n 112,\n 101,\n 114,\n 97,\n 116,\n 111,\n 114\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"operator\"\n }\n ]\n }\n },\n {\n \"name\": \"operator\"\n },\n {\n \"name\": \"admin\",\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"system_program\",\n \"address\": \"11111111111111111111111111111111\"\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": []\n },\n {\n \"name\": \"create_config\",\n \"docs\": [\n \"ADMIN FUNCTIONS ////\"\n ],\n \"discriminator\": [\n 201,\n 207,\n 243,\n 114,\n 75,\n 111,\n 47,\n 189\n ],\n \"accounts\": [\n {\n \"name\": \"config\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 99,\n 111,\n 110,\n 102,\n 105,\n 103\n ]\n },\n {\n \"kind\": \"arg\",\n \"path\": \"config_parameters.index\"\n }\n ]\n }\n },\n {\n \"name\": \"admin\",\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"system_program\",\n \"address\": \"11111111111111111111111111111111\"\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"config_parameters\",\n \"type\": {\n \"defined\": {\n \"name\": \"ConfigParameters\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"create_position\",\n \"discriminator\": [\n 48,\n 215,\n 197,\n 153,\n 96,\n 203,\n 180,\n 133\n ],\n \"accounts\": [\n {\n \"name\": \"owner\"\n },\n {\n \"name\": \"position_nft_mint\",\n \"docs\": [\n \"position_nft_mint\"\n ],\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"position_nft_account\",\n \"docs\": [\n \"position nft account\"\n ],\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 115,\n 105,\n 116,\n 105,\n 111,\n 110,\n 95,\n 110,\n 102,\n 116,\n 95,\n 97,\n 99,\n 99,\n 111,\n 117,\n 110,\n 116\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"position_nft_mint\"\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"writable\": true\n },\n {\n \"name\": \"position\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 115,\n 105,\n 116,\n 105,\n 111,\n 110\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"position_nft_mint\"\n }\n ]\n }\n },\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"payer\",\n \"docs\": [\n \"Address paying to create the position. Can be anyone\"\n ],\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"token_program\",\n \"docs\": [\n \"Program to create NFT mint/token account and transfer for token22 account\"\n ],\n \"address\": \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"\n },\n {\n \"name\": \"system_program\",\n \"address\": \"11111111111111111111111111111111\"\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": []\n },\n {\n \"name\": \"create_token_badge\",\n \"discriminator\": [\n 88,\n 206,\n 0,\n 91,\n 60,\n 175,\n 151,\n 118\n ],\n \"accounts\": [\n {\n \"name\": \"token_badge\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 116,\n 111,\n 107,\n 101,\n 110,\n 95,\n 98,\n 97,\n 100,\n 103,\n 101\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_mint\"\n }\n ]\n }\n },\n {\n \"name\": \"token_mint\"\n },\n {\n \"name\": \"admin\",\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"system_program\",\n \"address\": \"11111111111111111111111111111111\"\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": []\n },\n {\n \"name\": \"fund_reward\",\n \"discriminator\": [\n 188,\n 50,\n 249,\n 165,\n 93,\n 151,\n 38,\n 63\n ],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true\n },\n {\n \"name\": \"reward_vault\",\n \"writable\": true\n },\n {\n \"name\": \"reward_mint\"\n },\n {\n \"name\": \"funder_token_account\",\n \"writable\": true\n },\n {\n \"name\": \"funder\",\n \"signer\": true\n },\n {\n \"name\": \"token_program\"\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"reward_index\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"carry_forward\",\n \"type\": \"bool\"\n }\n ]\n },\n {\n \"name\": \"initialize_customizable_pool\",\n \"discriminator\": [\n 20,\n 161,\n 241,\n 24,\n 189,\n 221,\n 180,\n 2\n ],\n \"accounts\": [\n {\n \"name\": \"creator\"\n },\n {\n \"name\": \"position_nft_mint\",\n \"docs\": [\n \"position_nft_mint\"\n ],\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"position_nft_account\",\n \"docs\": [\n \"position nft account\"\n ],\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 115,\n 105,\n 116,\n 105,\n 111,\n 110,\n 95,\n 110,\n 102,\n 116,\n 95,\n 97,\n 99,\n 99,\n 111,\n 117,\n 110,\n 116\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"position_nft_mint\"\n }\n ]\n }\n },\n {\n \"name\": \"payer\",\n \"docs\": [\n \"Address paying to create the pool. Can be anyone\"\n ],\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"docs\": [\n \"Initialize an account to store the pool state\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"position\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 115,\n 105,\n 116,\n 105,\n 111,\n 110\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"position_nft_mint\"\n }\n ]\n }\n },\n {\n \"name\": \"token_a_mint\",\n \"docs\": [\n \"Token a mint\"\n ]\n },\n {\n \"name\": \"token_b_mint\",\n \"docs\": [\n \"Token b mint\"\n ]\n },\n {\n \"name\": \"token_a_vault\",\n \"docs\": [\n \"Token a vault for the pool\"\n ],\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 116,\n 111,\n 107,\n 101,\n 110,\n 95,\n 118,\n 97,\n 117,\n 108,\n 116\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_a_mint\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"token_b_vault\",\n \"docs\": [\n \"Token b vault for the pool\"\n ],\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 116,\n 111,\n 107,\n 101,\n 110,\n 95,\n 118,\n 97,\n 117,\n 108,\n 116\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_b_mint\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"payer_token_a\",\n \"docs\": [\n \"payer token a account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"payer_token_b\",\n \"docs\": [\n \"creator token b account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_a_program\",\n \"docs\": [\n \"Program to create mint account and mint tokens\"\n ]\n },\n {\n \"name\": \"token_b_program\",\n \"docs\": [\n \"Program to create mint account and mint tokens\"\n ]\n },\n {\n \"name\": \"token_2022_program\",\n \"docs\": [\n \"Program to create NFT mint/token account and transfer for token22 account\"\n ],\n \"address\": \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"\n },\n {\n \"name\": \"system_program\",\n \"address\": \"11111111111111111111111111111111\"\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"params\",\n \"type\": {\n \"defined\": {\n \"name\": \"InitializeCustomizablePoolParameters\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"initialize_pool\",\n \"docs\": [\n \"USER FUNCTIONS ////\"\n ],\n \"discriminator\": [\n 95,\n 180,\n 10,\n 172,\n 84,\n 174,\n 232,\n 40\n ],\n \"accounts\": [\n {\n \"name\": \"creator\"\n },\n {\n \"name\": \"position_nft_mint\",\n \"docs\": [\n \"position_nft_mint\"\n ],\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"position_nft_account\",\n \"docs\": [\n \"position nft account\"\n ],\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 115,\n 105,\n 116,\n 105,\n 111,\n 110,\n 95,\n 110,\n 102,\n 116,\n 95,\n 97,\n 99,\n 99,\n 111,\n 117,\n 110,\n 116\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"position_nft_mint\"\n }\n ]\n }\n },\n {\n \"name\": \"payer\",\n \"docs\": [\n \"Address paying to create the pool. Can be anyone\"\n ],\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"config\",\n \"docs\": [\n \"Which config the pool belongs to.\"\n ]\n },\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"docs\": [\n \"Initialize an account to store the pool state\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"position\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 115,\n 105,\n 116,\n 105,\n 111,\n 110\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"position_nft_mint\"\n }\n ]\n }\n },\n {\n \"name\": \"token_a_mint\",\n \"docs\": [\n \"Token a mint\"\n ]\n },\n {\n \"name\": \"token_b_mint\",\n \"docs\": [\n \"Token b mint\"\n ]\n },\n {\n \"name\": \"token_a_vault\",\n \"docs\": [\n \"Token a vault for the pool\"\n ],\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 116,\n 111,\n 107,\n 101,\n 110,\n 95,\n 118,\n 97,\n 117,\n 108,\n 116\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_a_mint\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"token_b_vault\",\n \"docs\": [\n \"Token b vault for the pool\"\n ],\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 116,\n 111,\n 107,\n 101,\n 110,\n 95,\n 118,\n 97,\n 117,\n 108,\n 116\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"token_b_mint\"\n },\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n }\n ]\n }\n },\n {\n \"name\": \"payer_token_a\",\n \"docs\": [\n \"payer token a account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"payer_token_b\",\n \"docs\": [\n \"creator token b account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_a_program\",\n \"docs\": [\n \"Program to create mint account and mint tokens\"\n ]\n },\n {\n \"name\": \"token_b_program\",\n \"docs\": [\n \"Program to create mint account and mint tokens\"\n ]\n },\n {\n \"name\": \"token_2022_program\",\n \"docs\": [\n \"Program to create NFT mint/token account and transfer for token22 account\"\n ],\n \"address\": \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\"\n },\n {\n \"name\": \"system_program\",\n \"address\": \"11111111111111111111111111111111\"\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"params\",\n \"type\": {\n \"defined\": {\n \"name\": \"InitializePoolParameters\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"initialize_reward\",\n \"discriminator\": [\n 95,\n 135,\n 192,\n 196,\n 242,\n 129,\n 230,\n 68\n ],\n \"accounts\": [\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"writable\": true\n },\n {\n \"name\": \"reward_vault\",\n \"writable\": true,\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 114,\n 101,\n 119,\n 97,\n 114,\n 100,\n 95,\n 118,\n 97,\n 117,\n 108,\n 116\n ]\n },\n {\n \"kind\": \"account\",\n \"path\": \"pool\"\n },\n {\n \"kind\": \"arg\",\n \"path\": \"reward_index\"\n }\n ]\n }\n },\n {\n \"name\": \"reward_mint\"\n },\n {\n \"name\": \"admin\",\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"token_program\"\n },\n {\n \"name\": \"system_program\",\n \"address\": \"11111111111111111111111111111111\"\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"reward_index\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"reward_duration\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"funder\",\n \"type\": \"pubkey\"\n }\n ]\n },\n {\n \"name\": \"lock_position\",\n \"discriminator\": [\n 227,\n 62,\n 2,\n 252,\n 247,\n 10,\n 171,\n 185\n ],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"relations\": [\n \"position\"\n ]\n },\n {\n \"name\": \"position\",\n \"writable\": true\n },\n {\n \"name\": \"vesting\",\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"position_nft_account\",\n \"docs\": [\n \"The token account for nft\"\n ]\n },\n {\n \"name\": \"owner\",\n \"docs\": [\n \"owner of position\"\n ],\n \"signer\": true\n },\n {\n \"name\": \"payer\",\n \"writable\": true,\n \"signer\": true\n },\n {\n \"name\": \"system_program\",\n \"address\": \"11111111111111111111111111111111\"\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"params\",\n \"type\": {\n \"defined\": {\n \"name\": \"VestingParameters\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"permanent_lock_position\",\n \"discriminator\": [\n 165,\n 176,\n 125,\n 6,\n 231,\n 171,\n 186,\n 213\n ],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"relations\": [\n \"position\"\n ]\n },\n {\n \"name\": \"position\",\n \"writable\": true\n },\n {\n \"name\": \"position_nft_account\",\n \"docs\": [\n \"The token account for nft\"\n ]\n },\n {\n \"name\": \"owner\",\n \"docs\": [\n \"owner of position\"\n ],\n \"signer\": true\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"permanent_lock_liquidity\",\n \"type\": \"u128\"\n }\n ]\n },\n {\n \"name\": \"refresh_vesting\",\n \"discriminator\": [\n 9,\n 94,\n 216,\n 14,\n 116,\n 204,\n 247,\n 0\n ],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"relations\": [\n \"position\"\n ]\n },\n {\n \"name\": \"position\",\n \"writable\": true\n },\n {\n \"name\": \"position_nft_account\",\n \"docs\": [\n \"The token account for nft\"\n ]\n },\n {\n \"name\": \"owner\"\n }\n ],\n \"args\": []\n },\n {\n \"name\": \"remove_all_liquidity\",\n \"discriminator\": [\n 10,\n 51,\n 61,\n 35,\n 112,\n 105,\n 24,\n 85\n ],\n \"accounts\": [\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"relations\": [\n \"position\"\n ]\n },\n {\n \"name\": \"position\",\n \"writable\": true\n },\n {\n \"name\": \"token_a_account\",\n \"docs\": [\n \"The user token a account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_b_account\",\n \"docs\": [\n \"The user token b account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_a_vault\",\n \"docs\": [\n \"The vault token account for input token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_vault\",\n \"docs\": [\n \"The vault token account for output token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_a_mint\",\n \"docs\": [\n \"The mint of token a\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_mint\",\n \"docs\": [\n \"The mint of token b\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"position_nft_account\",\n \"docs\": [\n \"The token account for nft\"\n ]\n },\n {\n \"name\": \"owner\",\n \"docs\": [\n \"owner of position\"\n ],\n \"signer\": true\n },\n {\n \"name\": \"token_a_program\",\n \"docs\": [\n \"Token a program\"\n ]\n },\n {\n \"name\": \"token_b_program\",\n \"docs\": [\n \"Token b program\"\n ]\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"token_a_amount_threshold\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"token_b_amount_threshold\",\n \"type\": \"u64\"\n }\n ]\n },\n {\n \"name\": \"remove_liquidity\",\n \"discriminator\": [\n 80,\n 85,\n 209,\n 72,\n 24,\n 206,\n 177,\n 108\n ],\n \"accounts\": [\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"writable\": true,\n \"relations\": [\n \"position\"\n ]\n },\n {\n \"name\": \"position\",\n \"writable\": true\n },\n {\n \"name\": \"token_a_account\",\n \"docs\": [\n \"The user token a account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_b_account\",\n \"docs\": [\n \"The user token b account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_a_vault\",\n \"docs\": [\n \"The vault token account for input token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_vault\",\n \"docs\": [\n \"The vault token account for output token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_a_mint\",\n \"docs\": [\n \"The mint of token a\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_mint\",\n \"docs\": [\n \"The mint of token b\"\n ],\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"position_nft_account\",\n \"docs\": [\n \"The token account for nft\"\n ]\n },\n {\n \"name\": \"owner\",\n \"docs\": [\n \"owner of position\"\n ],\n \"signer\": true\n },\n {\n \"name\": \"token_a_program\",\n \"docs\": [\n \"Token a program\"\n ]\n },\n {\n \"name\": \"token_b_program\",\n \"docs\": [\n \"Token b program\"\n ]\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"params\",\n \"type\": {\n \"defined\": {\n \"name\": \"RemoveLiquidityParameters\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"set_pool_status\",\n \"discriminator\": [\n 112,\n 87,\n 135,\n 223,\n 83,\n 204,\n 132,\n 53\n ],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true\n },\n {\n \"name\": \"admin\",\n \"signer\": true\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"status\",\n \"type\": \"u8\"\n }\n ]\n },\n {\n \"name\": \"swap\",\n \"discriminator\": [\n 248,\n 198,\n 158,\n 145,\n 225,\n 117,\n 135,\n 200\n ],\n \"accounts\": [\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"docs\": [\n \"Pool account\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"input_token_account\",\n \"docs\": [\n \"The user token account for input token\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"output_token_account\",\n \"docs\": [\n \"The user token account for output token\"\n ],\n \"writable\": true\n },\n {\n \"name\": \"token_a_vault\",\n \"docs\": [\n \"The vault token account for input token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_b_vault\",\n \"docs\": [\n \"The vault token account for output token\"\n ],\n \"writable\": true,\n \"relations\": [\n \"pool\"\n ]\n },\n {\n \"name\": \"token_a_mint\",\n \"docs\": [\n \"The mint of token a\"\n ]\n },\n {\n \"name\": \"token_b_mint\",\n \"docs\": [\n \"The mint of token b\"\n ]\n },\n {\n \"name\": \"payer\",\n \"docs\": [\n \"The user performing the swap\"\n ],\n \"signer\": true\n },\n {\n \"name\": \"token_a_program\",\n \"docs\": [\n \"Token a program\"\n ]\n },\n {\n \"name\": \"token_b_program\",\n \"docs\": [\n \"Token b program\"\n ]\n },\n {\n \"name\": \"referral_token_account\",\n \"docs\": [\n \"referral token account\"\n ],\n \"writable\": true,\n \"optional\": true\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"params\",\n \"type\": {\n \"defined\": {\n \"name\": \"SwapParameters\"\n }\n }\n }\n ]\n },\n {\n \"name\": \"update_reward_duration\",\n \"discriminator\": [\n 138,\n 174,\n 196,\n 169,\n 213,\n 235,\n 254,\n 107\n ],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true\n },\n {\n \"name\": \"admin\",\n \"signer\": true\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"reward_index\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"new_duration\",\n \"type\": \"u64\"\n }\n ]\n },\n {\n \"name\": \"update_reward_funder\",\n \"discriminator\": [\n 211,\n 28,\n 48,\n 32,\n 215,\n 160,\n 35,\n 23\n ],\n \"accounts\": [\n {\n \"name\": \"pool\",\n \"writable\": true\n },\n {\n \"name\": \"admin\",\n \"signer\": true\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"reward_index\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"new_funder\",\n \"type\": \"pubkey\"\n }\n ]\n },\n {\n \"name\": \"withdraw_ineligible_reward\",\n \"discriminator\": [\n 148,\n 206,\n 42,\n 195,\n 247,\n 49,\n 103,\n 8\n ],\n \"accounts\": [\n {\n \"name\": \"pool_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 112,\n 111,\n 111,\n 108,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"pool\",\n \"writable\": true\n },\n {\n \"name\": \"reward_vault\",\n \"writable\": true\n },\n {\n \"name\": \"reward_mint\"\n },\n {\n \"name\": \"funder_token_account\",\n \"writable\": true\n },\n {\n \"name\": \"funder\",\n \"signer\": true\n },\n {\n \"name\": \"token_program\"\n },\n {\n \"name\": \"event_authority\",\n \"pda\": {\n \"seeds\": [\n {\n \"kind\": \"const\",\n \"value\": [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121\n ]\n }\n ]\n }\n },\n {\n \"name\": \"program\"\n }\n ],\n \"args\": [\n {\n \"name\": \"reward_index\",\n \"type\": \"u8\"\n }\n ]\n }\n ],\n \"accounts\": [\n {\n \"name\": \"ClaimFeeOperator\",\n \"discriminator\": [\n 166,\n 48,\n 134,\n 86,\n 34,\n 200,\n 188,\n 150\n ]\n },\n {\n \"name\": \"Config\",\n \"discriminator\": [\n 155,\n 12,\n 170,\n 224,\n 30,\n 250,\n 204,\n 130\n ]\n },\n {\n \"name\": \"Pool\",\n \"discriminator\": [\n 241,\n 154,\n 109,\n 4,\n 17,\n 177,\n 109,\n 188\n ]\n },\n {\n \"name\": \"Position\",\n \"discriminator\": [\n 170,\n 188,\n 143,\n 228,\n 122,\n 64,\n 247,\n 208\n ]\n },\n {\n \"name\": \"TokenBadge\",\n \"discriminator\": [\n 116,\n 219,\n 204,\n 229,\n 249,\n 116,\n 255,\n 150\n ]\n },\n {\n \"name\": \"Vesting\",\n \"discriminator\": [\n 100,\n 149,\n 66,\n 138,\n 95,\n 200,\n 128,\n 241\n ]\n }\n ],\n \"events\": [\n {\n \"name\": \"EvtAddLiquidity\",\n \"discriminator\": [\n 175,\n 242,\n 8,\n 157,\n 30,\n 247,\n 185,\n 169\n ]\n },\n {\n \"name\": \"EvtClaimPartnerFee\",\n \"discriminator\": [\n 118,\n 99,\n 77,\n 10,\n 226,\n 1,\n 1,\n 87\n ]\n },\n {\n \"name\": \"EvtClaimPositionFee\",\n \"discriminator\": [\n 198,\n 182,\n 183,\n 52,\n 97,\n 12,\n 49,\n 56\n ]\n },\n {\n \"name\": \"EvtClaimProtocolFee\",\n \"discriminator\": [\n 186,\n 244,\n 75,\n 251,\n 188,\n 13,\n 25,\n 33\n ]\n },\n {\n \"name\": \"EvtClaimReward\",\n \"discriminator\": [\n 218,\n 86,\n 147,\n 200,\n 235,\n 188,\n 215,\n 231\n ]\n },\n {\n \"name\": \"EvtCloseClaimFeeOperator\",\n \"discriminator\": [\n 111,\n 39,\n 37,\n 55,\n 110,\n 216,\n 194,\n 23\n ]\n },\n {\n \"name\": \"EvtCloseConfig\",\n \"discriminator\": [\n 36,\n 30,\n 239,\n 45,\n 58,\n 132,\n 14,\n 5\n ]\n },\n {\n \"name\": \"EvtCreateClaimFeeOperator\",\n \"discriminator\": [\n 21,\n 6,\n 153,\n 120,\n 68,\n 116,\n 28,\n 177\n ]\n },\n {\n \"name\": \"EvtCreateConfig\",\n \"discriminator\": [\n 131,\n 207,\n 180,\n 174,\n 180,\n 73,\n 165,\n 54\n ]\n },\n {\n \"name\": \"EvtCreatePosition\",\n \"discriminator\": [\n 156,\n 15,\n 119,\n 198,\n 29,\n 181,\n 221,\n 55\n ]\n },\n {\n \"name\": \"EvtCreateTokenBadge\",\n \"discriminator\": [\n 141,\n 120,\n 134,\n 116,\n 34,\n 28,\n 114,\n 160\n ]\n },\n {\n \"name\": \"EvtFundReward\",\n \"discriminator\": [\n 104,\n 233,\n 237,\n 122,\n 199,\n 191,\n 121,\n 85\n ]\n },\n {\n \"name\": \"EvtInitializePool\",\n \"discriminator\": [\n 228,\n 50,\n 246,\n 85,\n 203,\n 66,\n 134,\n 37\n ]\n },\n {\n \"name\": \"EvtInitializeReward\",\n \"discriminator\": [\n 129,\n 91,\n 188,\n 3,\n 246,\n 52,\n 185,\n 249\n ]\n },\n {\n \"name\": \"EvtLockPosition\",\n \"discriminator\": [\n 168,\n 63,\n 108,\n 83,\n 219,\n 82,\n 2,\n 200\n ]\n },\n {\n \"name\": \"EvtPermanentLockPosition\",\n \"discriminator\": [\n 145,\n 143,\n 162,\n 218,\n 218,\n 80,\n 67,\n 11\n ]\n },\n {\n \"name\": \"EvtRemoveLiquidity\",\n \"discriminator\": [\n 87,\n 46,\n 88,\n 98,\n 175,\n 96,\n 34,\n 91\n ]\n },\n {\n \"name\": \"EvtSetPoolStatus\",\n \"discriminator\": [\n 100,\n 213,\n 74,\n 3,\n 95,\n 91,\n 228,\n 146\n ]\n },\n {\n \"name\": \"EvtSwap\",\n \"discriminator\": [\n 27,\n 60,\n 21,\n 213,\n 138,\n 170,\n 187,\n 147\n ]\n },\n {\n \"name\": \"EvtUpdateRewardDuration\",\n \"discriminator\": [\n 149,\n 135,\n 65,\n 231,\n 129,\n 153,\n 65,\n 57\n ]\n },\n {\n \"name\": \"EvtUpdateRewardFunder\",\n \"discriminator\": [\n 76,\n 154,\n 208,\n 13,\n 40,\n 115,\n 246,\n 146\n ]\n },\n {\n \"name\": \"EvtWithdrawIneligibleReward\",\n \"discriminator\": [\n 248,\n 215,\n 184,\n 78,\n 31,\n 180,\n 179,\n 168\n ]\n }\n ],\n \"errors\": [\n {\n \"code\": 6000,\n \"name\": \"MathOverflow\",\n \"msg\": \"Math operation overflow\"\n },\n {\n \"code\": 6001,\n \"name\": \"InvalidFee\",\n \"msg\": \"Invalid fee setup\"\n },\n {\n \"code\": 6002,\n \"name\": \"ExceededSlippage\",\n \"msg\": \"Exceeded slippage tolerance\"\n },\n {\n \"code\": 6003,\n \"name\": \"PoolDisabled\",\n \"msg\": \"Pool disabled\"\n },\n {\n \"code\": 6004,\n \"name\": \"ExceedMaxFeeBps\",\n \"msg\": \"Exceeded max fee bps\"\n },\n {\n \"code\": 6005,\n \"name\": \"InvalidAdmin\",\n \"msg\": \"Invalid admin\"\n },\n {\n \"code\": 6006,\n \"name\": \"AmountIsZero\",\n \"msg\": \"Amount is zero\"\n },\n {\n \"code\": 6007,\n \"name\": \"TypeCastFailed\",\n \"msg\": \"Type cast error\"\n },\n {\n \"code\": 6008,\n \"name\": \"UnableToModifyActivationPoint\",\n \"msg\": \"Unable to modify activation point\"\n },\n {\n \"code\": 6009,\n \"name\": \"InvalidAuthorityToCreateThePool\",\n \"msg\": \"Invalid authority to create the pool\"\n },\n {\n \"code\": 6010,\n \"name\": \"InvalidActivationType\",\n \"msg\": \"Invalid activation type\"\n },\n {\n \"code\": 6011,\n \"name\": \"InvalidActivationPoint\",\n \"msg\": \"Invalid activation point\"\n },\n {\n \"code\": 6012,\n \"name\": \"InvalidQuoteMint\",\n \"msg\": \"Quote token must be SOL,USDC\"\n },\n {\n \"code\": 6013,\n \"name\": \"InvalidFeeCurve\",\n \"msg\": \"Invalid fee curve\"\n },\n {\n \"code\": 6014,\n \"name\": \"InvalidPriceRange\",\n \"msg\": \"Invalid Price Range\"\n },\n {\n \"code\": 6015,\n \"name\": \"PriceRangeViolation\",\n \"msg\": \"Trade is over price range\"\n },\n {\n \"code\": 6016,\n \"name\": \"InvalidParameters\",\n \"msg\": \"Invalid parameters\"\n },\n {\n \"code\": 6017,\n \"name\": \"InvalidCollectFeeMode\",\n \"msg\": \"Invalid collect fee mode\"\n },\n {\n \"code\": 6018,\n \"name\": \"InvalidInput\",\n \"msg\": \"Invalid input\"\n },\n {\n \"code\": 6019,\n \"name\": \"CannotCreateTokenBadgeOnSupportedMint\",\n \"msg\": \"Cannot create token badge on supported mint\"\n },\n {\n \"code\": 6020,\n \"name\": \"InvalidTokenBadge\",\n \"msg\": \"Invalid token badge\"\n },\n {\n \"code\": 6021,\n \"name\": \"InvalidMinimumLiquidity\",\n \"msg\": \"Invalid minimum liquidity\"\n },\n {\n \"code\": 6022,\n \"name\": \"InvalidVestingInfo\",\n \"msg\": \"Invalid vesting information\"\n },\n {\n \"code\": 6023,\n \"name\": \"InsufficientLiquidity\",\n \"msg\": \"Insufficient liquidity\"\n },\n {\n \"code\": 6024,\n \"name\": \"InvalidVestingAccount\",\n \"msg\": \"Invalid vesting account\"\n },\n {\n \"code\": 6025,\n \"name\": \"InvalidPoolStatus\",\n \"msg\": \"Invalid pool status\"\n },\n {\n \"code\": 6026,\n \"name\": \"UnsupportNativeMintToken2022\",\n \"msg\": \"Unsupported native mint token2022\"\n },\n {\n \"code\": 6027,\n \"name\": \"InvalidRewardIndex\",\n \"msg\": \"Invalid reward index\"\n },\n {\n \"code\": 6028,\n \"name\": \"InvalidRewardDuration\",\n \"msg\": \"Invalid reward duration\"\n },\n {\n \"code\": 6029,\n \"name\": \"RewardInitialized\",\n \"msg\": \"Reward already initialized\"\n },\n {\n \"code\": 6030,\n \"name\": \"RewardUninitialized\",\n \"msg\": \"Reward not initialized\"\n },\n {\n \"code\": 6031,\n \"name\": \"InvalidRewardVault\",\n \"msg\": \"Invalid reward vault\"\n },\n {\n \"code\": 6032,\n \"name\": \"MustWithdrawnIneligibleReward\",\n \"msg\": \"Must withdraw ineligible reward\"\n },\n {\n \"code\": 6033,\n \"name\": \"IdenticalRewardDuration\",\n \"msg\": \"Reward duration is the same\"\n },\n {\n \"code\": 6034,\n \"name\": \"RewardCampaignInProgress\",\n \"msg\": \"Reward campaign in progress\"\n },\n {\n \"code\": 6035,\n \"name\": \"IdenticalFunder\",\n \"msg\": \"Identical funder\"\n },\n {\n \"code\": 6036,\n \"name\": \"InvalidFunder\",\n \"msg\": \"Invalid funder\"\n },\n {\n \"code\": 6037,\n \"name\": \"RewardNotEnded\",\n \"msg\": \"Reward not ended\"\n },\n {\n \"code\": 6038,\n \"name\": \"FeeInverseIsIncorrect\",\n \"msg\": \"Fee inverse is incorrect\"\n }\n ],\n \"types\": [\n {\n \"name\": \"AddLiquidityParameters\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"liquidity_delta\",\n \"docs\": [\n \"delta liquidity\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"token_a_amount_threshold\",\n \"docs\": [\n \"maximum token a amount\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"token_b_amount_threshold\",\n \"docs\": [\n \"maximum token b amount\"\n ],\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"BaseFeeConfig\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"cliff_fee_numerator\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"fee_scheduler_mode\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"padding\",\n \"type\": {\n \"array\": [\n \"u8\",\n 5\n ]\n }\n },\n {\n \"name\": \"number_of_period\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"period_frequency\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"reduction_factor\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"BaseFeeParameters\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"cliff_fee_numerator\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"number_of_period\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"period_frequency\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"reduction_factor\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"fee_scheduler_mode\",\n \"type\": \"u8\"\n }\n ]\n }\n },\n {\n \"name\": \"BaseFeeStruct\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"cliff_fee_numerator\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"fee_scheduler_mode\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"padding_0\",\n \"type\": {\n \"array\": [\n \"u8\",\n 5\n ]\n }\n },\n {\n \"name\": \"number_of_period\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"period_frequency\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"reduction_factor\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"padding_1\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"ClaimFeeOperator\",\n \"docs\": [\n \"Parameter that set by the protocol\"\n ],\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"operator\",\n \"docs\": [\n \"operator\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"_padding\",\n \"docs\": [\n \"Reserve\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 128\n ]\n }\n }\n ]\n }\n },\n {\n \"name\": \"Config\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"vault_config_key\",\n \"docs\": [\n \"Vault config key\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"pool_creator_authority\",\n \"docs\": [\n \"Only pool_creator_authority can use the current config to initialize new pool. When it's Pubkey::default, it's a public config.\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"pool_fees\",\n \"docs\": [\n \"Pool fee\"\n ],\n \"type\": {\n \"defined\": {\n \"name\": \"PoolFeesConfig\"\n }\n }\n },\n {\n \"name\": \"activation_type\",\n \"docs\": [\n \"Activation type\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"collect_fee_mode\",\n \"docs\": [\n \"Collect fee mode\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"_padding_0\",\n \"docs\": [\n \"padding 0\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 6\n ]\n }\n },\n {\n \"name\": \"index\",\n \"docs\": [\n \"config index\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"sqrt_min_price\",\n \"docs\": [\n \"sqrt min price\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"sqrt_max_price\",\n \"docs\": [\n \"sqrt max price\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"_padding_1\",\n \"docs\": [\n \"Fee curve point\",\n \"Padding for further use\"\n ],\n \"type\": {\n \"array\": [\n \"u64\",\n 10\n ]\n }\n }\n ]\n }\n },\n {\n \"name\": \"ConfigParameters\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool_fees\",\n \"type\": {\n \"defined\": {\n \"name\": \"PoolFeeParameters\"\n }\n }\n },\n {\n \"name\": \"sqrt_min_price\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"sqrt_max_price\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"vault_config_key\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"pool_creator_authority\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"activation_type\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"collect_fee_mode\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"index\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"DynamicFeeConfig\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"initialized\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"padding\",\n \"type\": {\n \"array\": [\n \"u8\",\n 7\n ]\n }\n },\n {\n \"name\": \"max_volatility_accumulator\",\n \"type\": \"u32\"\n },\n {\n \"name\": \"variable_fee_control\",\n \"type\": \"u32\"\n },\n {\n \"name\": \"bin_step\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"filter_period\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"decay_period\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"reduction_factor\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"padding_1\",\n \"type\": {\n \"array\": [\n \"u8\",\n 8\n ]\n }\n },\n {\n \"name\": \"bin_step_u128\",\n \"type\": \"u128\"\n }\n ]\n }\n },\n {\n \"name\": \"DynamicFeeParameters\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"bin_step\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"bin_step_u128\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"filter_period\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"decay_period\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"reduction_factor\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"max_volatility_accumulator\",\n \"type\": \"u32\"\n },\n {\n \"name\": \"variable_fee_control\",\n \"type\": \"u32\"\n }\n ]\n }\n },\n {\n \"name\": \"DynamicFeeStruct\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"initialized\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"padding\",\n \"type\": {\n \"array\": [\n \"u8\",\n 7\n ]\n }\n },\n {\n \"name\": \"max_volatility_accumulator\",\n \"type\": \"u32\"\n },\n {\n \"name\": \"variable_fee_control\",\n \"type\": \"u32\"\n },\n {\n \"name\": \"bin_step\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"filter_period\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"decay_period\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"reduction_factor\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"last_update_timestamp\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"bin_step_u128\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"sqrt_price_reference\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"volatility_accumulator\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"volatility_reference\",\n \"type\": \"u128\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtAddLiquidity\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"position\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"params\",\n \"type\": {\n \"defined\": {\n \"name\": \"AddLiquidityParameters\"\n }\n }\n },\n {\n \"name\": \"total_amount_a\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"total_amount_b\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtClaimPartnerFee\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"token_a_amount\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"token_b_amount\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtClaimPositionFee\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"position\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"fee_a_claimed\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"fee_b_claimed\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtClaimProtocolFee\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"token_a_amount\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"token_b_amount\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtClaimReward\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"position\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"mint_reward\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"reward_index\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"total_reward\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtCloseClaimFeeOperator\",\n \"docs\": [\n \"Close claim fee operator\"\n ],\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"claim_fee_operator\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"operator\",\n \"type\": \"pubkey\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtCloseConfig\",\n \"docs\": [\n \"Close config\"\n ],\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"config\",\n \"docs\": [\n \"Config pubkey\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"admin\",\n \"docs\": [\n \"admin pk\"\n ],\n \"type\": \"pubkey\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtCreateClaimFeeOperator\",\n \"docs\": [\n \"Create claim fee operator\"\n ],\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"operator\",\n \"type\": \"pubkey\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtCreateConfig\",\n \"docs\": [\n \"Create config\"\n ],\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool_fees\",\n \"type\": {\n \"defined\": {\n \"name\": \"PoolFeeParameters\"\n }\n }\n },\n {\n \"name\": \"vault_config_key\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"pool_creator_authority\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"activation_type\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"sqrt_min_price\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"sqrt_max_price\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"collect_fee_mode\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"index\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"config\",\n \"type\": \"pubkey\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtCreatePosition\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"position\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"position_nft_mint\",\n \"type\": \"pubkey\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtCreateTokenBadge\",\n \"docs\": [\n \"Create token badge\"\n ],\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"token_mint\",\n \"type\": \"pubkey\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtFundReward\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"funder\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"mint_reward\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"reward_index\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"transfer_fee_excluded_amount_in\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtInitializePool\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"token_a_mint\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"token_b_mint\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"creator\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"payer\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"alpha_vault\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"pool_fees\",\n \"type\": {\n \"defined\": {\n \"name\": \"PoolFeeParameters\"\n }\n }\n },\n {\n \"name\": \"sqrt_min_price\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"sqrt_max_price\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"activation_type\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"collect_fee_mode\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"liquidity\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"sqrt_price\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"activation_point\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"token_a_flag\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"token_b_flag\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"total_amount_a\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"total_amount_b\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"pool_type\",\n \"type\": \"u8\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtInitializeReward\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"reward_mint\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"funder\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"reward_index\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"reward_duration\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtLockPosition\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"position\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"vesting\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"cliff_point\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"period_frequency\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"cliff_unlock_liquidity\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"liquidity_per_period\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"number_of_period\",\n \"type\": \"u16\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtPermanentLockPosition\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"position\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"liquidity\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"pool_new_permanent_locked_liquidity\",\n \"type\": \"u128\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtRemoveLiquidity\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"position\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"params\",\n \"type\": {\n \"defined\": {\n \"name\": \"RemoveLiquidityParameters\"\n }\n }\n },\n {\n \"name\": \"amount_a\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"amount_b\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtSetPoolStatus\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"status\",\n \"type\": \"u8\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtSwap\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"trade_direction\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"is_referral\",\n \"type\": \"bool\"\n },\n {\n \"name\": \"params\",\n \"type\": {\n \"defined\": {\n \"name\": \"SwapParameters\"\n }\n }\n },\n {\n \"name\": \"swap_result\",\n \"type\": {\n \"defined\": {\n \"name\": \"SwapResult\"\n }\n }\n },\n {\n \"name\": \"transfer_fee_excluded_amount_in\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"current_timestamp\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtUpdateRewardDuration\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"reward_index\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"old_reward_duration\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"new_reward_duration\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtUpdateRewardFunder\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"reward_index\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"old_funder\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"new_funder\",\n \"type\": \"pubkey\"\n }\n ]\n }\n },\n {\n \"name\": \"EvtWithdrawIneligibleReward\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"reward_mint\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"InitializeCustomizablePoolParameters\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool_fees\",\n \"docs\": [\n \"pool fees\"\n ],\n \"type\": {\n \"defined\": {\n \"name\": \"PoolFeeParameters\"\n }\n }\n },\n {\n \"name\": \"sqrt_min_price\",\n \"docs\": [\n \"sqrt min price\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"sqrt_max_price\",\n \"docs\": [\n \"sqrt max price\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"has_alpha_vault\",\n \"docs\": [\n \"has alpha vault\"\n ],\n \"type\": \"bool\"\n },\n {\n \"name\": \"liquidity\",\n \"docs\": [\n \"initialize liquidity\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"sqrt_price\",\n \"docs\": [\n \"The init price of the pool as a sqrt(token_b/token_a) Q64.64 value\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"activation_type\",\n \"docs\": [\n \"activation type\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"collect_fee_mode\",\n \"docs\": [\n \"collect fee mode\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"activation_point\",\n \"docs\": [\n \"activation point\"\n ],\n \"type\": {\n \"option\": \"u64\"\n }\n }\n ]\n }\n },\n {\n \"name\": \"InitializePoolParameters\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"liquidity\",\n \"docs\": [\n \"initialize liquidity\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"sqrt_price\",\n \"docs\": [\n \"The init price of the pool as a sqrt(token_b/token_a) Q64.64 value\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"activation_point\",\n \"docs\": [\n \"activation point\"\n ],\n \"type\": {\n \"option\": \"u64\"\n }\n }\n ]\n }\n },\n {\n \"name\": \"Pool\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool_fees\",\n \"docs\": [\n \"Pool fee\"\n ],\n \"type\": {\n \"defined\": {\n \"name\": \"PoolFeesStruct\"\n }\n }\n },\n {\n \"name\": \"token_a_mint\",\n \"docs\": [\n \"token a mint\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"token_b_mint\",\n \"docs\": [\n \"token b mint\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"token_a_vault\",\n \"docs\": [\n \"token a vault\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"token_b_vault\",\n \"docs\": [\n \"token b vault\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"whitelisted_vault\",\n \"docs\": [\n \"Whitelisted vault to be able to buy pool before activation_point\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"partner\",\n \"docs\": [\n \"partner\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"liquidity\",\n \"docs\": [\n \"liquidity share\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"token_a_reserve\",\n \"docs\": [\n \"token a reserve\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"token_b_reserve\",\n \"docs\": [\n \"token b reserve\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"protocol_a_fee\",\n \"docs\": [\n \"protocol a fee\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"protocol_b_fee\",\n \"docs\": [\n \"protocol b fee\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"partner_a_fee\",\n \"docs\": [\n \"partner a fee\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"partner_b_fee\",\n \"docs\": [\n \"partner b fee\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"sqrt_min_price\",\n \"docs\": [\n \"min price\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"sqrt_max_price\",\n \"docs\": [\n \"max price\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"sqrt_price\",\n \"docs\": [\n \"current price\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"activation_point\",\n \"docs\": [\n \"Activation point, can be slot or timestamp\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"activation_type\",\n \"docs\": [\n \"Activation type, 0 means by slot, 1 means by timestamp\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"pool_status\",\n \"docs\": [\n \"pool status, 0: enable, 1 disable\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"token_a_flag\",\n \"docs\": [\n \"token a flag\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"token_b_flag\",\n \"docs\": [\n \"token b flag\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"collect_fee_mode\",\n \"docs\": [\n \"0 is collect fee in both token, 1 only collect fee in token a, 2 only collect fee in token b\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"pool_type\",\n \"docs\": [\n \"pool type\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"_padding_0\",\n \"docs\": [\n \"padding\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 2\n ]\n }\n },\n {\n \"name\": \"fee_a_per_liquidity\",\n \"docs\": [\n \"cumulative\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 32\n ]\n }\n },\n {\n \"name\": \"fee_b_per_liquidity\",\n \"docs\": [\n \"cumulative\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 32\n ]\n }\n },\n {\n \"name\": \"permanent_lock_liquidity\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"metrics\",\n \"docs\": [\n \"metrics\"\n ],\n \"type\": {\n \"defined\": {\n \"name\": \"PoolMetrics\"\n }\n }\n },\n {\n \"name\": \"_padding_1\",\n \"docs\": [\n \"Padding for further use\"\n ],\n \"type\": {\n \"array\": [\n \"u64\",\n 10\n ]\n }\n },\n {\n \"name\": \"reward_infos\",\n \"docs\": [\n \"Farming reward information\"\n ],\n \"type\": {\n \"array\": [\n {\n \"defined\": {\n \"name\": \"RewardInfo\"\n }\n },\n 2\n ]\n }\n }\n ]\n }\n },\n {\n \"name\": \"PoolFeeParameters\",\n \"docs\": [\n \"Information regarding fee charges\"\n ],\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"base_fee\",\n \"docs\": [\n \"Base fee\"\n ],\n \"type\": {\n \"defined\": {\n \"name\": \"BaseFeeParameters\"\n }\n }\n },\n {\n \"name\": \"protocol_fee_percent\",\n \"docs\": [\n \"Protocol trade fee percent\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"partner_fee_percent\",\n \"docs\": [\n \"partner fee percent\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"referral_fee_percent\",\n \"docs\": [\n \"referral fee percent\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"dynamic_fee\",\n \"docs\": [\n \"dynamic fee\"\n ],\n \"type\": {\n \"option\": {\n \"defined\": {\n \"name\": \"DynamicFeeParameters\"\n }\n }\n }\n }\n ]\n }\n },\n {\n \"name\": \"PoolFeesConfig\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"base_fee\",\n \"type\": {\n \"defined\": {\n \"name\": \"BaseFeeConfig\"\n }\n }\n },\n {\n \"name\": \"dynamic_fee\",\n \"type\": {\n \"defined\": {\n \"name\": \"DynamicFeeConfig\"\n }\n }\n },\n {\n \"name\": \"protocol_fee_percent\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"partner_fee_percent\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"referral_fee_percent\",\n \"type\": \"u8\"\n },\n {\n \"name\": \"padding_0\",\n \"type\": {\n \"array\": [\n \"u8\",\n 5\n ]\n }\n },\n {\n \"name\": \"padding_1\",\n \"type\": {\n \"array\": [\n \"u64\",\n 5\n ]\n }\n }\n ]\n }\n },\n {\n \"name\": \"PoolFeesStruct\",\n \"docs\": [\n \"Information regarding fee charges\",\n \"trading_fee = amount * trade_fee_numerator / denominator\",\n \"protocol_fee = trading_fee * protocol_fee_percentage / 100\",\n \"referral_fee = protocol_fee * referral_percentage / 100\",\n \"partner_fee = (protocol_fee - referral_fee) * partner_fee_percentage / denominator\"\n ],\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"base_fee\",\n \"docs\": [\n \"Trade fees are extra token amounts that are held inside the token\",\n \"accounts during a trade, making the value of liquidity tokens rise.\",\n \"Trade fee numerator\"\n ],\n \"type\": {\n \"defined\": {\n \"name\": \"BaseFeeStruct\"\n }\n }\n },\n {\n \"name\": \"protocol_fee_percent\",\n \"docs\": [\n \"Protocol trading fees are extra token amounts that are held inside the token\",\n \"accounts during a trade, with the equivalent in pool tokens minted to\",\n \"the protocol of the program.\",\n \"Protocol trade fee numerator\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"partner_fee_percent\",\n \"docs\": [\n \"partner fee\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"referral_fee_percent\",\n \"docs\": [\n \"referral fee\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"padding_0\",\n \"docs\": [\n \"padding\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 5\n ]\n }\n },\n {\n \"name\": \"dynamic_fee\",\n \"docs\": [\n \"dynamic fee\"\n ],\n \"type\": {\n \"defined\": {\n \"name\": \"DynamicFeeStruct\"\n }\n }\n },\n {\n \"name\": \"padding_1\",\n \"docs\": [\n \"padding\"\n ],\n \"type\": {\n \"array\": [\n \"u64\",\n 2\n ]\n }\n }\n ]\n }\n },\n {\n \"name\": \"PoolMetrics\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"total_lp_a_fee\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"total_lp_b_fee\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"total_protocol_a_fee\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"total_protocol_b_fee\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"total_partner_a_fee\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"total_partner_b_fee\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"total_position\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"padding\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"Position\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"pool\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"nft_mint\",\n \"docs\": [\n \"nft mint\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"fee_a_per_token_checkpoint\",\n \"docs\": [\n \"fee a checkpoint\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 32\n ]\n }\n },\n {\n \"name\": \"fee_b_per_token_checkpoint\",\n \"docs\": [\n \"fee b checkpoint\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 32\n ]\n }\n },\n {\n \"name\": \"fee_a_pending\",\n \"docs\": [\n \"fee a pending\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"fee_b_pending\",\n \"docs\": [\n \"fee b pending\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"unlocked_liquidity\",\n \"docs\": [\n \"unlock liquidity\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"vested_liquidity\",\n \"docs\": [\n \"vesting liquidity\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"permanent_locked_liquidity\",\n \"docs\": [\n \"permanent locked liquidity\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"metrics\",\n \"docs\": [\n \"metrics\"\n ],\n \"type\": {\n \"defined\": {\n \"name\": \"PositionMetrics\"\n }\n }\n },\n {\n \"name\": \"reward_infos\",\n \"docs\": [\n \"Farming reward information\"\n ],\n \"type\": {\n \"array\": [\n {\n \"defined\": {\n \"name\": \"UserRewardInfo\"\n }\n },\n 2\n ]\n }\n },\n {\n \"name\": \"padding\",\n \"docs\": [\n \"padding for future usage\"\n ],\n \"type\": {\n \"array\": [\n \"u128\",\n 6\n ]\n }\n }\n ]\n }\n },\n {\n \"name\": \"PositionMetrics\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"total_claimed_a_fee\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"total_claimed_b_fee\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"RemoveLiquidityParameters\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"liquidity_delta\",\n \"docs\": [\n \"delta liquidity\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"token_a_amount_threshold\",\n \"docs\": [\n \"minimum token a amount\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"token_b_amount_threshold\",\n \"docs\": [\n \"minimum token b amount\"\n ],\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"RewardInfo\",\n \"docs\": [\n \"Stores the state relevant for tracking liquidity mining rewards\"\n ],\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"initialized\",\n \"docs\": [\n \"Indicates if the reward has been initialized\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"reward_token_flag\",\n \"docs\": [\n \"reward token flag\"\n ],\n \"type\": \"u8\"\n },\n {\n \"name\": \"_padding_0\",\n \"docs\": [\n \"padding\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 6\n ]\n }\n },\n {\n \"name\": \"_padding_1\",\n \"docs\": [\n \"Padding to ensure `reward_rate: u128` is 16-byte aligned\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 8\n ]\n }\n },\n {\n \"name\": \"mint\",\n \"docs\": [\n \"Reward token mint.\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"vault\",\n \"docs\": [\n \"Reward vault token account.\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"funder\",\n \"docs\": [\n \"Authority account that allows to fund rewards\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"reward_duration\",\n \"docs\": [\n \"reward duration\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"reward_duration_end\",\n \"docs\": [\n \"reward duration end\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"reward_rate\",\n \"docs\": [\n \"reward rate\"\n ],\n \"type\": \"u128\"\n },\n {\n \"name\": \"reward_per_token_stored\",\n \"docs\": [\n \"Reward per token stored\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 32\n ]\n }\n },\n {\n \"name\": \"last_update_time\",\n \"docs\": [\n \"The last time reward states were updated.\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"cumulative_seconds_with_empty_liquidity_reward\",\n \"docs\": [\n \"Accumulated seconds when the farm distributed rewards but the bin was empty.\",\n \"These rewards will be carried over to the next reward time window.\"\n ],\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"SwapParameters\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"amount_in\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"minimum_amount_out\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"SwapResult\",\n \"docs\": [\n \"Encodes all results of swapping\"\n ],\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"output_amount\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"next_sqrt_price\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"lp_fee\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"protocol_fee\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"partner_fee\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"referral_fee\",\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"TokenBadge\",\n \"docs\": [\n \"Parameter that set by the protocol\"\n ],\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"token_mint\",\n \"docs\": [\n \"token mint\"\n ],\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"_padding\",\n \"docs\": [\n \"Reserve\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 128\n ]\n }\n }\n ]\n }\n },\n {\n \"name\": \"UserRewardInfo\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"reward_per_token_checkpoint\",\n \"docs\": [\n \"The latest update reward checkpoint\"\n ],\n \"type\": {\n \"array\": [\n \"u8\",\n 32\n ]\n }\n },\n {\n \"name\": \"reward_pendings\",\n \"docs\": [\n \"Current pending rewards\"\n ],\n \"type\": \"u64\"\n },\n {\n \"name\": \"total_claimed_rewards\",\n \"docs\": [\n \"Total claimed rewards\"\n ],\n \"type\": \"u64\"\n }\n ]\n }\n },\n {\n \"name\": \"Vesting\",\n \"serialization\": \"bytemuck\",\n \"repr\": {\n \"kind\": \"c\"\n },\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"position\",\n \"type\": \"pubkey\"\n },\n {\n \"name\": \"cliff_point\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"period_frequency\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"cliff_unlock_liquidity\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"liquidity_per_period\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"total_released_liquidity\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"number_of_period\",\n \"type\": \"u16\"\n },\n {\n \"name\": \"padding\",\n \"type\": {\n \"array\": [\n \"u8\",\n 14\n ]\n }\n },\n {\n \"name\": \"padding2\",\n \"type\": {\n \"array\": [\n \"u128\",\n 4\n ]\n }\n }\n ]\n }\n },\n {\n \"name\": \"VestingParameters\",\n \"type\": {\n \"kind\": \"struct\",\n \"fields\": [\n {\n \"name\": \"cliff_point\",\n \"type\": {\n \"option\": \"u64\"\n }\n },\n {\n \"name\": \"period_frequency\",\n \"type\": \"u64\"\n },\n {\n \"name\": \"cliff_unlock_liquidity\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"liquidity_per_period\",\n \"type\": \"u128\"\n },\n {\n \"name\": \"number_of_period\",\n \"type\": \"u16\"\n }\n ]\n }\n }\n ]\n}","import { BN } from \"@coral-xyz/anchor\";\nimport { PublicKey } from \"@solana/web3.js\";\n\nexport const CP_AMM_PROGRAM_ID = new PublicKey(\n \"cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG\"\n);\n\nexport const SCALE_OFFSET = 64;\nexport const BASIS_POINT_MAX = 10_000;\nexport const MAX_FEE_NUMERATOR = 500_000_000;\nexport const FEE_DENOMINATOR = 1_000_000_000;\n\nexport const MIN_SQRT_PRICE = new BN(\"4295048016\");\nexport const MAX_SQRT_PRICE = new BN(\"79226673521066979257578248091\");\nexport const MIN_CU_BUFFER = 50_000;\nexport const MAX_CU_BUFFER = 200_000;\n","import { PublicKey } from \"@solana/web3.js\";\nimport { BN } from \"@coral-xyz/anchor\";\n\n// Private function: Only use to derive pool account\nexport function getFirstKey(key1: PublicKey, key2: PublicKey) {\n const buf1 = key1.toBuffer();\n const buf2 = key2.toBuffer();\n // Buf1 > buf2\n if (Buffer.compare(buf1, buf2) === 1) {\n return buf1;\n }\n return buf2;\n}\n\nexport function getSecondKey(key1: PublicKey, key2: PublicKey) {\n const buf1 = key1.toBuffer();\n const buf2 = key2.toBuffer();\n // Buf1 > buf2\n if (Buffer.compare(buf1, buf2) === 1) {\n return buf2;\n }\n return buf1;\n}\n\nexport function derivePoolAuthority(programId: PublicKey): PublicKey {\n return PublicKey.findProgramAddressSync(\n [Buffer.from(\"pool_authority\")],\n programId\n )[0];\n}\nexport function deriveConfigAddress(\n index: BN,\n programId: PublicKey\n): PublicKey {\n return PublicKey.findProgramAddressSync(\n [Buffer.from(\"config\"), index.toArrayLike(Buffer, \"le\", 8)],\n programId\n )[0];\n}\n\nexport function derivePoolAddress(\n config: PublicKey,\n tokenAMint: PublicKey,\n tokenBMint: PublicKey,\n programId: PublicKey\n): PublicKey {\n return PublicKey.findProgramAddressSync(\n [\n Buffer.from(\"pool\"),\n config.toBuffer(),\n getFirstKey(tokenAMint, tokenBMint),\n getSecondKey(tokenAMint, tokenBMint),\n ],\n programId\n )[0];\n}\n\nexport function derivePositionAddress(\n positionNft: PublicKey,\n programId: PublicKey\n): PublicKey {\n return PublicKey.findProgramAddressSync(\n [Buffer.from(\"position\"), positionNft.toBuffer()],\n programId\n )[0];\n}\n\nexport function deriveTokenVaultAddress(\n tokenMint: PublicKey,\n pool: PublicKey,\n programId: PublicKey\n): PublicKey {\n return PublicKey.findProgramAddressSync(\n [Buffer.from(\"token_vault\"), tokenMint.toBuffer(), pool.toBuffer()],\n programId\n )[0];\n}\n\nexport function deriveRewardVaultAddress(\n pool: PublicKey,\n rewardIndex: number,\n programId: PublicKey\n): PublicKey {\n return PublicKey.findProgramAddressSync(\n [Buffer.from(\"reward_vault\"), pool.toBuffer(), Buffer.from([rewardIndex])],\n programId\n )[0];\n}\n\nexport function deriveCustomizablePoolAddress(\n tokenAMint: PublicKey,\n tokenBMint: PublicKey,\n programId: PublicKey\n): PublicKey {\n return PublicKey.findProgramAddressSync(\n [\n Buffer.from(\"cpool\"),\n getFirstKey(tokenAMint, tokenBMint),\n getSecondKey(tokenAMint, tokenBMint),\n ],\n programId\n )[0];\n}\n\nexport function deriveTokenBadgeAddress(\n tokenMint: PublicKey,\n programId: PublicKey\n): PublicKey {\n return PublicKey.findProgramAddressSync(\n [Buffer.from(\"token_badge\"), tokenMint.toBuffer()],\n programId\n )[0];\n}\n\nexport function deriveClaimFeeOperatorAddress(\n operator: PublicKey,\n programId: PublicKey\n): PublicKey {\n return PublicKey.findProgramAddressSync(\n [Buffer.from(\"cf_operator\"), operator.toBuffer()],\n programId\n )[0];\n}\n\nexport function derivePositionNftAccount(\n positionNftMint: PublicKey,\n programId: PublicKey\n): PublicKey {\n return PublicKey.findProgramAddressSync(\n [Buffer.from(\"position_nft_account\"), positionNftMint.toBuffer()],\n programId\n )[0];\n}\n\nexport function deriveEventAuthority(programId: PublicKey) {\n return PublicKey.findProgramAddressSync(\n [Buffer.from(\"__event_authority\")],\n programId\n );\n}\n","import { BN } from \"@coral-xyz/anchor\";\nimport Decimal from \"decimal.js\";\nimport { Rounding } from \"../types\";\n\nexport function mulShr(x: BN, y: BN, offset: number, rounding: Rounding): BN {\n const denominator = new BN(1).shln(offset);\n return mulDiv(x, y, denominator, rounding);\n}\n\nexport function shlDiv(x: BN, y: BN, offset: number, rounding: Rounding): BN {\n const scale = new BN(1).shln(offset);\n return mulDiv(x, scale, y, rounding);\n}\n\nexport function mulDiv(x: BN, y: BN, denominator: BN, rounding: Rounding): BN {\n const { div, mod } = x.mul(y).divmod(denominator);\n\n if (rounding == Rounding.Up && !mod.isZero()) {\n return div.add(new BN(1));\n }\n return div;\n}\n\nexport function divCeil(a: BN, b: BN): BN {\n if (a.isZero()) {\n return new BN(0);\n }\n // (a + b - 1) /b\n return a.add(b.sub(new BN(1))).div(b);\n}\n\nexport function q64ToDecimal(num: BN, decimalPlaces?: number): Decimal {\n return new Decimal(num.toString())\n .div(Decimal.pow(2, 64))\n .toDecimalPlaces(decimalPlaces);\n}\n\nexport function decimalToQ64(num: Decimal): BN {\n return new BN(num.mul(Decimal.pow(2, 64)).floor().toFixed());\n}\n\nexport function priceToSqrtPrice(\n initPrice: Decimal,\n tokenADecimal: number,\n tokenBDecimal: number\n): BN {\n const sqrtPriceQ64 = decimalToQ64(\n initPrice.mul(Decimal.pow(10, tokenBDecimal - tokenADecimal)).sqrt()\n );\n\n return sqrtPriceQ64;\n}\n","import { IdlAccounts, IdlTypes, Program, BN } from \"@coral-xyz/anchor\";\nimport { PublicKey, Transaction } from \"@solana/web3.js\";\nimport type { CpAmm as CpAmmTypes } from \"./idl/cp_amm\";\n\nexport type AmmProgram = Program<CpAmmTypes>;\n\nexport type TxBuilder = Promise<Transaction>;\n\nexport enum Rounding {\n Up,\n Down,\n}\n\nexport enum ActivationPoint {\n Timestamp,\n Slot,\n}\n\nexport enum FeeSchedulerMode {\n Linear,\n Exponential,\n}\n\nexport enum CollectFeeMode {\n BothToken,\n OnlyB,\n}\n\nexport enum TradeDirection {\n AtoB,\n BtoA,\n}\n\nexport enum ActivationType {\n Slot,\n Timestamp,\n}\n\n// Account state types\nexport type PoolState = IdlAccounts<CpAmmTypes>[\"pool\"];\nexport type PositionState = IdlAccounts<CpAmmTypes>[\"position\"];\nexport type VestingState = IdlAccounts<CpAmmTypes>[\"vesting\"];\nexport type ConfigState = IdlAccounts<CpAmmTypes>[\"config\"];\nexport type TokenBadgeState = IdlAccounts<CpAmmTypes>[\"tokenBadge\"];\n\n// Program params types\n// export type LockPositionParams = IdlTypes<CpAmm>[\"VestingParameters\"];\n// export type AddLiquidityParams = IdlTypes<CpAmm>[\"AddLiquidityParameters\"];\n// export type RemoveLiquidityParams =\n// IdlTypes<CpAmm>[\"RemoveLiquidityParameters\"];\n// export type SwapParams = IdlTypes<CpAmm>[\"SwapParameters\"];\n// export type InitPoolParams = IdlTypes<CpAmm>[\"InitializePoolParameters\"];\n// export type InitCustomizePoolParams =\n// IdlTypes<CpAmm>[\"InitializeCustomizablePoolParameters\"];\nexport type RewardInfo = IdlTypes<CpAmmTypes>[\"rewardInfo\"];\n\nexport type DynamicFee = {\n binStep: number;\n binStepU128: BN;\n filterPeriod: number;\n decayPeriod: number;\n reductionFactor: number;\n maxVolatilityAccumulator: number;\n variableFeeControl: number;\n};\n\nexport type BaseFee = {\n cliffFeeNumerator: BN;\n numberOfPeriod: number;\n periodFrequency: BN;\n reductionFactor: BN;\n feeSchedulerMode: number;\n};\n\nexport type PoolFeesParams = {\n baseFee: BaseFee;\n protocolFeePercent: number;\n partnerFeePercent: number;\n referralFeePercent: number;\n dynamicFee: DynamicFee | null;\n};\n\nexport type InitializeCustomizeablePoolParams = {\n payer: PublicKey;\n creator: PublicKey;\n positionNft: PublicKey;\n tokenAMint: PublicKey;\n tokenBMint: PublicKey;\n tokenAAmount: BN;\n tokenBAmount: BN;\n tokenADecimal: number;\n tokenBDecimal: number;\n poolFees: PoolFeesParams;\n hasAlphaVault: boolean;\n activationType: number;\n collectFeeMode: number;\n activationPoint: BN | null;\n tokenAProgram: PublicKey;\n tokenBProgram: PublicKey;\n};\n\nexport type PreparePoolCreationParams = {\n tokenAAmount: BN;\n tokenBAmount: BN;\n tokenADecimal: number;\n tokenBDecimal: number;\n};\n\nexport type PreparedPoolCreation = {\n sqrtPriceQ64: BN;\n liquidityQ64: BN;\n};\n\nexport type CreatePoolParams = {\n creator: PublicKey;\n payer: PublicKey;\n config: PublicKey;\n positionNft: PublicKey;\n tokenAMint: PublicKey;\n tokenBMint: PublicKey;\n tokenAAmount: BN;\n tokenBAmount: BN;\n tokenADecimal: number;\n tokenBDecimal: number;\n activationPoint: BN | null;\n tokenAProgram: PublicKey;\n tokenBProgram: PublicKey;\n};\n\nexport type CreatePositionParams = {\n owner: PublicKey;\n payer: PublicKey;\n pool: PublicKey;\n positionNft: PublicKey;\n};\n\nexport type AddLiquidityParams = {\n owner: PublicKey;\n position: PublicKey;\n pool: PublicKey;\n positionNftMint: PublicKey;\n liquidityDeltaQ64: BN;\n maxAmountTokenA: BN;\n maxAmountTokenB: BN;\n tokenAAmountThreshold: BN;\n tokenBAmountThreshold: BN;\n tokenAMint: PublicKey;\n tokenBMint: PublicKey;\n tokenAVault: PublicKey;\n tokenBVault: PublicKey;\n tokenAProgram: PublicKey;\n tokenBProgram: PublicKey;\n};\n\nexport type LiquidityDeltaParams = {\n maxAmountTokenA: BN;\n maxAmountTokenB: BN;\n tokenAMint: PublicKey;\n tokenBMint: PublicKey;\n sqrtPrice: BN;\n sqrtMinPrice: BN;\n sqrtMaxPrice: BN;\n};\n\nexport type RemoveLiquidityParams = AddLiquidityParams;\n\nexport type GetQuoteParams = {\n inAmount: BN;\n inputTokenMint: PublicKey;\n slippage: number;\n poolState: PoolState;\n};\n\nexport type SwapQuotes = {\n totalFee: BN;\n minOutAmount: BN;\n actualAmount: BN;\n};\n\nexport type SwapParams = {\n payer: PublicKey;\n pool: PublicKey;\n inputTokenMint: PublicKey;\n outputTokenMint: PublicKey;\n amountIn: BN;\n minimumAmountOut: BN;\n tokenAMint: PublicKey;\n tokenBMint: PublicKey;\n tokenAVault: PublicKey;\n tokenBVault: PublicKey;\n tokenAProgram: PublicKey;\n tokenBProgram: PublicKey;\n referralTokenAccount: PublicKey | null;\n};\n\nexport type LockPositionParams = {\n owner: PublicKey;\n payer: PublicKey;\n vestingAccount: PublicKey;\n position: PublicKey;\n positionNftMint: PublicKey;\n pool: PublicKey;\n cliffPoint: BN | null;\n periodFrequency: BN;\n cliffUnlockLiquidity: BN;\n liquidityPerPeriod: BN;\n numberOfPeriod: number;\n vestings: PublicKey[];\n};\n\nexport type ClaimPositionFeeParams = {\n owner: PublicKey;\n position: PublicKey;\n pool: PublicKey;\n nftPositionMint: PublicKey;\n tokenAMint: PublicKey;\n tokenBMint: PublicKey;\n tokenAVault: PublicKey;\n tokenBVault: PublicKey;\n tokenAProgram: PublicKey;\n tokenBProgram: PublicKey;\n};\n\nexport type InitializeRewardParams = {\n rewardIndex: number;\n rewardDuration: BN;\n pool: PublicKey;\n rewardMint: PublicKey;\n payer: PublicKey;\n};\n\nexport type UpdateRewardDurationParams = {\n pool: PublicKey;\n admin: PublicKey;\n rewardIndex: number;\n newDuration: BN;\n};\n\nexport type UpdateRewardFunderParams = {\n pool: PublicKey;\n admin: PublicKey;\n rewardIndex: number;\n newFunder: PublicKey;\n};\n\nexport type FundRewardParams = {\n funder: PublicKey;\n rewardIndex: number;\n pool: PublicKey;\n carryForward: boolean;\n amount: BN;\n};\n\nexport type WithdrawIneligibleRewardParams = {\n rewardIndex: number;\n pool: PublicKey;\n funder: PublicKey;\n};\n\nexport type ClaimPartnerFeeParams = {\n partner: PublicKey;\n pool: PublicKey;\n maxAmountA: BN;\n maxAmountB: BN;\n};\n\nexport type ClaimRewardParams = {\n user: PublicKey;\n position: PublicKey;\n rewardIndex: number;\n};\n\nexport type RefreshVestingParams = {\n owner: PublicKey;\n position: PublicKey;\n positionNftMint: PublicKey;\n pool: PublicKey;\n vestings: PublicKey[];\n};\n\nexport type PermanentLockParams = {\n owner: PublicKey;\n position: PublicKey;\n positionNftMint: PublicKey;\n pool: PublicKey;\n unlockedLiquidity: BN;\n};\n","import {\n createAssociatedTokenAccountIdempotentInstruction,\n createCloseAccountInstruction,\n getAccount,\n getAssociatedTokenAddressSync,\n getMint,\n NATIVE_MINT,\n TOKEN_2022_PROGRAM_ID,\n TOKEN_PROGRAM_ID,\n TokenAccountNotFoundError,\n TokenInvalidAccountOwnerError,\n} from \"@solana/spl-token\";\nimport {\n Connection,\n PublicKey,\n SystemProgram,\n TransactionInstruction,\n} from \"@solana/web3.js\";\n\nexport function getTokenProgram(flag: number): PublicKey {\n return flag == 0 ? TOKEN_PROGRAM_ID : TOKEN_2022_PROGRAM_ID;\n}\nexport const getTokenDecimals = async (\n connection: Connection,\n mint: PublicKey\n): Promise<number> => {\n return (await getMint(connection, mint)).decimals;\n};\n\nexport const getOrCreateATAInstruction = async (\n connection: Connection,\n tokenMint: PublicKey,\n owner: PublicKey,\n payer: PublicKey = owner,\n allowOwnerOffCurve = true,\n tokenProgram: PublicKey\n): Promise<{ ataPubkey: PublicKey; ix?: TransactionInstruction }> => {\n const toAccount = getAssociatedTokenAddressSync(\n tokenMint,\n owner,\n allowOwnerOffCurve,\n tokenProgram\n );\n\n try {\n await getAccount(connection, toAccount);\n return { ataPubkey: toAccount, ix: undefined };\n } catch (e) {\n if (\n e instanceof TokenAccountNotFoundError ||\n e instanceof TokenInvalidAccountOwnerError\n ) {\n const ix = createAssociatedTokenAccountIdempotentInstruction(\n payer,\n toAccount,\n owner,\n tokenMint,\n tokenProgram\n );\n\n return { ataPubkey: toAccount, ix };\n } else {\n /* handle error */\n console.error(\"Error::getOrCreateATAInstruction\", e);\n throw e;\n }\n }\n};\n\nexport const wrapSOLInstruction = (\n from: PublicKey,\n to: PublicKey,\n amount: bigint\n): TransactionInstruction[] => {\n return [\n SystemProgram.transfer({\n fromPubkey: from,\n toPubkey: to,\n lamports: amount,\n }),\n new TransactionInstruction({\n keys: [\n {\n pubkey: to,\n isSigner: false,\n isWritable: true,\n },\n ],\n data: Buffer.from(new Uint8Array([17])),\n programId: TOKEN_PROGRAM_ID,\n }),\n ];\n};\n\nexport const unwrapSOLInstruction = async (\n owner: PublicKey,\n allowOwnerOffCurve = true\n) => {\n const wSolATAAccount = getAssociatedTokenAddressSync(\n NATIVE_MINT,\n owner,\n allowOwnerOffCurve\n );\n if (wSolATAAccount) {\n const closedWrappedSolInstruction = createCloseAccountInstruction(\n wSolATAAccount,\n owner,\n owner,\n [],\n TOKEN_PROGRAM_ID\n );\n return closedWrappedSolInstruction;\n }\n return null;\n};\n\nexport async function getNftOwner(\n connection: Connection,\n nftMint: PublicKey\n): Promise<PublicKey> {\n const largesTokenAccount = await connection.getTokenLargestAccounts(nftMint);\n const accountInfo = await connection.getParsedAccountInfo(\n largesTokenAccount.value[0].address\n );\n // @ts-ignore\n const owner = new PublicKey(accountInfo.value.data.parsed.info.owner);\n\n return new PublicKey(owner);\n}\n","import { BN } from \"@coral-xyz/anchor\";\nimport { FeeSchedulerMode } from \"../types\";\nimport {\n BASIS_POINT_MAX,\n FEE_DENOMINATOR,\n MAX_FEE_NUMERATOR,\n SCALE_OFFSET,\n} from \"../constants\";\nimport { ONE, pow } from \"../math/feeMath\";\n\n// Fee scheduler\n// Linear: cliffFeeNumerator - period * reductionFactor\n// Exponential: cliffFeeNumerator * (1 -reductionFactor/BASIS_POINT_MAX)^period\nexport function getBaseFeeNumerator(\n feeSchedulerMode: FeeSchedulerMode,\n cliffFeeNumerator: BN,\n period: BN,\n reductionFactor: BN\n): BN {\n let feeNumerator: BN;\n if (feeSchedulerMode == FeeSchedulerMode.Linear) {\n feeNumerator = cliffFeeNumerator.sub(period.mul(reductionFactor));\n } else {\n const bps = reductionFactor.shln(SCALE_OFFSET).div(new BN(BASIS_POINT_MAX));\n const base = ONE.sub(bps);\n const result = pow(base, period);\n feeNumerator = cliffFeeNumerator.mul(result).shrn(SCALE_OFFSET);\n }\n\n return feeNumerator;\n}\n\nexport function getDynamicFeeNumerator(\n volatilityAccumulator: BN,\n binStep: BN,\n variableFeeControl: BN\n): BN {\n const squareVfaBin = volatilityAccumulator.mul(binStep).pow(new BN(2));\n const vFee = squareVfaBin.mul(variableFeeControl);\n return vFee.addn(99_999_999_999).divn(100_000_000_000);\n}\n\nexport function getFeeNumerator(\n currentPoint: number,\n activationPoint: BN,\n numberOfPeriod: number,\n periodFrequency: BN,\n feeSchedulerMode: number,\n cliffFeeNumerator: BN,\n reductionFactor: BN,\n dynamicFeeParams?: {\n volatilityAccumulator: BN;\n binStep: BN;\n variableFeeControl: BN;\n }\n): BN {\n if (Number(periodFrequency) == 0) {\n return cliffFeeNumerator;\n }\n const period = new BN(currentPoint).lt(activationPoint)\n ? new BN(numberOfPeriod)\n : BN.min(\n new BN(numberOfPeriod),\n new BN(currentPoint).sub(activationPoint).div(periodFrequency)\n );\n\n let feeNumerator = getBaseFeeNumerator(\n feeSchedulerMode,\n cliffFeeNumerator,\n period,\n reductionFactor\n );\n\n if (dynamicFeeParams) {\n const { volatilityAccumulator, binStep, variableFeeControl } =\n dynamicFeeParams;\n const dynamicFeeNumberator = getDynamicFeeNumerator(\n volatilityAccumulator,\n binStep,\n variableFeeControl\n );\n feeNumerator.add(dynamicFeeNumberator);\n }\n return feeNumerator.gt(new BN(MAX_FEE_NUMERATOR))\n ? new BN(MAX_FEE_NUMERATOR)\n : feeNumerator;\n}\n","import { BN } from \"@coral-xyz/anchor\";\nimport { SCALE_OFFSET } from \"../constants\";\n\nconst MAX_EXPONENTIAL = new BN(0x80000);\n\nexport const ONE = new BN(1).shln(SCALE_OFFSET);\nconst MAX = new BN(2).pow(new BN(128)).sub(new BN(1));\n\nexport function pow(base: BN, exp: BN): BN {\n let invert = exp.isNeg();\n\n if (exp.isZero()) {\n return ONE;\n }\n\n exp = invert ? exp.abs() : exp;\n\n if (exp.gt(MAX_EXPONENTIAL)) {\n return new BN(0);\n }\n\n let squaredBase = base;\n let result = ONE;\n\n if (squaredBase.gte(result)) {\n squaredBase = MAX.div(squaredBase);\n invert = !invert;\n }\n\n if (!exp.and(new BN(0x1)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x2)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x4)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x8)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x10)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x20)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x40)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x80)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x100)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x200)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x400)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x800)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x1000)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x2000)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x4000)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x8000)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x10000)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x20000)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n squaredBase = squaredBase.mul(squaredBase).shrn(SCALE_OFFSET);\n\n if (!exp.and(new BN(0x40000)).isZero()) {\n result = result.mul(squaredBase).shrn(SCALE_OFFSET);\n }\n\n if (result.isZero()) {\n return new BN(0);\n }\n\n if (invert) {\n result = MAX.div(result);\n }\n\n return result;\n}\n","import { BN } from \"@coral-xyz/anchor\";\nimport { divCeil, mulDiv, shlDiv } from \"../math\";\nimport { CollectFeeMode, Rounding } from \"../types\";\nimport { FEE_DENOMINATOR, SCALE_OFFSET } from \"../constants\";\n\n// aToB\n// √P' = √P * L / (L + Δx*√P)\n// bToA\n// √P' = √P + Δy / L\nexport function getNextSqrtPrice(\n amount: BN,\n sqrtPrice: BN,\n liquidity: BN,\n aToB: boolean\n) {\n let result: BN;\n if (aToB) {\n const product = amount.mul(sqrtPrice);\n const denominator = liquidity.add(product);\n result = mulDiv(liquidity, sqrtPrice, denominator, Rounding.Up);\n } else {\n const quotient = amount.shln(SCALE_OFFSET * 2).div(liquidity);\n result = sqrtPrice.add(quotient);\n }\n\n return result;\n}\n\n/// Gets the delta amount_a for given liquidity and price range\n///\n/// # Formula\n///\n/// * `Δa = L * (1 / √P_lower - 1 / √P_upper)`\n/// * i.e. `L * (√P_upper - √P_lower) / (√P_upper * √P_lower)`\nexport function getDeltaAmountA(\n lowerSqrtPrice: BN,\n upperSqrtPrice: BN,\n liquidity: BN,\n rounding: Rounding\n): BN {\n // deltaSqrtPrice: Q64.64, L: Q64.64 => prod: Q128.128, denominator: Q128.128\n const deltaSqrtPrice = upperSqrtPrice.sub(lowerSqrtPrice);\n const prod = liquidity.mul(deltaSqrtPrice);\n const denominator = lowerSqrtPrice.mul(upperSqrtPrice);\n const result = shlDiv(prod, denominator, SCALE_OFFSET, rounding);\n\n return result.shrn(SCALE_OFFSET);\n}\n\n/// Gets the delta amount_b for given liquidity and price range\n/// * `Δb = L (√P_upper - √P_lower)`\nexport function getDeltaAmountB(\n lowerSqrtPrice: BN,\n upperSqrtPrice: BN,\n liquidity: BN,\n rounding: Rounding\n): BN {\n const deltaSqrtPrice = upperSqrtPrice.sub(lowerSqrtPrice);\n const prod = liquidity.mul(deltaSqrtPrice);\n\n let result: BN;\n if (rounding == Rounding.Up) {\n const denominator = new BN(1).shln(SCALE_OFFSET * 2);\n result = divCeil(prod, denominator);\n } else {\n result = prod.shrn(SCALE_OFFSET * 2);\n }\n\n return result;\n}\n\n// calculate outAmount without fee charging\nexport function calculateSwap(\n inAmount: BN,\n sqrtPrice: BN,\n liquidity: BN,\n tradeFeeNumerator: BN,\n aToB: boolean,\n collectFeeMode: number\n): { amountOutExcludedlpFee: BN; lpFee: BN } {\n let outAmount: BN;\n let lpFee: BN;\n\n if (collectFeeMode === CollectFeeMode.BothToken) {\n if (aToB) {\n const nextSqrtPrice = getNextSqrtPrice(\n inAmount,\n sqrtPrice,\n liquidity,\n true\n );\n outAmount = getDeltaAmountB(\n nextSqrtPrice,\n sqrtPrice,\n liquidity,\n Rounding.Down\n );\n lpFee = mulDiv(\n outAmount,\n tradeFeeNumerator,\n new BN(FEE_DENOMINATOR),\n Rounding.Down\n );\n } else {\n const nextSqrtPrice = getNextSqrtPrice(\n inAmount,\n sqrtPrice,\n liquidity,\n false\n );\n\n outAmount = getDeltaAmountA(\n sqrtPrice,\n nextSqrtPrice,\n liquidity,\n Rounding.Down\n );\n lpFee = mulDiv(\n outAmount,\n tradeFeeNumerator,\n new BN(new BN(FEE_DENOMINATOR)),\n Rounding.Down\n );\n }\n } else {\n const nextSqrtPrice = getNextSqrtPrice(\n inAmount,\n sqrtPrice,\n liquidity,\n true\n );\n outAmount = getDeltaAmountB(\n nextSqrtPrice,\n sqrtPrice,\n liquidity,\n Rounding.Down\n );\n lpFee = mulDiv(\n outAmount,\n tradeFeeNumerator,\n new BN(FEE_DENOMINATOR),\n Rounding.Down\n );\n if (aToB) {\n } else {\n lpFee = mulDiv(\n inAmount,\n tradeFeeNumerator,\n new BN(FEE_DENOMINATOR),\n Rounding.Down\n );\n const nextSqrtPrice = getNextSqrtPrice(\n inAmount.sub(lpFee),\n sqrtPrice,\n liquidity,\n false\n );\n outAmount = getDeltaAmountA(\n sqrtPrice,\n nextSqrtPrice,\n liquidity,\n Rounding.Down\n );\n }\n }\n\n return { amountOutExcludedlpFee: outAmount.sub(lpFee), lpFee };\n}\n\n// Δa = L * (1 / √P_lower - 1 / √P_upper)\n//\n// Δa = L * (√P_upper - √P_lower) / (√P_upper * √P_lower)\n//\n// L = Δa * √P_upper * √P_lower / (√P_upper - √P_lower)\n//\nexport function getLiquidityDeltaFromAmountA(\n maxAmountA: BN,\n lowerSqrtPrice: BN, // current sqrt price\n upperSqrtPrice: BN // max sqrt price\n): BN {\n const prod = maxAmountA.mul(upperSqrtPrice.mul(lowerSqrtPrice));\n const delta = upperSqrtPrice.sub(lowerSqrtPrice);\n\n return prod.div(delta);\n}\n\n// Δb = L (√P_upper - √P_lower)\n// L = Δb / (√P_upper - √P_lower)\nexport function getLiquidityDeltaFromAmountB(\n maxAmountB: BN,\n lowerSqrtPrice: BN, // min sqrt price\n upperSqrtPrice: BN // current sqrt price\n): BN {\n const denominator = upperSqrtPrice.sub(lowerSqrtPrice);\n const result = maxAmountB.shln(SCALE_OFFSET * 2).div(denominator);\n return result;\n}\n","import {\n AddressLookupTableAccount,\n Commitment,\n ComputeBudgetProgram,\n Connection,\n PublicKey,\n TransactionInstruction,\n TransactionMessage,\n VersionedTransaction,\n} from \"@solana/web3.js\";\nimport { MAX_CU_BUFFER, MIN_CU_BUFFER } from \"../constants\";\n\nexport const getSimulationComputeUnits = async (\n connection: Connection,\n instructions: Array<TransactionInstruction>,\n payer: PublicKey,\n lookupTables: Array<AddressLookupTableAccount> | [],\n commitment: Commitment = \"confirmed\"\n): Promise<number | null> => {\n const testInstructions = [\n // Set an arbitrarily high number in simulation\n // so we can be sure the transaction will succeed\n // and get the real compute units used\n ComputeBudgetProgram.setComputeUnitLimit({ units: 1_400_000 }),\n ...instructions,\n ];\n\n const testTransaction = new VersionedTransaction(\n new TransactionMessage({\n instructions: testInstructions,\n payerKey: payer,\n // RecentBlockhash can by any public key during simulation\n // since 'replaceRecentBlockhash' is set to 'true' below\n recentBlockhash: PublicKey.default.toString(),\n }).compileToV0Message(lookupTables)\n );\n\n const rpcResponse = await connection.simulateTransaction(testTransaction, {\n replaceRecentBlockhash: true,\n sigVerify: false,\n commitment,\n });\n\n if (rpcResponse?.value?.err) {\n const logs = rpcResponse.value.logs?.join(\"\\n • \") || \"No logs available\";\n throw new Error(\n `Transaction simulation failed:\\n •${logs}` +\n JSON.stringify(rpcResponse?.value?.err)\n );\n }\n\n return rpcResponse.value.unitsConsumed || null;\n};\n\n/**\n * Gets the estimated compute unit usage with a buffer.\n * @param connection A Solana connection object.\n * @param instructions The instructions of the transaction to simulate.\n * @param feePayer The public key of the fee payer.\n * @param buffer The buffer to add to the estimated compute unit usage. Max value is 1. Default value is 0.1 if not provided, and will be capped between 50k - 200k.\n * @returns The estimated compute unit usage with the buffer.\n */\nexport const getEstimatedComputeUnitUsageWithBuffer = async (\n connection: Connection,\n instructions: TransactionInstruction[],\n feePayer: PublicKey,\n buffer?: number\n) => {\n if (!buffer) {\n buffer = 0.1;\n }\n // Avoid negative value\n buffer = Math.max(0, buffer);\n // Limit buffer to 1\n buffer = Math.min(1, buffer);\n\n const estimatedComputeUnitUsage = await getSimulationComputeUnits(\n connection,\n instructions,\n feePayer,\n []\n );\n\n if (!estimatedComputeUnitUsage) {\n return 0;\n }\n\n let extraComputeUnitBuffer = estimatedComputeUnitUsage * buffer;\n if (extraComputeUnitBuffer > MAX_CU_BUFFER) {\n extraComputeUnitBuffer = MAX_CU_BUFFER;\n } else if (extraComputeUnitBuffer < MIN_CU_BUFFER) {\n extraComputeUnitBuffer = MIN_CU_BUFFER;\n }\n\n return estimatedComputeUnitUsage + extraComputeUnitBuffer;\n};\n\n/**\n * Gets the estimated compute unit usage with a buffer and converts it to a SetComputeUnitLimit instruction.\n * If the estimated compute unit usage cannot be retrieved, returns a SetComputeUnitLimit instruction with the fallback unit.\n * @param connection A Solana connection object.\n * @param instructions The instructions of the transaction to simulate.\n * @param feePayer The public key of the fee payer.\n * @param buffer The buffer to add to the estimated compute unit usage. Max value is 1. Default value is 0.1 if not provided, and will be capped between 50k - 200k.\n * @returns A SetComputeUnitLimit instruction with the estimated compute unit usage.\n */\nexport const getEstimatedComputeUnitIxWithBuffer = async (\n connection: Connection,\n instructions: TransactionInstruction[],\n feePayer: PublicKey,\n buffer?: number\n) => {\n const units = await getEstimatedComputeUnitUsageWithBuffer(\n connection,\n instructions,\n feePayer,\n buffer\n ).catch((error) => {\n console.error(\"Error::getEstimatedComputeUnitUsageWithBuffer\", error);\n return 1_400_000;\n });\n\n return ComputeBudgetProgram.setComputeUnitLimit({ units });\n};\n","import { BN } from \"@coral-xyz/anchor\";\nimport { BASIS_POINT_MAX } from \"../constants\";\nimport Decimal from \"decimal.js\";\n/**\n * It takes an amount and a slippage rate, and returns the maximum amount that can be received with\n * that slippage rate\n * @param {BN} amount - The amount of tokens you want to buy.\n * @param {number} slippageRate - The maximum percentage of slippage you're willing to accept. (Max to 2 decimal place)\n * @returns The maximum amount of tokens that can be bought with the given amount of ETH, given the\n * slippage rate.\n */\nexport const getMaxAmountWithSlippage = (amount: BN, slippageRate: number) => {\n const slippage = ((100 + slippageRate) / 100) * BASIS_POINT_MAX;\n return amount.mul(new BN(slippage)).div(new BN(BASIS_POINT_MAX));\n};\n\n/**\n * It takes an amount and a slippage rate, and returns the minimum amount that will be received after\n * slippage\n * @param {BN} amount - The amount of tokens you want to sell.\n * @param {number} slippageRate - The percentage of slippage you're willing to accept. (Max to 2 decimal place)\n * @returns The minimum amount that can be received after slippage is applied.\n */\nexport const getMinAmountWithSlippage = (amount: BN, slippageRate: number) => {\n const slippage = ((100 - slippageRate) / 100) * BASIS_POINT_MAX;\n return amount.mul(new BN(slippage)).div(new BN(BASIS_POINT_MAX));\n};\n\nexport const getPriceImpact = (\n amount: BN,\n amountWithoutSlippage: BN\n): number => {\n const diff = amountWithoutSlippage.sub(amount);\n return new Decimal(diff.toString())\n .div(new Decimal(amountWithoutSlippage.toString()))\n .mul(100)\n .toNumber();\n};\n","import { GetProgramAccountsFilter, PublicKey } from \"@solana/web3.js\";\n\nexport const positionByOwnerFilter = (\n owner: PublicKey\n): GetProgramAccountsFilter => {\n return {\n memcmp: {\n bytes: owner.toBase58(),\n offset: 8 + 32,\n },\n };\n};\n\nexport const positionByPoolFilter = (\n pool: PublicKey\n): GetProgramAccountsFilter => {\n return {\n memcmp: {\n bytes: pool.toBase58(),\n offset: 8,\n },\n };\n};\n\nexport const poolFilter = (): GetProgramAccountsFilter => {\n return {\n memcmp: {\n bytes: \"0\",\n offset: 8 + 32,\n },\n };\n};\n","export * from \"./CpAmm\";\nexport * from \"./pda\";\nexport * from \"./types\";\nexport * from \"./constants\";\nexport * from \"./utils\";\nexport * from \"./types\";\nexport type { CpAmm as CpAmmTypes } from \"./idl/cp_amm\";\nimport CpAmmIDL from \"./idl/cp_amm.json\";\nexport default CpAmmIDL;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,eAAmB;AAC5B;AAAA,EAEE,eAAAA;AAAA,EACA,yBAAAC;AAAA,OACK;AACP,OAAO,eAAe;AACtB,OAAOC,cAAa;;;ACPpB;AAAA,EACE,SAAW;AAAA,EACX,UAAY;AAAA,IACV,MAAQ;AAAA,IACR,SAAW;AAAA,IACX,MAAQ;AAAA,IACR,aAAe;AAAA,EACjB;AAAA,EACA,cAAgB;AAAA,IACd;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,UACZ,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,QAAU;AAAA,UACV,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ,CAAC;AAAA,IACX;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,cACA;AAAA,gBACE,MAAQ;AAAA,gBACR,MAAQ;AAAA,cACV;AAAA,cACA;AAAA,gBACE,MAAQ;AAAA,gBACR,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,YACA,SAAW;AAAA,cACT,MAAQ;AAAA,cACR,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,cACA;AAAA,gBACE,MAAQ;AAAA,gBACR,MAAQ;AAAA,cACV;AAAA,cACA;AAAA,gBACE,MAAQ;AAAA,gBACR,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,YACA,SAAW;AAAA,cACT,MAAQ;AAAA,cACR,OAAS;AAAA,gBACP;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,QAAU;AAAA,UACV,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ,CAAC;AAAA,IACX;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,UACZ,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ,CAAC;AAAA,IACX;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,UACZ,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ,CAAC;AAAA,IACX;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,UACZ,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,cACA;AAAA,gBACE,MAAQ;AAAA,gBACR,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,UACZ,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,SAAW;AAAA,QACb;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ,CAAC;AAAA,IACX;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN;AAAA,MACF;AAAA,MACA,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,UACZ,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,cACA;AAAA,gBACE,MAAQ;AAAA,gBACR,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,UACZ,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,SAAW;AAAA,QACb;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,cACA;AAAA,gBACE,MAAQ;AAAA,gBACR,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,UACZ,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,cACA;AAAA,gBACE,MAAQ;AAAA,gBACR,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,SAAW;AAAA,QACb;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,SAAW;AAAA,QACb;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ,CAAC;AAAA,IACX;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,UACZ,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,cACA;AAAA,gBACE,MAAQ;AAAA,gBACR,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,UACZ,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,SAAW;AAAA,QACb;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ,CAAC;AAAA,IACX;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,cACA;AAAA,gBACE,MAAQ;AAAA,gBACR,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,UACZ,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,cACA;AAAA,gBACE,MAAQ;AAAA,gBACR,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,cACA;AAAA,gBACE,MAAQ;AAAA,gBACR,MAAQ;AAAA,cACV;AAAA,cACA;AAAA,gBACE,MAAQ;AAAA,gBACR,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,cACA;AAAA,gBACE,MAAQ;AAAA,gBACR,MAAQ;AAAA,cACV;AAAA,cACA;AAAA,gBACE,MAAQ;AAAA,gBACR,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,SAAW;AAAA,QACb;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,SAAW;AAAA,QACb;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,QACN;AAAA,MACF;AAAA,MACA,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,cACA;AAAA,gBACE,MAAQ;AAAA,gBACR,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,UACZ,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,cACA;AAAA,gBACE,MAAQ;AAAA,gBACR,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,cACA;AAAA,gBACE,MAAQ;AAAA,gBACR,MAAQ;AAAA,cACV;AAAA,cACA;AAAA,gBACE,MAAQ;AAAA,gBACR,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,cACA;AAAA,gBACE,MAAQ;AAAA,gBACR,MAAQ;AAAA,cACV;AAAA,cACA;AAAA,gBACE,MAAQ;AAAA,gBACR,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,SAAW;AAAA,QACb;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,SAAW;AAAA,QACb;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,UACZ,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,cACA;AAAA,gBACE,MAAQ;AAAA,gBACR,MAAQ;AAAA,cACV;AAAA,cACA;AAAA,gBACE,MAAQ;AAAA,gBACR,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,UACZ,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,SAAW;AAAA,QACb;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,UACR,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,UACZ,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,UACZ,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,SAAW;AAAA,QACb;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,UACZ,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,UACR,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ,CAAC;AAAA,IACX;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,UACZ,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,UACZ,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,WAAa;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,UACF;AAAA,UACA,UAAY;AAAA,UACZ,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAY;AAAA,QACV;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,UAAY;AAAA,QACd;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,QAAU;AAAA,QACZ;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,UACR,KAAO;AAAA,YACL,OAAS;AAAA,cACP;AAAA,gBACE,MAAQ;AAAA,gBACR,OAAS;AAAA,kBACP;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,MAAQ;AAAA,QACN;AAAA,UACE,MAAQ;AAAA,UACR,MAAQ;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAY;AAAA,IACV;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,QAAU;AAAA,IACR;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,eAAiB;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,QAAU;AAAA,IACR;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAQ;AAAA,MACR,MAAQ;AAAA,MACR,KAAO;AAAA,IACT;AAAA,IACA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","names":["NATIVE_MINT","TOKEN_2022_PROGRAM_ID","Decimal","SystemProgram","PublicKey","BN","Rounding","ActivationPoint","FeeSchedulerMode","CollectFeeMode","TradeDirection","ActivationType","BN","BN","PublicKey","PublicKey","BN","BN","BN","BN","BN","BN","nextSqrtPrice","PublicKey","PublicKey","BN","Decimal","BN","Decimal","Decimal","NATIVE_MINT","TOKEN_2022_PROGRAM_ID","SystemProgram"]}
|