From b39a4e4dbf6ad53fa7df0f1eb4579711d2e74597 Mon Sep 17 00:00:00 2001 From: ckamm Date: Fri, 11 Aug 2023 10:24:38 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20blockwor?= =?UTF-8?q?ks-foundation/mango-v4@1f55d549a63ce220f621ee24380194c2f62bbd30?= =?UTF-8?q?=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rs/.rustc_info.json | 2 +- ...TokenConditionalSwapDisplayPriceStyle.html | 8 +-- .../enum.TokenConditionalSwapIntention.html | 8 +-- .../state/struct.TokenConditionalSwap.html | 20 +++--- rs/doc/mango_v4_client/all.html | 2 +- rs/doc/mango_v4_client/chain_data/index.html | 3 +- .../chain_data/sidebar-items.js | 2 +- .../chain_data/struct.AccountFetcher.html | 13 ++-- .../health_cache/fn.new_sync.html | 1 + .../mango_v4_client/health_cache/index.html | 2 +- .../health_cache/sidebar-items.js | 2 +- .../mango_v4_client/trait.AccountFetcher.html | 2 +- rs/doc/search-index.js | 4 +- .../state/token_conditional_swap.rs.html | 62 +++++++++++++++++++ .../chain_data_fetcher.rs.html | 36 ++++++++++- .../src/mango_v4_client/health_cache.rs.html | 62 +++++++++++++++++++ ts/client/classes/As.html | 2 +- ts/client/classes/Bank.html | 12 ++-- ts/client/classes/BookSide.html | 6 +- ts/client/classes/BookSideType.html | 2 +- ts/client/classes/FlashLoanType.html | 2 +- ts/client/classes/FlashLoanWithdraw.html | 2 +- ts/client/classes/Group.html | 6 +- ts/client/classes/HealthType.html | 2 +- ts/client/classes/I80F48.html | 8 +-- ts/client/classes/I80F48Dto.html | 2 +- ts/client/classes/InnerNode.html | 2 +- ts/client/classes/InterestRateParams.html | 2 +- ts/client/classes/LeafNode.html | 2 +- ts/client/classes/MangoAccount.html | 50 +++++++-------- ts/client/classes/MangoClient.html | 8 +-- ts/client/classes/MintInfo.html | 2 +- ts/client/classes/OracleConfigParams.html | 2 +- ts/client/classes/PerpEventQueue.html | 2 +- ts/client/classes/PerpMarket.html | 8 +-- ts/client/classes/PerpOo.html | 2 +- ts/client/classes/PerpOoDto.html | 2 +- ts/client/classes/PerpOrder.html | 2 +- ts/client/classes/PerpOrderSide.html | 2 +- ts/client/classes/PerpOrderType.html | 2 +- ts/client/classes/PerpPosition.html | 2 +- ts/client/classes/PerpPositionDto.html | 2 +- ts/client/classes/PerpSelfTradeBehavior.html | 2 +- ts/client/classes/Serum3Market.html | 6 +- ts/client/classes/Serum3OrderType.html | 2 +- ts/client/classes/Serum3Orders.html | 2 +- ts/client/classes/Serum3PositionDto.html | 2 +- .../classes/Serum3SelfTradeBehavior.html | 2 +- ts/client/classes/Serum3Side.html | 2 +- ts/client/classes/StubOracle.html | 2 +- ts/client/classes/TokenConditionalSwap.html | 2 +- ...TokenConditionalSwapDisplayPriceStyle.html | 2 +- .../classes/TokenConditionalSwapDto.html | 2 +- .../TokenConditionalSwapIntention.html | 2 +- ts/client/classes/TokenPosition.html | 14 ++--- ts/client/classes/TokenPositionDto.html | 2 +- ts/client/enums/OracleProvider.html | 2 +- ts/client/enums/SwapMode.html | 2 +- ts/client/index.html | 10 +-- ts/client/interfaces/AccountEquity.html | 2 +- ts/client/interfaces/BankForHealth.html | 2 +- ts/client/interfaces/Event.html | 2 +- ts/client/interfaces/ExactOutSwapParams.html | 4 +- ts/client/interfaces/Fee.html | 2 +- ts/client/interfaces/FillEvent.html | 2 +- ts/client/interfaces/LiqorPriceImpact.html | 2 +- ts/client/interfaces/LiquidateEvent.html | 2 +- ts/client/interfaces/MarketInfo.html | 2 +- ts/client/interfaces/OutEvent.html | 2 +- .../PerpPositionsToBeLiquidated.html | 2 +- ts/client/interfaces/Quote.html | 2 +- ts/client/interfaces/QuoteParams.html | 2 +- ts/client/interfaces/Risk.html | 2 +- ts/client/interfaces/RouteInfo.html | 2 +- ts/client/interfaces/SwapParams.html | 4 +- ts/client/interfaces/TransactionFeeInfo.html | 2 +- 76 files changed, 314 insertions(+), 147 deletions(-) create mode 100644 rs/doc/mango_v4_client/health_cache/fn.new_sync.html diff --git a/rs/.rustc_info.json b/rs/.rustc_info.json index 8c6fb7130..aa6f98993 100644 --- a/rs/.rustc_info.json +++ b/rs/.rustc_info.json @@ -1 +1 @@ -{"rustc_fingerprint":1739123659091566905,"outputs":{"15697416045686424142":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n","stderr":""},"10376369925670944939":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n/home/runner/.rustup/toolchains/1.65-x86_64-unknown-linux-gnu\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"gnu\"\ntarget_family=\"unix\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"linux\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"unknown\"\nunix\n","stderr":""},"4614504638168534921":{"success":true,"status":"","code":0,"stdout":"rustc 1.65.0 (897e37553 2022-11-02)\nbinary: rustc\ncommit-hash: 897e37553bba8b42751c67658967889d11ecd120\ncommit-date: 2022-11-02\nhost: x86_64-unknown-linux-gnu\nrelease: 1.65.0\nLLVM version: 15.0.0\n","stderr":""}},"successes":{}} \ No newline at end of file +{"rustc_fingerprint":6333763913575614042,"outputs":{"4614504638168534921":{"success":true,"status":"","code":0,"stdout":"rustc 1.65.0 (897e37553 2022-11-02)\nbinary: rustc\ncommit-hash: 897e37553bba8b42751c67658967889d11ecd120\ncommit-date: 2022-11-02\nhost: x86_64-unknown-linux-gnu\nrelease: 1.65.0\nLLVM version: 15.0.0\n","stderr":""},"15697416045686424142":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n","stderr":""},"10376369925670944939":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n/home/runner/.rustup/toolchains/1.65-x86_64-unknown-linux-gnu\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"gnu\"\ntarget_family=\"unix\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"linux\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"unknown\"\nunix\n","stderr":""}},"successes":{}} \ No newline at end of file diff --git a/rs/doc/mango_v4/state/enum.TokenConditionalSwapDisplayPriceStyle.html b/rs/doc/mango_v4/state/enum.TokenConditionalSwapDisplayPriceStyle.html index fbb9a408d..9a4a381f7 100644 --- a/rs/doc/mango_v4/state/enum.TokenConditionalSwapDisplayPriceStyle.html +++ b/rs/doc/mango_v4/state/enum.TokenConditionalSwapDisplayPriceStyle.html @@ -1,11 +1,11 @@ -TokenConditionalSwapDisplayPriceStyle in mango_v4::state - Rust
#[repr(u8)]
+TokenConditionalSwapDisplayPriceStyle in mango_v4::state - Rust
#[repr(u8)]
 pub enum TokenConditionalSwapDisplayPriceStyle {
     SellTokenPerBuyToken,
     BuyTokenPerSellToken,
-}

Variants

SellTokenPerBuyToken

BuyTokenPerSellToken

Trait Implementations

Deserializes this instance from a given slice of bytes. -Updates the buffer to point at the remaining bytes. Read more
Deserialize this instance from a slice of bytes.
Serialize this instance into a vector of bytes.
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used +}

Variants

SellTokenPerBuyToken

BuyTokenPerSellToken

Trait Implementations

Deserializes this instance from a given slice of bytes. +Updates the buffer to point at the remaining bytes. Read more
Deserialize this instance from a slice of bytes.
Serialize this instance into a vector of bytes.
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
The type returned in the event of a conversion error.
Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Casts the value.
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Casts the value.
Casts the value.
Casts the value.
Compare self to key and return true if they are equal.

Returns the argument unchanged.

+sufficient, and should not be overridden without very good reason. Read more
The type returned in the event of a conversion error.
Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Casts the value.
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Casts the value.
Casts the value.
Casts the value.
Compare self to key and return true if they are equal.

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

diff --git a/rs/doc/mango_v4/state/enum.TokenConditionalSwapIntention.html b/rs/doc/mango_v4/state/enum.TokenConditionalSwapIntention.html index 2b4b2c597..6fe3d7138 100644 --- a/rs/doc/mango_v4/state/enum.TokenConditionalSwapIntention.html +++ b/rs/doc/mango_v4/state/enum.TokenConditionalSwapIntention.html @@ -1,14 +1,14 @@ -TokenConditionalSwapIntention in mango_v4::state - Rust
#[repr(u8)]
+TokenConditionalSwapIntention in mango_v4::state - Rust
#[repr(u8)]
 pub enum TokenConditionalSwapIntention {
     Unknown,
     StopLoss,
     TakeProfit,
 }

Variants

Unknown

StopLoss

Reducing a position when the price gets worse

TakeProfit

Reducing a position when the price gets better

-

Trait Implementations

Deserializes this instance from a given slice of bytes. -Updates the buffer to point at the remaining bytes. Read more
Deserialize this instance from a slice of bytes.
Serialize this instance into a vector of bytes.
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used +

Trait Implementations

Deserializes this instance from a given slice of bytes. +Updates the buffer to point at the remaining bytes. Read more
Deserialize this instance from a slice of bytes.
Serialize this instance into a vector of bytes.
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
The type returned in the event of a conversion error.
Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Casts the value.
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Casts the value.
Casts the value.
Casts the value.
Compare self to key and return true if they are equal.

Returns the argument unchanged.

+sufficient, and should not be overridden without very good reason. Read more
The type returned in the event of a conversion error.
Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Casts the value.
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Casts the value.
Casts the value.
Casts the value.
Compare self to key and return true if they are equal.

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

diff --git a/rs/doc/mango_v4/state/struct.TokenConditionalSwap.html b/rs/doc/mango_v4/state/struct.TokenConditionalSwap.html index 6218dde30..54bfddf34 100644 --- a/rs/doc/mango_v4/state/struct.TokenConditionalSwap.html +++ b/rs/doc/mango_v4/state/struct.TokenConditionalSwap.html @@ -1,4 +1,4 @@ -TokenConditionalSwap in mango_v4::state - Rust
#[repr(C)]
pub struct TokenConditionalSwap {
Show 19 fields +TokenConditionalSwap in mango_v4::state - Rust
#[repr(C)]
pub struct TokenConditionalSwap {
Show 19 fields pub id: u64, pub max_buy: u64, pub max_sell: u64, @@ -46,14 +46,20 @@ to show them prices in that way.

Stores a TokenConditionalSwapDisplayPriceStyle enum value

intention: u8

The intention the user had when placing this order, display-only

Stores a TokenConditionalSwapIntention enum value

-
reserved: [u8; 111]

Implementations

Whether the entry is in use

+
reserved: [u8; 111]

Implementations

Whether the entry is in use

Note that it’s possible for an entry to be in use but be expired

-

Base price adjusted for the premium

+

Base price adjusted for the premium

Base price is the amount of sell_token to pay for one buy_token.

-

Premium price adjusted for the maker fee

-

Premium price adjusted for the taker fee

-

Trait Implementations

Deserializes this instance from a given slice of bytes. -Updates the buffer to point at the remaining bytes. Read more
Deserialize this instance from a slice of bytes.
Serialize this instance into a vector of bytes.
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Casts the value.
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Casts the value.
Casts the value.
Self must have the same layout as the specified Bits except for +

Premium price adjusted for the maker fee

+

Premium price adjusted for the taker fee

+

The remaining buy amount, taking the current buy token position and +buy bank’s reduce-only status into account.

+

Note that the account health might further restrict execution.

+

The remaining sell amount, taking the current sell token position and +sell bank’s reduce-only status into account.

+

Note that the account health might further restrict execution.

+

Trait Implementations

Deserializes this instance from a given slice of bytes. +Updates the buffer to point at the remaining bytes. Read more
Deserialize this instance from a slice of bytes.
Serialize this instance into a vector of bytes.
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Casts the value.
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Casts the value.
Casts the value.
Self must have the same layout as the specified Bits except for the possible invalid bit patterns being checked during is_valid_bit_pattern. Read more
If this function returns true, then it must be valid to reinterpret bits as &Self. Read more
Casts the value.

Returns the argument unchanged.

diff --git a/rs/doc/mango_v4_client/all.html b/rs/doc/mango_v4_client/all.html index 16a0b2718..45424dd14 100644 --- a/rs/doc/mango_v4_client/all.html +++ b/rs/doc/mango_v4_client/all.html @@ -1 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/rs/doc/mango_v4_client/chain_data/index.html b/rs/doc/mango_v4_client/chain_data/index.html index 4ae0498b2..5e4053412 100644 --- a/rs/doc/mango_v4_client/chain_data/index.html +++ b/rs/doc/mango_v4_client/chain_data/index.html @@ -1 +1,2 @@ -mango_v4_client::chain_data - Rust
\ No newline at end of file +mango_v4_client::chain_data - Rust

Structs

A complex account fetcher that mostly depends on an external job keeping +the chain_data up to date.
Track slots and account writes

Enums

\ No newline at end of file diff --git a/rs/doc/mango_v4_client/chain_data/sidebar-items.js b/rs/doc/mango_v4_client/chain_data/sidebar-items.js index 7ed779c7d..b4760e892 100644 --- a/rs/doc/mango_v4_client/chain_data/sidebar-items.js +++ b/rs/doc/mango_v4_client/chain_data/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":[["SlotStatus",""]],"struct":[["AccountData",""],["AccountFetcher",""],["ChainData","Track slots and account writes"],["ChainDataMetrics",""],["SlotData",""]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":[["SlotStatus",""]],"struct":[["AccountData",""],["AccountFetcher","A complex account fetcher that mostly depends on an external job keeping the chain_data up to date."],["ChainData","Track slots and account writes"],["ChainDataMetrics",""],["SlotData",""]]}; \ No newline at end of file diff --git a/rs/doc/mango_v4_client/chain_data/struct.AccountFetcher.html b/rs/doc/mango_v4_client/chain_data/struct.AccountFetcher.html index 940c714c2..cc1116f16 100644 --- a/rs/doc/mango_v4_client/chain_data/struct.AccountFetcher.html +++ b/rs/doc/mango_v4_client/chain_data/struct.AccountFetcher.html @@ -1,9 +1,14 @@ -AccountFetcher in mango_v4_client::chain_data - Rust
pub struct AccountFetcher {
+AccountFetcher in mango_v4_client::chain_data - Rust
pub struct AccountFetcher {
     pub chain_data: Arc<RwLock<ChainData>>,
     pub rpc: RpcClientAsync,
-}

Fields

chain_data: Arc<RwLock<ChainData>>rpc: RpcClientAsync

Implementations

Return the maximum slot reported for the processing of the signatures

-

Return success once all addresses have data >= min_slot

-

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Casts the value.
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Casts the value.
Casts the value.
Casts the value.

Returns the argument unchanged.

+}
Expand description

A complex account fetcher that mostly depends on an external job keeping +the chain_data up to date.

+

In addition to the usual async fetching interface, it also has synchronous +functions to access some kinds of data with less overhead.

+

Also, there’s functions for fetching up to date data via rpc.

+

Fields

chain_data: Arc<RwLock<ChainData>>rpc: RpcClientAsync

Implementations

Return the maximum slot reported for the processing of the signatures

+

Return success once all addresses have data >= min_slot

+

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Casts the value.
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Casts the value.
Casts the value.
Casts the value.

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

diff --git a/rs/doc/mango_v4_client/health_cache/fn.new_sync.html b/rs/doc/mango_v4_client/health_cache/fn.new_sync.html new file mode 100644 index 000000000..7970d1c8d --- /dev/null +++ b/rs/doc/mango_v4_client/health_cache/fn.new_sync.html @@ -0,0 +1 @@ +new_sync in mango_v4_client::health_cache - Rust
pub fn new_sync(
    context: &MangoGroupContext,
    account_fetcher: &AccountFetcher,
    account: &MangoAccountValue
) -> Result<HealthCache>
\ No newline at end of file diff --git a/rs/doc/mango_v4_client/health_cache/index.html b/rs/doc/mango_v4_client/health_cache/index.html index 5e108cfc4..817dc6cd4 100644 --- a/rs/doc/mango_v4_client/health_cache/index.html +++ b/rs/doc/mango_v4_client/health_cache/index.html @@ -1 +1 @@ -mango_v4_client::health_cache - Rust
\ No newline at end of file +mango_v4_client::health_cache - Rust
\ No newline at end of file diff --git a/rs/doc/mango_v4_client/health_cache/sidebar-items.js b/rs/doc/mango_v4_client/health_cache/sidebar-items.js index 2cdf60174..8e601c2ca 100644 --- a/rs/doc/mango_v4_client/health_cache/sidebar-items.js +++ b/rs/doc/mango_v4_client/health_cache/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"fn":[["new",""]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["new",""],["new_sync",""]]}; \ No newline at end of file diff --git a/rs/doc/mango_v4_client/trait.AccountFetcher.html b/rs/doc/mango_v4_client/trait.AccountFetcher.html index a1d7abaf9..62d0cce9f 100644 --- a/rs/doc/mango_v4_client/trait.AccountFetcher.html +++ b/rs/doc/mango_v4_client/trait.AccountFetcher.html @@ -4,4 +4,4 @@ fn fetch_raw_account_lookup_table<'life0, 'life1, 'async_trait>(
        &'life0 self,
        address: &'life1 Pubkey
    ) -> Pin<Box<dyn Future<Output = Result<AccountSharedData>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
, { ... } -}

Required Methods

Provided Methods

Implementors

\ No newline at end of file +}

Required Methods

Provided Methods

Implementors

\ No newline at end of file diff --git a/rs/doc/search-index.js b/rs/doc/search-index.js index 1606e9ceb..4748b3b57 100644 --- a/rs/doc/search-index.js +++ b/rs/doc/search-index.js @@ -1,6 +1,6 @@ var searchIndex = JSON.parse('{\ -"mango_v4":{"doc":"","t":[7,3,11,14,0,0,0,0,11,14,11,11,11,5,11,11,11,11,11,11,11,11,11,5,0,14,14,0,11,14,0,0,5,11,11,0,11,0,11,11,11,11,0,14,11,11,0,14,14,11,11,0,14,0,11,11,11,11,0,11,11,0,11,11,11,14,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,3,3,3,3,3,3,3,3,3,3,13,3,13,13,3,13,3,3,4,3,3,3,3,3,3,13,3,3,13,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,13,3,3,3,3,3,3,3,4,3,3,4,3,3,3,4,3,3,3,13,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,13,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,5,5,7,5,5,7,5,5,3,3,8,3,8,3,8,8,8,8,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,12,12,12,12,10,10,11,11,11,11,10,10,11,11,11,11,10,10,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,5,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,4,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,2,2,11,11,11,11,11,10,10,11,11,11,11,11,11,11,2,2,11,11,11,11,11,11,11,11,11,11,10,11,11,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,8,3,3,4,13,13,13,3,3,3,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,12,11,11,11,12,12,11,5,5,5,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,12,11,12,12,12,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,12,5,5,12,12,12,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,8,10,10,10,10,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,3,3,3,3,3,3,3,3,3,13,13,4,3,3,3,3,3,3,3,3,3,3,3,13,3,3,13,3,13,3,3,3,3,13,3,3,3,3,3,3,13,13,3,3,3,3,3,11,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,3,3,3,11,12,12,12,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,5,5,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,5,12,12,12,5,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,13,13,13,13,13,13,13,13,13,13,3,3,13,13,13,13,3,13,13,13,13,13,3,3,3,3,4,13,13,4,17,17,13,8,8,3,8,3,3,4,17,17,13,3,13,13,13,3,13,3,13,13,13,17,13,17,13,13,3,13,13,16,4,13,3,13,13,13,13,13,17,17,17,17,3,3,3,6,6,6,8,6,6,6,13,13,3,6,4,13,17,13,13,13,13,13,13,3,6,3,13,13,13,13,3,3,13,13,3,4,3,4,4,3,3,3,4,3,13,3,17,13,13,13,13,13,13,13,13,13,13,13,13,3,6,3,13,3,13,13,13,4,13,13,13,13,4,13,17,17,17,8,4,13,13,13,13,13,13,13,13,3,6,3,3,13,13,13,4,4,13,3,13,13,3,13,13,13,13,13,13,13,3,13,13,4,4,13,13,13,13,6,13,13,3,13,13,13,13,13,13,13,3,17,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,2,14,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,11,11,12,12,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,2,14,11,12,12,12,12,12,11,12,11,11,12,12,12,11,11,12,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,5,11,11,11,11,11,12,12,10,11,11,12,12,12,12,12,12,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,12,12,12,12,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,12,12,12,12,12,12,12,11,11,11,11,12,5,5,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,2,14,12,11,12,11,11,11,11,10,11,12,12,11,12,12,12,12,12,11,12,12,12,10,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,10,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,12,12,12,12,12,12,12,12,11,12,10,10,10,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,11,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,5,11,11,11,12,12,11,11,11,12,12,11,11,12,12,11,12,12,12,2,14,12,11,12,12,12,12,12,5,5,11,11,11,5,12,11,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,12,11,12,11,11,12,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,11,12,12,11,5,12,11,12,11,12,12,12,11,11,12,12,12,12,11,12,12,12,11,12,12,11,12,12,12,12,12,5,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,12,2,14,12,11,10,11,11,11,10,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,12,11,11,11,11,11,12,12,11,12,11,12,11,12,11,11,12,12,12,12,0,0,12,12,12,12,12,12,11,12,12,12,11,12,11,12,12,12,12,12,11,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,12,11,12,11,12,12,12,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,7,5,5,7,5,5,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5],"n":["ID","Mango","__clone_box","account_seeds","accounts","accounts_ix","accounts_zerocopy","address_lookup_table_program","az","bank_seeds","borrow","borrow_mut","cast_from","check_id","checked_as","checked_cast_from","clone","clone_into","deref","deref_mut","deref_or_borrow","deref_or_borrow_mut","drop","entry","error","error_msg","error_msg_typed","events","from","group_seeds","health","i80f48","id","id","init","instruction","into","logs","lossless_try_into","lossless_try_into","lossy_into","lossy_into","mango_v4","openbook_v2_market_seeds","overflowing_as","overflowing_cast_from","program","require_msg","require_msg_typed","saturating_as","saturating_cast_from","serum3_cpi","serum_market_seeds","state","to_owned","try_from","try_into","type_id","types","unwrapped_as","unwrapped_cast_from","util","vzip","wrapping_as","wrapping_cast_from","zip","AccountBuybackFeesWithMngo","AccountClose","AccountCreate","AccountEdit","AccountExpand","AccountToggleFreeze","AdminPerpWithdrawFees","AdminTokenWithdrawFees","AltExtend","AltSet","Benchmark","ComputeAccountData","FlashLoanBegin","FlashLoanEnd","GroupClose","GroupCreate","GroupEdit","GroupWithdrawInsuranceFund","HealthRegionBegin","HealthRegionEnd","IxGateSet","OpenbookV2CancelOrder","OpenbookV2CloseOpenOrders","OpenbookV2CreateOpenOrders","OpenbookV2DeregisterMarket","OpenbookV2EditMarket","OpenbookV2LiqForceCancelOrders","OpenbookV2PlaceOrder","OpenbookV2PlaceTakeOrder","OpenbookV2RegisterMarket","OpenbookV2SettleFunds","PerpCancelAllOrders","PerpCancelAllOrdersBySide","PerpCancelOrder","PerpCancelOrderByClientOrderId","PerpCloseMarket","PerpConsumeEvents","PerpCreateMarket","PerpDeactivatePosition","PerpEditMarket","PerpForceClosePosition","PerpLiqBaseOrPositivePnl","PerpLiqForceCancelOrders","PerpLiqNegativePnlOrBankruptcy","PerpLiqNegativePnlOrBankruptcyV2","PerpPlaceOrder","PerpSettleFees","PerpSettlePnl","PerpUpdateFunding","Serum3CancelAllOrders","Serum3CancelOrder","Serum3CloseOpenOrders","Serum3CreateOpenOrders","Serum3DeregisterMarket","Serum3EditMarket","Serum3LiqForceCancelOrders","Serum3PlaceOrder","Serum3RegisterMarket","Serum3SettleFunds","Serum3SettleFunds","Serum3SettleFundsV2","Serum3SettleFundsV2Extra","StubOracleClose","StubOracleCreate","StubOracleSet","TokenAddBank","TokenConditionalSwapCancel","TokenConditionalSwapCreate","TokenConditionalSwapTrigger","TokenDeposit","TokenDepositIntoExisting","TokenDeregister","TokenEdit","TokenForceCloseBorrowsWithToken","TokenLiqBankruptcy","TokenLiqWithToken","TokenRegister","TokenRegisterTrustless","TokenUpdateIndexAndRate","TokenWithdraw","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account_a","account_a","account_b","account_b","address_lookup_table","address_lookup_table","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","authority","authority","authority","authority","authority","authority","authority","authority","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","bank","bank","bank","bank","bank","bank","bank","bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_oracle","base_oracle","base_vault","base_vault","base_vault","base_vault","base_vault","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","buy_bank","buy_bank","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","creator","dao_account","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","destination","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","dummy","dust_vault","event_queue","event_queue","event_queue","event_queue","event_queue","event_queue","event_queue","existing_bank","fees_bank","fees_oracle","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","index_reservation","index_reservation","index_reservation","index_reservation","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","instructions","instructions","instructions","insurance_bank","insurance_bank_vault","insurance_mint","insurance_oracle","insurance_vault","insurance_vault","insurance_vault","insurance_vault","insurance_vault","insurance_vault","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","liab_mint_info","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor_authority","liqor_owner","liqor_owner","liqor_owner","liqor_owner","liqor_owner","liqor_owner","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","market","market","market_asks","market_asks","market_asks","market_asks","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_bids","market_bids","market_bids","market_bids","market_event_queue","market_event_queue","market_event_queue","market_event_queue","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_request_queue","market_request_queue","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","mint","mint","mint","mint","mint_info","mint_info","mint_info","mint_info","mint_info","mint_info","mngo_bank","mngo_oracle","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer_bank","payer_bank","payer_bank","payer_oracle","payer_oracle","payer_oracle","payer_vault","payer_vault","payer_vault","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_oracle","quote_oracle","quote_vault","quote_vault","quote_vault","quote_vault","quote_vault","quote_vault","rent","rent","rent","rent","rent","rent","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","sell_bank","sell_bank","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","settle_bank","settle_bank","settle_bank","settle_bank","settle_bank","settle_oracle","settle_oracle","settle_oracle","settle_oracle","settle_oracle","settle_vault","settle_vault","settle_vault","settler","settler_owner","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","token_account","token_account","token_account","token_account","token_account","token_authority","token_authority","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","v1","v2","vault","vault","vault","vault","vault","vault","vault","vault","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","AbortTransaction","AccountBuybackFeesWithMngo","AccountClose","AccountCreate","AccountEdit","AccountExpand","AccountToggleFreeze","AdminPerpWithdrawFees","AdminTokenWithdrawFees","AltExtend","AltSet","Ask","Benchmark","Bid","CancelProvide","ComputeAccountData","DecrementTake","FlashLoanBegin","FlashLoanEnd","FlashLoanType","GroupClose","GroupCreate","GroupEdit","GroupWithdrawInsuranceFund","HealthRegionBegin","HealthRegionEnd","ImmediateOrCancel","InterestRateParams","IxGateSet","Limit","OpenbookV2CancelOrder","OpenbookV2CloseOpenOrders","OpenbookV2CreateOpenOrders","OpenbookV2DeregisterMarket","OpenbookV2EditMarket","OpenbookV2LiqForceCancelOrders","OpenbookV2PlaceOrder","OpenbookV2PlaceTakeOrder","OpenbookV2RegisterMarket","OpenbookV2SettleFunds","PerpCancelAllOrders","PerpCancelAllOrdersBySide","PerpCancelOrder","PerpCancelOrderByClientOrderId","PerpCloseMarket","PerpConsumeEvents","PerpCreateMarket","PerpDeactivatePosition","PerpEditMarket","PerpForceClosePosition","PerpLiqBaseOrPositivePnl","PerpLiqForceCancelOrders","PerpLiqNegativePnlOrBankruptcy","PerpLiqNegativePnlOrBankruptcyV2","PerpPlaceOrder","PerpSettleFees","PerpSettlePnl","PerpUpdateFunding","PostOnly","Serum3CancelAllOrders","Serum3CancelOrder","Serum3CloseOpenOrders","Serum3CreateOpenOrders","Serum3DeregisterMarket","Serum3EditMarket","Serum3LiqForceCancelOrders","Serum3OrderType","Serum3PlaceOrder","Serum3RegisterMarket","Serum3SelfTradeBehavior","Serum3SettleFunds","Serum3SettleFundsV2","Serum3SettleFundsV2Extra","Serum3Side","StubOracleClose","StubOracleCreate","StubOracleSet","Swap","TokenAddBank","TokenConditionalSwapCancel","TokenConditionalSwapCreate","TokenConditionalSwapTrigger","TokenDeposit","TokenDepositIntoExisting","TokenDeregister","TokenEdit","TokenForceCloseBorrowsWithToken","TokenLiqBankruptcy","TokenLiqWithToken","TokenRegister","TokenRegisterTrustless","TokenUpdateIndexAndRate","TokenWithdraw","Unknown","__clone_box","__clone_box","__clone_box","__clone_box","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account_a","account_a","account_b","account_b","address_lookup_table","address_lookup_table","adjustment_factor","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","authority","authority","authority","authority","authority","authority","authority","authority","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","bank","bank","bank","bank","bank","bank","bank","bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_oracle","base_oracle","base_vault","base_vault","base_vault","base_vault","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","buy_bank","buy_bank","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","compute_budget","creator","dao_account","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deserialize","deserialize","deserialize","deserialize","deserialize","destination","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","dummy","dust_vault","eq","event_queue","event_queue","event_queue","event_queue","event_queue","event_queue","event_queue","existing_bank","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","fees_bank","fees_oracle","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","index_reservation","index_reservation","index_reservation","index_reservation","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","instructions","instructions","instructions","insurance_bank","insurance_bank_vault","insurance_mint","insurance_oracle","insurance_vault","insurance_vault","insurance_vault","insurance_vault","insurance_vault","insurance_vault","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","jupiter_mainnet_3","jupiter_mainnet_4","liab_mint_info","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor_authority","liqor_owner","liqor_owner","liqor_owner","liqor_owner","liqor_owner","liqor_owner","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","market","market","market_asks","market_asks","market_asks","market_asks","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_bids","market_bids","market_bids","market_bids","market_event_queue","market_event_queue","market_event_queue","market_event_queue","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_request_queue","market_request_queue","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","max_rate","mint","mint","mint","mint","mint_info","mint_info","mint_info","mint_info","mint_info","mint_info","mngo_bank","mngo_oracle","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer_bank","payer_bank","payer_bank","payer_oracle","payer_oracle","payer_oracle","payer_vault","payer_vault","payer_vault","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_oracle","quote_oracle","quote_vault","quote_vault","quote_vault","quote_vault","quote_vault","rate0","rate1","rent","rent","rent","rent","rent","rent","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","sell_bank","sell_bank","serialize","serialize","serialize","serialize","serialize","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","settle_bank","settle_bank","settle_bank","settle_bank","settle_bank","settle_oracle","settle_oracle","settle_oracle","settle_oracle","settle_oracle","settle_vault","settle_vault","settle_vault","settler","settler_owner","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_owned","to_owned","to_owned","to_owned","token_account","token_account","token_account","token_account","token_account","token_authority","token_authority","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","transfer_ctx","transfer_ctx","transfer_ctx","transfer_ctx","transfer_ctx","transfer_ctx","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from_primitive","try_from_primitive","try_from_primitive","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","util0","util1","v1","v2","vault","vault","vault","vault","vault","vault","vault","vault","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","ID","check_id","id","ID","check_id","id","ID","check_id","id","AccountInfoRef","AccountInfoRefMut","AccountReader","KeyedAccount","KeyedAccountReader","KeyedAccountSharedData","LoadMutZeroCopy","LoadMutZeroCopyRef","LoadZeroCopy","LoadZeroCopyRef","__clone_box","__clone_box","account","az","az","az","az","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_slice","borrow_slice","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone_into","clone_into","data","data","data","data","data","data","data","data","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","drop","drop","drop","drop","from","from","from","from","init","init","init","init","into","into","into","into","key","key","key","key","key","key","key","key","key","load","load","load","load","load","load","load_fully_unchecked","load_fully_unchecked","load_fully_unchecked","load_fully_unchecked","load_fully_unchecked","load_fully_unchecked","load_mut","load_mut","load_mut","load_mut_fully_unchecked","load_mut_fully_unchecked","load_mut_fully_unchecked","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","new","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","owner","owner","owner","owner","owner","owner","owner","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","addresses","contains","cpi_extend","AccountIsFrozen","BankBorrowLimitReached","BankNetBorrowsLimitReached","BeingLiquidated","CannotSettleWithSelf","Contextable","DepositLimit","DepositsIntoLiquidatingMustRecover","GroupIsHalted","HasLiquidatablePerpBasePosition","HasLiquidatablePositivePerpPnl","HasLiquidatableTokenPosition","HasOpenOrUnsettledSerum3Orders","HasOpenPerpOrders","HasOpenPerpTakerFills","HealthMustBeNegative","HealthMustBePositive","HealthMustBePositiveOrIncrease","HealthRegionBadInnerInstruction","InitAssetWeightCantBeNegative","InsufficentBankVaultFunds","InvalidBank","InvalidFlashLoanTargetCpiProgram","InvalidHealthAccountCount","IsAnchorErrorWithCode","IsBankrupt","IsNotBankrupt","IxIsDisabled","MangoError","MarketInReduceOnlyMode","MathError","MaxSettleAmountMustBeGreaterThanZero","NoFreePerpPositionIndex","NoFreeSerum3OpenOrdersIndex","NoFreeTokenPositionIndex","NoLiquidatablePerpBasePosition","NotImplementedError","OracleConfidence","OracleStale","PerpHasBaseLots","PerpOrderIdNotFound","PerpPositionDoesNotExist","ProfitabilityMismatch","Serum3OpenOrdersExistAlready","SettlementAmountMustBePositive","SomeError","TokenConditionalSwapPriceNotInRange","TokenInForceClose","TokenInReduceOnlyMode","TokenPositionDoesNotExist","UnexpectedOracle","UnknownOracleType","WouldSelfTrade","__clone_box","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","clone","clone_into","context","deref","deref_mut","deref_or_borrow","deref_or_borrow_mut","drop","error_code","error_msg","error_msg_typed","fmt","fmt","from","init","into","is_anchor_error_with_code","is_oracle_error","lossless_try_into","lossless_try_into","lossy_into","lossy_into","name","overflowing_as","overflowing_cast_from","require_msg","require_msg_typed","saturating_as","saturating_cast_from","to_owned","to_string","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","vzip","with_context","wrapping_as","wrapping_cast_from","Equity","MangoAccountData","PerpEquity","TokenEquity","az","az","az","az","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","data","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","equity","fmt","fmt","fmt","from","from","from","from","health_cache","init","init","init","init","init_health","into","into","into","into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","maint_health","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","perp_market_index","perps","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","serialize","serialize","serialize","serialize","token_index","tokens","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","value","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","AccountRetriever","FixedOrderAccountRetriever","HealthCache","HealthType","Init","LiquidationEnd","Maint","PerpInfo","Prices","ScannedBanksAndOracles","ScanningAccountRetriever","Serum3Info","TokenBalance","TokenInfo","TokenMaxReserved","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","adjust_serum3_reserved","adjust_token_balance","ais","asks_base_lots","asset","asset_weighted_price","assets_and_liabs","az","az","az","az","az","az","az","az","az","az","az","balance_spot","bank_and_oracle","bank_and_oracle","bank_and_oracle","banks_mut_and_oracles","banks_mut_and_oracles","base_info_index","base_lot_size","base_lots","base_prices","begin_perp","begin_serum3","bids_base_lots","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","compute_health","compute_health_from_fixed_accounts","default","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","effective_token_balances","eq","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","has_liq_spot_assets","has_liq_spot_borrows","has_open_fills","has_open_orders","has_perp_base_positions","has_perp_negative_pnl_no_base","has_perp_open_fills","has_perp_open_orders","has_perp_positive_pnl_no_base","has_phase1_liquidatable","has_phase2_liquidatable","has_phase3_liquidatable","has_possible_spot_liquidations","has_serum3_open_orders_funds","has_zero_funds","health","health_assets_and_liabs_stable_assets","health_assets_and_liabs_stable_liabs","health_contribution","health_ratio","health_unsettled_pnl","in_phase1_liquidation","in_phase2_liquidation","in_phase3_liquidation","init","init","init","init","init","init","init","init","init","init","init","init_asset_weight","init_base_asset_weight","init_base_liab_weight","init_liab_weight","init_overall_asset_weight","init_scaled_asset_weight","init_scaled_liab_weight","into","into","into","into","into","into","into","into","into","into","into","into_banks_and_oracles","is_liquidatable","leverage","liab","liab_weighted_price","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","maint_asset_weight","maint_base_asset_weight","maint_base_liab_weight","maint_liab_weight","maint_overall_asset_weight","market_index","max_borrow_for_health_ratio","max_perp_for_health_ratio","max_serum_reserved","max_swap_source_for_health","max_swap_source_for_health_fn","max_swap_source_for_health_ratio","n_banks","n_perps","new","new_fixed_order_account_retriever","new_health_cache","new_health_cache_skipping_bad_oracles","new_single_price","new_with_staleness","oracle","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","perp_info","perp_market_and_oracle_price","perp_market_and_oracle_price","perp_market_and_oracle_price","perp_market_index","perp_max_settle","prices","quote","quote_info_index","recompute_perp_info","require_after_phase1_liquidation","require_after_phase2_liquidation","reserved_base","reserved_quote","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","scanned_bank_and_oracle","scanned_bank_and_oracle","scanned_perp_market_and_oracle","scanned_serum_oo","serialize","serialize","serialize","serialize","serialize","serialize","serum_oo","serum_oo","serum_oo","settle_token_index","spot_amount_given_for_health_zero","spot_amount_taken_for_health_zero","spot_and_perp","stable","staleness_slot","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","token_index","token_info","token_info_index","total_serum3_potential","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unweighted_health_unsettled_pnl","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","ClampToInt","LowPrecisionDivision","checked_div_30bit_precision","checked_div_f64_precision","clamp_to_i64","clamp_to_u64","AccountBuybackFeesWithMngo","AccountClose","AccountCreate","AccountEdit","AccountExpand","AccountExpandV2","AccountToggleFreeze","AdminPerpWithdrawFees","AdminTokenWithdrawFees","AltExtend","AltSet","Benchmark","ComputeAccountData","FlashLoanBegin","FlashLoanEnd","FlashLoanEndV2","GroupClose","GroupCreate","GroupEdit","GroupWithdrawInsuranceFund","HealthRegionBegin","HealthRegionEnd","IxGateSet","LiqTokenBankruptcy","LiqTokenWithToken","OpenbookV2CancelAllOrders","OpenbookV2CancelOrder","OpenbookV2CloseOpenOrders","OpenbookV2CreateOpenOrders","OpenbookV2DeregisterMarket","OpenbookV2EditMarket","OpenbookV2LiqForceCancelOrders","OpenbookV2PlaceOrder","OpenbookV2PlaceTakerOrder","OpenbookV2RegisterMarket","OpenbookV2SettleFunds","PerpCancelAllOrders","PerpCancelAllOrdersBySide","PerpCancelOrder","PerpCancelOrderByClientOrderId","PerpCloseMarket","PerpConsumeEvents","PerpCreateMarket","PerpDeactivatePosition","PerpEditMarket","PerpForceClosePosition","PerpLiqBaseOrPositivePnl","PerpLiqForceCancelOrders","PerpLiqNegativePnlOrBankruptcy","PerpLiqNegativePnlOrBankruptcyV2","PerpPlaceOrder","PerpPlaceOrderPegged","PerpPlaceOrderPeggedV2","PerpPlaceOrderV2","PerpSettleFees","PerpSettlePnl","PerpUpdateFunding","Serum3CancelAllOrders","Serum3CancelOrder","Serum3CloseOpenOrders","Serum3CreateOpenOrders","Serum3DeregisterMarket","Serum3EditMarket","Serum3LiqForceCancelOrders","Serum3PlaceOrder","Serum3RegisterMarket","Serum3SettleFunds","Serum3SettleFundsV2","StubOracleClose","StubOracleCreate","StubOracleSet","StubOracleSetTest","TokenAddBank","TokenConditionalSwapCancel","TokenConditionalSwapCreate","TokenConditionalSwapCreateV2","TokenConditionalSwapTrigger","TokenDeposit","TokenDepositIntoExisting","TokenDeregister","TokenEdit","TokenForceCloseBorrowsWithToken","TokenLiqBankruptcy","TokenLiqWithToken","TokenRegister","TokenRegisterTrustless","TokenUpdateIndexAndRate","TokenWithdraw","account_num","account_num","admin_opt","allow_borrow","allow_creating_borrows","allow_creating_borrows","allow_creating_deposits","allow_creating_deposits","amount","amount","amount","amount","asset_token_index","asset_token_index","asset_token_index","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","bank_num","base_decimals","base_decimals_opt","base_liquidation_fee","base_liquidation_fee_opt","base_lot_size","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_weight_scale_start_quote","borrow_weight_scale_start_quote_opt","buyback_fees_bonus_factor_opt","buyback_fees_expiry_interval_opt","buyback_fees_opt","buyback_fees_swap_mango_account_opt","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","client_order_id","client_order_id","client_order_id","client_order_id","client_order_id","client_order_id","client_order_id","client_order_id","delegate_opt","deposit_limit_quote_opt","deposit_weight_scale_start_quote","deposit_weight_scale_start_quote_opt","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deviation","display_price_style","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","expiry_timestamp","expiry_timestamp","expiry_timestamp","expiry_timestamp","expiry_timestamp","expiry_timestamp","fast_listing_admin_opt","fee_penalty","fee_penalty_opt","fees_to_dao","fees_to_dao","flash_loan_swap_fee_rate","flash_loan_swap_fee_rate_opt","flash_loan_type","flash_loan_type","force_close","force_close_opt","force_close_opt","force_close_opt","force_close_opt","freeze","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","group_insurance_fund","group_insurance_fund_opt","group_insurance_fund_opt","group_num","impact_quantity","impact_quantity_opt","index","index","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init_asset_weight","init_asset_weight_opt","init_base_asset_weight","init_base_asset_weight_opt","init_base_liab_weight","init_base_liab_weight_opt","init_liab_weight","init_liab_weight_opt","init_overall_asset_weight","init_overall_asset_weight_opt","intention","interest_rate_params","interest_rate_params_opt","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","ix_gate","last_update_slot","liab_token_index","liab_token_index","liab_token_index","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit_price","limit_price","limit_price","liquidation_fee","liquidation_fee_opt","loan_amounts","loan_fee_rate","loan_fee_rate_opt","loan_origination_fee_rate","loan_origination_fee_rate_opt","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","maint_asset_weight","maint_asset_weight_opt","maint_base_asset_weight","maint_base_asset_weight_opt","maint_base_liab_weight","maint_base_liab_weight_opt","maint_liab_weight","maint_liab_weight_opt","maint_overall_asset_weight","maint_overall_asset_weight_opt","maker_fee","maker_fee_opt","market_index","market_index","max_base_lots","max_base_lots","max_base_lots","max_base_lots","max_base_qty","max_base_qty","max_base_qty","max_base_transfer","max_buy","max_buy","max_buy_token_to_liqee","max_buyback_usd","max_funding","max_funding_opt","max_liab_transfer","max_liab_transfer","max_liab_transfer","max_liab_transfer","max_liab_transfer","max_liab_transfer","max_liab_transfer","max_native_quote_qty_including_fees","max_native_quote_qty_including_fees","max_native_quote_qty_including_fees","max_oracle_staleness_slots","max_oracle_staleness_slots","max_pnl_transfer","max_quote_lots","max_quote_lots","max_quote_lots","max_quote_lots","max_sell","max_sell","max_sell_token_to_liqor","max_settle_amount","min_funding","min_funding_opt","min_vault_to_deposits_ratio","min_vault_to_deposits_ratio_opt","mngo_token_index_opt","name","name","name","name","name","name","name_opt","name_opt","name_opt","name_opt","net_borrow_limit_per_window_quote","net_borrow_limit_per_window_quote_opt","net_borrow_limit_window_size_ts","net_borrow_limit_window_size_ts_opt","new_addresses","num_loans","oracle_config","oracle_config","oracle_config_opt","oracle_config_opt","oracle_opt","oracle_opt","order_id","order_id","order_id","order_type","order_type","order_type","order_type","order_type","order_type","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","peg_limit","peg_limit","perp_count","perp_count","perp_count","perp_market_index","perp_oo_count","perp_oo_count","perp_oo_count","positive_pnl_liquidation_fee","positive_pnl_liquidation_fee_opt","price","price","price","price_lots","price_lots","price_lower_limit","price_lower_limit","price_offset_lots","price_offset_lots","price_premium_rate","price_premium_rate","price_upper_limit","price_upper_limit","quote_lot_size","reduce_only","reduce_only","reduce_only","reduce_only","reduce_only","reduce_only","reduce_only","reduce_only_opt","reduce_only_opt","reduce_only_opt","reduce_only_opt","reset_net_borrow_limit","reset_stable_price","reset_stable_price","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","security_admin_opt","self_trade_behavior","self_trade_behavior","self_trade_behavior","self_trade_behavior","self_trade_behavior","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serum3_count","serum3_count","serum3_count","settle_fee_amount_threshold","settle_fee_amount_threshold_opt","settle_fee_flat","settle_fee_flat_opt","settle_fee_fraction_low_health","settle_fee_fraction_low_health_opt","settle_pnl_limit_factor","settle_pnl_limit_factor_opt","settle_pnl_limit_window_size_ts","settle_pnl_limit_window_size_ts_opt","settle_token_index","side","side","side","side","side","side","side","side","side","side_option","stable_price_delay_growth_limit","stable_price_delay_growth_limit_opt","stable_price_delay_growth_limit_opt","stable_price_delay_interval_seconds","stable_price_delay_interval_seconds_opt","stable_price_delay_interval_seconds_opt","stable_price_growth_limit","stable_price_growth_limit_opt","stable_price_growth_limit_opt","taker_fee","taker_fee_opt","temporary_delegate_expiry_opt","temporary_delegate_opt","testing","testing_opt","token_conditional_swap_count","token_conditional_swap_id","token_conditional_swap_id","token_conditional_swap_index","token_conditional_swap_index","token_conditional_swap_maker_fee_rate","token_conditional_swap_maker_fee_rate_opt","token_conditional_swap_taker_fee_rate","token_conditional_swap_taker_fee_rate_opt","token_count","token_count","token_count","token_index","token_index","token_index","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","version","version_opt","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","AccountBuybackFeesWithMngoLog","DeactivatePerpPositionLog","DeactivateTokenPositionLog","DepositLog","FillLog","FillLogV2","FillLogV3","FilledPerpOrderLog","FlashLoanLog","FlashLoanLogV2","FlashLoanTokenDetail","FlashLoanTokenDetailV2","LiqTokenBankruptcy","LiqTokenWithToken","LoanOriginationFeeInstruction","PerpBalanceLog","PerpForceClosePositionLog","PerpLiqBankruptcyLog","PerpLiqBaseOrPositivePnlLog","PerpLiqNegativePnlOrBankruptcyLog","PerpMarketMetaDataLog","PerpSettleFeesLog","PerpSettlePnlLog","PerpTakerTradeLog","PerpUpdateFundingLog","PerpUpdateFundingLogV2","Serum3LiqForceCancelOrders","Serum3OpenOrdersBalanceLog","Serum3OpenOrdersBalanceLogV2","Serum3PlaceOrder","Serum3RegisterMarketLog","Serum3SettleFunds","TokenBalanceLog","TokenConditionalSwapCancelLog","TokenConditionalSwapCreateLog","TokenConditionalSwapCreateLogV2","TokenConditionalSwapTrigger","TokenConditionalSwapTriggerLog","TokenConditionalSwapTriggerLogV2","TokenForceCloseBorrowsWithTokenLog","TokenLiqBankruptcyLog","TokenLiqWithTokenLog","TokenMetaDataLog","TokenWithdraw","Unknown","UpdateIndexLog","UpdateRateLog","WithdrawLoanLog","WithdrawLoanOriginationFeeLog","WithdrawLog","__clone_box","account_a","account_b","allow_creating_borrows","allow_creating_borrows","allow_creating_deposits","allow_creating_deposits","asset_price","asset_price","asset_token_index","asset_token_index","asset_transfer","asset_transfer","avg_utilization","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","bankruptcy","base_decimals","base_free","base_free","base_lot_size","base_position","base_token_index","base_token_index","base_token_index","base_total","base_total","base_transfer","base_transfer","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_index","borrow_index","borrow_index","borrow_index","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_rate","buy_amount","buy_amount","buy_token_index","buy_token_index","buy_token_index","buy_token_index","buy_token_price","buy_token_price","buyback_fees","buyback_mngo","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","change_amount","change_amount","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone_into","closed","closed","collected_fees","cumulative_borrow_interest","cumulative_deposit_interest","cumulative_long_funding","cumulative_short_funding","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","deposit_index","deposit_index","deposit_index","deposit_index","deposit_rate","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","display_price_style","display_price_style","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","emit_perp_balances","ending_liab_deposit_index","ending_long_funding","ending_short_funding","eq","expiry_timestamp","expiry_timestamp","fee","fee_factor","fee_penalty","fees_accrued","fees_accrued","fees_settled","fees_settled","flash_loan_type","flash_loan_type","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","id","id","id","indexed_position","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","initial_liab_native","instantaneous_funding_rate","instantaneous_funding_rate","instruction","instruction","insurance_token_index","insurance_transfer","insurance_transfer","intention","intention","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","liab_price","liab_price","liab_price","liab_token_index","liab_token_index","liab_token_index","liab_transfer","liab_transfer","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor","loan","loan","loan_amount","loan_fee_rate","loan_origination_fee","loan_origination_fee","loan_origination_fee","loan_origination_fee","long_funding","long_funding","long_funding","long_settled_funding","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","maker","maker","maker","maker_client_order_id","maker_client_order_id","maker_closed_pnl","maker_fee","maker_fee","maker_fee","maker_fee","maker_fee","maker_fee_rate","maker_fee_rate","maker_order_id","maker_out","maker_out","maker_out","maker_slot","maker_slot","maker_slot","maker_timestamp","maker_timestamp","maker_timestamp","maker_volume","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account_a","mango_account_b","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","market_index","market_index","market_index","market_index","market_index","market_index","market_index","market_index","market_index","max_buy","max_buy","max_rate","max_sell","max_sell","mint","mint_decimals","mint_info","mngo_buyback_price","open_interest","open_interest","oracle","oracle","oracle_confidence","oracle_price","oracle_slot","oracle_slot","oracle_type","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","perp_market","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_spot_transfers","pnl_settle_limit_transfer","pnl_transfer","price","price","price","price","price","price","price","price","price","price","price","price","price","price_lower_limit","price_lower_limit","price_premium_rate","price_premium_rate","price_upper_limit","price_upper_limit","quantity","quantity","quantity","quantity","quantity","quote_free","quote_free","quote_lot_size","quote_position","quote_token_index","quote_token_index","quote_token_index","quote_total","quote_total","quote_transfer","quote_transfer","rate0","rate1","referrer_rebates_accrued","referrer_rebates_accrued","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","sell_amount","sell_amount","sell_token_index","sell_token_index","sell_token_index","sell_token_index","sell_token_price","sell_token_price","seq_num","seq_num","seq_num","seq_num","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serum_market","serum_program","serum_program_external","settlement","settlement","settlement","settler","short_funding","short_funding","short_funding","short_settled_funding","signer","signer","socialized_loss","socialized_loss","stable_price","stable_price","stable_price","starting_liab_deposit_index","starting_long_funding","starting_short_funding","swap_fee","taker","taker","taker","taker_client_order_id","taker_client_order_id","taker_client_order_id","taker_closed_pnl","taker_fee","taker_fee","taker_fee","taker_fee","taker_fee","taker_fee_rate","taker_fee_rate","taker_fees_paid","taker_order_id","taker_side","taker_side","taker_side","taker_side","taker_volume","timestamp","timestamp","timestamp","to_owned","token_conditional_swap_id","token_conditional_swap_id","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_loan_details","token_loan_details","total_base_lots_decremented","total_base_lots_taken","total_borrows","total_deposits","total_quote_lots_decremented","total_quote_lots_taken","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","account_buyback_fees_with_mngo","account_close","account_create","account_edit","account_expand","account_expand_v2","account_toggle_freeze","admin_perp_withdraw_fees","admin_token_withdraw_fees","alt_extend","alt_set","benchmark","compute_account_data","flash_loan_begin","flash_loan_end","flash_loan_end_v2","group_close","group_create","group_edit","group_withdraw_insurance_fund","health_region_begin","health_region_end","ix_gate_set","liq_token_bankruptcy","liq_token_with_token","openbook_v2_cancel_all_orders","openbook_v2_cancel_order","openbook_v2_close_open_orders","openbook_v2_create_open_orders","openbook_v2_deregister_market","openbook_v2_edit_market","openbook_v2_liq_force_cancel_orders","openbook_v2_place_order","openbook_v2_place_taker_order","openbook_v2_register_market","openbook_v2_settle_funds","perp_cancel_all_orders","perp_cancel_all_orders_by_side","perp_cancel_order","perp_cancel_order_by_client_order_id","perp_close_market","perp_consume_events","perp_create_market","perp_deactivate_position","perp_edit_market","perp_force_close_position","perp_liq_base_or_positive_pnl","perp_liq_force_cancel_orders","perp_liq_negative_pnl_or_bankruptcy","perp_liq_negative_pnl_or_bankruptcy_v2","perp_place_order","perp_place_order_pegged","perp_place_order_pegged_v2","perp_place_order_v2","perp_settle_fees","perp_settle_pnl","perp_update_funding","serum3_cancel_all_orders","serum3_cancel_order","serum3_close_open_orders","serum3_create_open_orders","serum3_deregister_market","serum3_edit_market","serum3_liq_force_cancel_orders","serum3_place_order","serum3_register_market","serum3_settle_funds","serum3_settle_funds_v2","stub_oracle_close","stub_oracle_create","stub_oracle_set","stub_oracle_set_test","token_add_bank","token_conditional_swap_cancel","token_conditional_swap_create","token_conditional_swap_create_v2","token_conditional_swap_trigger","token_deposit","token_deposit_into_existing","token_deregister","token_edit","token_force_close_borrows_with_token","token_liq_bankruptcy","token_liq_with_token","token_register","token_register_trustless","token_update_index_and_rate","token_withdraw","MangoV4","__clone_box","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","clone","clone_into","deref","deref_mut","deref_or_borrow","deref_or_borrow_mut","drop","from","id","init","into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","overflowing_as","overflowing_cast_from","saturating_as","saturating_cast_from","to_owned","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","vzip","wrapping_as","wrapping_cast_from","CancelOrder","CloseOpenOrders","InitOpenOrders","OrderBookStateHeader","PlaceOrder","SettleFunds","__clone_box","account_flags","asks","asks","az","az","az","az","az","az","base_vault","base_vault","bids","bids","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","call","call","call","call","cancel_all","cancel_one","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone_into","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","drop","drop","drop","drop","drop","drop","event_queue","event_queue","from","from","from","from","from","from","init","init","init","init","init","init","into","into","into","into","into","into","is_valid_bit_pattern","load_asks_mut","load_bids_mut","load_market_state","load_open_orders","load_open_orders_bytes","load_open_orders_ref","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","market","market","market","market","market","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders_authority","open_orders_authority","open_orders_authority","open_orders_authority","order_payer_token_account","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","program","program","program","program","program","pubkey_from_u64_array","quote_vault","quote_vault","rebates_quote_wallet","remove_slop_mut","rent","request_queue","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","sol_destination","to_owned","token_program","token_program","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","user_authority","user_base_wallet","user_quote_wallet","vault_signer","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","AbortTransaction","AccountBuybackFeesWithMngo","AccountClose","AccountCreate","AccountEdit","AccountExpand","AccountToggleFreeze","AdminPerpWithdrawFees","AdminTokenWithdrawFees","AltExtend","AltSet","AnyEvent","AnyNode","Ask","AskFixed","AskOraclePegged","Asks","Bank","BecameNotLiquidatable","Bid","BidFixed","BidOraclePegged","Bids","BookSide","BookSideIter","BookSideIterItem","BookSideOrderHandle","BookSideOrderTree","BuyTokenPerSellToken","CancelProvide","CheckLiquidatable","DAY","DAY_I80F48","DecrementTake","DerefOrBorrow","DerefOrBorrowMut","DynamicAccount","DynamicHeader","EventQueue","EventQueueHeader","EventType","FEE_BUYBACK_QUOTE_TOKEN_INDEX","FREE_ORDER_SLOT","Fill","FillEvent","Fixed","Fixed","FlashLoan","FreeNode","FreeNode","Group","GroupClose","GroupCreate","GroupWithdrawInsuranceFund","HOUR","HealthRegion","INSURANCE_TOKEN_INDEX","ImmediateOrCancel","ImmediateOrCancel","InnerNode","InnerNode","Invalid","Item","IxGate","LastFreeNode","LeafNode","LeafNode","Limit","Limit","Liquidatable","Liquidate","MAX_BANKS","MAX_NUM_EVENTS","MAX_ORDERTREE_NODES","MINIMUM_MAX_RATE","MangoAccount","MangoAccountDynamicHeader","MangoAccountFixed","MangoAccountLoadedRef","MangoAccountLoadedRefCell","MangoAccountLoadedRefCellMut","MangoAccountLoader","MangoAccountRef","MangoAccountRefMut","MangoAccountValue","Market","Market","MintInfo","NodeHandle","NodeTag","NotLiquidatable","ONE_BPS","OpenbookV2CancelOrder","OpenbookV2CloseOpenOrders","OpenbookV2CreateOpenOrders","OpenbookV2DeregisterMarket","OpenbookV2EditMarket","OpenbookV2LiqForceCancelOrders","OpenbookV2Market","OpenbookV2MarketIndex","OpenbookV2MarketIndexReservation","OpenbookV2PlaceOrder","OpenbookV2PlaceTakeOrder","OpenbookV2RegisterMarket","OpenbookV2SettleFunds","OracleConfig","OracleConfigParams","OraclePegged","OraclePegged","OracleState","OracleType","Order","OrderParams","OrderState","OrderTreeIter","OrderTreeNodes","OrderTreeRoot","OrderTreeType","Orderbook","Out","OutEvent","PERP_SETTLE_TOKEN_INDEX","PerpCancelAllOrders","PerpCancelAllOrdersBySide","PerpCancelOrder","PerpCancelOrderByClientOrderId","PerpCloseMarket","PerpConsumeEvents","PerpCreateMarket","PerpDeactivatePosition","PerpForceClosePosition","PerpLiqBaseOrPositivePnl","PerpLiqForceCancelOrders","PerpLiqNegativePnlOrBankruptcy","PerpMarket","PerpMarketIndex","PerpOpenOrder","PerpPlaceOrder","PerpPosition","PerpSettleFees","PerpSettlePnl","PerpUpdateFunding","PlaceOrderType","PostOnly","PostOnly","PostOnlySlide","PostOnlySlide","PostOrderType","Pyth","QUOTE_DECIMALS","QUOTE_NATIVE_TO_UI","QUOTE_TOKEN_INDEX","QueueHeader","SelfTradeBehavior","SellTokenPerBuyToken","Serum3CancelAllOrders","Serum3CancelOrder","Serum3CloseOpenOrders","Serum3CreateOpenOrders","Serum3DeregisterMarket","Serum3EditMarket","Serum3LiqForceCancelOrders","Serum3Market","Serum3MarketIndex","Serum3MarketIndexReservation","Serum3Orders","Serum3PlaceOrder","Serum3RegisterMarket","Serum3SettleFunds","Side","SideAndOrderTree","Skipped","StablePriceModel","StopLoss","Stub","StubOracle","StubOracleClose","StubOracleCreate","StubOracleSet","SwitchboardV1","SwitchboardV2","TakeProfit","TokenAddBank","TokenConditionalSwap","TokenConditionalSwapCancel","TokenConditionalSwapCreate","TokenConditionalSwapDisplayPriceStyle","TokenConditionalSwapIntention","TokenConditionalSwapTrigger","TokenDeposit","TokenDeregister","TokenForceCloseBorrowsWithToken","TokenIndex","TokenLiqBankruptcy","TokenLiqWithToken","TokenPosition","TokenRegister","TokenRegisterTrustless","TokenUpdateIndexAndRate","TokenWithdraw","Uninitialized","Unknown","Valid","WithdrawResult","YEAR_I80F48","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","account_num","account_num","account_seeds","account_seeds","accrue_buyback_fees","active_perp_positions","active_serum3_orders","active_token_conditional_swaps","active_token_positions","add_perp_order","add_taker_trade","address_lookup_tables","adjustment_factor","admin","all_perp_orders","all_perp_positions","all_serum3_orders","all_token_conditional_swaps","all_token_positions","allow_creating_borrows","allow_creating_borrows","allow_creating_deposits","allow_creating_deposits","apply_pnl_settle_limit","are_borrows_reduce_only","are_deposits_reduce_only","as_inner","as_inner_mut","as_leaf","as_leaf_mut","as_ref","as_ref","asks","asks","asks_base_lots","available_settle_limit","avg_entry_price","avg_entry_price_per_base_lot","avg_utilization","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","bank_num","bank_rate_last_updated","bank_seeds","bank_seeds","banks","banks","base_borrows_without_fee","base_decimals","base_liquidation_fee","base_lot_size","base_position_lots","base_position_lots","base_position_native","base_quote_change","base_token_index","base_token_index","base_token_index","being_liquidated","being_liquidated","being_liquidated","best_price","bids","bids","bids_base_lots","blocked1","bookside","bookside_mut","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_index","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_weight_scale_start_quote","bought","break_even_price","buf","bump","bump","bump","bump","bump","bump","bump","bump_index","buy_token_index","buyback_fees","buyback_fees","buyback_fees_accrued","buyback_fees_accrued_current","buyback_fees_accrued_current","buyback_fees_accrued_previous","buyback_fees_accrued_previous","buyback_fees_expiry_interval","buyback_fees_expiry_timestamp","buyback_fees_expiry_timestamp","buyback_fees_mngo_bonus_factor","buyback_fees_swap_mango_account","cancel_all_orders","cancel_order","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","change_with_fee","change_without_fee","check_confidence","check_confidence_and_maybe_staleness","check_health_post","check_health_post_checks","check_health_pre","check_health_pre_checks","check_liquidatable","check_net_borrows","check_staleness","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","child_earliest_expiry","children","client_id","client_order_id","client_order_id","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","collected_fees_native","compute_equity","compute_index","compute_interest_rate","compute_new_avg_utilization","compute_rates","compute_settle_fee","conf_filter","conf_filter","count","count","create_serum3_orders","creator","cumulative_borrow_interest","cumulative_deposit_interest","cumulative_long_funding","cumulative_short_funding","data","deactivate_perp_position","deactivate_perp_position_and_log","deactivate_serum3_orders","deactivate_token_position","deactivate_token_position_and_log","decr_event_id","decr_event_id","decrement_in_use","default","default","default","default","default","default","default","default_for_tests","default_for_tests","delay_accumulator_price","delay_accumulator_time","delay_growth_limit","delay_interval_index","delay_interval_seconds","delay_prices","delegate","delegate","deposit","deposit_index","deposit_internal","deposit_internal_wrapper","deposit_limit_quote","deposit_weight_scale_start_quote","deposit_with_dusting","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","determine_oracle_type","deviation","deviation","display_price_style","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","dust","dust_if_possible","dynamic","dynamic_perp_oo_vec_offset","dynamic_perp_vec_offset","dynamic_serum3_vec_offset","dynamic_size","dynamic_token_conditional_swap_vec_offset","dynamic_token_vec_offset","earliest_expiry","earliest_expiry","effective_base_position_lots","elligible_for_group_insurance_fund","elligible_for_group_insurance_fund","enforce_min_vault_to_deposits_ratio","ensure_perp_position","ensure_token_position","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","event_queue","event_type","event_type","event_type","execute_perp_maker","execute_perp_taker","expand_dynamic_content","expire_buyback_fees","expiry","expiry_timestamp","fast_listing_admin","fee_penalty","fees_accrued","fees_settled","fees_withdrawn","fees_withdrawn","find_earliest_expiry","find_worst","first_bank","first_vault","fixed","fixed_price_data","fixed_price_lots","flash_loan_approved_amount","flash_loan_swap_fee_rate","flash_loan_token_account_initial","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","force_close","force_close","force_close","force_close","free_list_head","free_list_len","free_token_conditional_swap_mut","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_bytes","from_bytes","from_bytes","from_bytes","from_bytes","from_bytes","from_existing_bank","frozen_until","frozen_until","full","funding_last_updated","gen_order_id","group","group","group","group","group","group","group","group","group","group","group_insurance_fund","group_insurance_fund","group_num","group_seeds","group_seeds","handle","has_data","has_data","has_loan","has_open_orders","has_open_orders_or_fills","has_open_taker_fills","head","head","header","header","header_version","header_version","health_region_begin_init_health","health_region_begin_init_health","id","id","impact_price","impact_quantity","in_health_region","in_use_count","incr_event_id","incr_event_id","increment_in_use","index_last_updated","indexed_borrows","indexed_deposits","indexed_position","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init_asset_weight","init_base_asset_weight","init_base_liab_weight","init_liab_weight","init_overall_asset_weight","initialize","initialize","insert_leaf","insert_leaf","inside_price_limit","insurance_mint","insurance_vault","intention","interest_rate_curve_calculator","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_iter","into_iter","invert_side","is_active","is_active","is_active","is_active_for_market","is_active_for_market","is_active_for_market","is_active_for_token","is_delegate","is_empty","is_expired","is_expired","is_force_close","is_force_close","is_force_close","is_force_close","is_full","is_full","is_in_health_region","is_in_use","is_ix_enabled","is_operational","is_owner_or_delegate","is_post_only","is_price_better","is_price_data_better","is_price_within_limit","is_reduce_only","is_reduce_only","is_reduce_only","is_testing","is_valid","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","iter","iter","iter_all_including_invalid","iter_valid","ix_gate","key","key","key","last_delay_interval_index","last_net_borrows_window_start_ts","last_update_slot","last_update_slot","last_update_timestamp","last_update_ts","leaf_count","len","liquidation_fee","load_full","load_full_init","load_full_mut","loan_amount","loan_fee_rate","loan_origination_fee","loan_origination_fee_rate","long_funding","long_settled_funding","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lot_to_native_price","maint_asset_weight","maint_base_asset_weight","maint_base_liab_weight","maint_liab_weight","maint_overall_asset_weight","maker","maker_client_order_id","maker_fee","maker_fee","maker_fee","maker_fee_rate","maker_out","maker_out","maker_price","maker_slot","maker_timestamp","maker_volume","market","market_index","market_index","market_index","market_index","market_index","market_index","max_base_lots","max_buy","max_funding","max_leaf","max_quote_lots","max_rate","max_sell","max_staleness_slots","max_staleness_slots","maybe_node","maybe_recover_from_being_liquidated","min_funding","min_leaf","min_vault_to_deposits_ratio","mint","mint","mint","mint_decimals","mngo_token_index","multiple_banks_supported","multiunzip","name","name","name","name","name","name","name","name","name","name","name","native","native_borrows","native_deposits","native_price_to_lot","needs_penalty_fee","net_borrow_limit_per_window_quote","net_borrow_limit_window_size_ts","net_borrows_in_window","net_deposits","net_deposits","new","new","new","new","new","new","new","new_node_key","new_order","next","next","next_token_conditional_swap_id","next_token_conditional_swap_id","node","node","node","node","node","node_mut","node_mut","nodes","nodes","num_banks","open_interest","open_orders","openbook_v2_market_external","openbook_v2_market_seeds","openbook_v2_market_seeds","openbook_v2_program","openbook_v2_supported","oracle","oracle","oracle","oracle_config","oracle_config","oracle_pegged_price_data","oracle_pegged_price_offset","oracle_price","oracle_price","oracle_state","oracle_state_unchecked","oracle_type","order_tree","order_tree","order_tree_type","order_tree_type","order_type","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner_slot","owner_slot","padding","padding","padding","padding","padding","padding","padding","padding","padding","padding","padding","padding","padding","padding1","padding1","padding1","padding1","padding2","padding2","padding2","padding2","padding2","padding3","padding3","padding3","padding4","padding4","padding4","padding5","padding6","padding7","params","peek","peek_front","peek_front_mut","peg_limit","peg_limit","perp_count","perp_count","perp_find_order_with_client_order_id","perp_find_order_with_order_id","perp_market_index","perp_next_order_slot","perp_oo_count","perp_oo_count","perp_open_orders","perp_order_by_raw_index","perp_order_mut_by_raw_index","perp_position","perp_position_by_raw_index","perp_position_mut","perp_position_mut_by_raw_index","perp_spot_transfers","perp_spot_transfers","perp_spot_transfers","perps","perps_supported","pop_front","position_is_active","positive_pnl_liquidation_fee","post_target","power_of_ten","prefix_len","premium_price","previous_index","price","price","price","price","price_data","price_in_range","price_lots","price_lower_limit","price_premium_rate","price_upper_limit","push_back","quantity","quantity","quantity","quantity_at_price","quote_borrows_without_fee","quote_lot_size","quote_position_native","quote_position_native","quote_running_native","quote_token_index","quote_token_index","quote_token_index","rank_orders","rate0","rate1","realized_other_pnl_native","realized_pnl_for_position_native","realized_trade_pnl_native","record_liquidation_pnl_takeover","record_liquidation_quote_change","record_settle","record_trade","record_trading_fee","reduce_buyback_fees_accrued","reduce_only","reduce_only","reduce_only","reduce_only","reduce_only","registration_time","registration_time","registration_time","registration_time","remaining_buy","remaining_sell","remove_by_key","remove_by_key","remove_one_expired","remove_one_expired","remove_perp_order","remove_taker_trade","remove_worst","remove_worst","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved_roots","reset_on_nonzero_price","reset_to_price","revert_pushes","root","root_mut","roots","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","scaled_init_asset_weight","scaled_init_liab_weight","security_admin","self_trade_behavior","sell_token_index","seq_num","seq_num","seq_num","seq_num","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serum3","serum3_count","serum3_count","serum3_offset","serum3_orders","serum3_orders_by_raw_index","serum3_orders_mut","serum3_orders_mut_by_raw_index","serum3_supported","serum_market_external","serum_market_seeds","serum_market_seeds","serum_program","set_being_liquidated","set_count","set_count","set_elligible_for_group_insurance_fund","set_has_data","set_head","set_head","set_in_health_region","settle_fee_amount_threshold","settle_fee_flat","settle_fee_fraction_low_health","settle_funding","settle_limit","settle_pnl_limit_factor","settle_pnl_limit_factor","settle_pnl_limit_realized_trade","settle_pnl_limit_settled_in_current_window_native","settle_pnl_limit_window","settle_pnl_limit_window_size_ts","settle_token_index","short_funding","short_settled_funding","side","side","side","side","side","side","side","side_and_tree","side_and_tree","socialize_loss","sold","space","stable_growth_limit","stable_price","stable_price","stable_price","stable_price_model","stable_price_model","state","switchboard_v1_devnet_oracle","switchboard_v2_mainnet_oracle","tag","tag","tag","taker","taker_base_lots","taker_client_order_id","taker_fee","taker_fee","taker_fee","taker_fee_rate","taker_price","taker_quote_lots","taker_side","taker_side","taker_volume","temporary_delegate","temporary_delegate_expiry","testing","tif_from_expiry","time_in_force","time_in_force","timestamp","timestamp","timestamp","to_oracle_config","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_post_order_type","token_conditional_swap_by_id","token_conditional_swap_by_index","token_conditional_swap_count","token_conditional_swap_count","token_conditional_swap_free_index","token_conditional_swap_maker_fee_rate","token_conditional_swap_mut_by_index","token_conditional_swap_taker_fee_rate","token_count","token_count","token_decrement_dust_deactivate","token_index","token_index","token_index","token_offset","token_position","token_position_and_raw_index","token_position_by_raw_index","token_position_mut","token_position_mut_by_raw_index","tokens","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_serialize","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","ui","unsettled_funding","unsettled_pnl","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","update","update_cumulative_interest","update_funding_and_stable_price","update_net_borrows","update_parent_earliest_expiry","update_settle_limit","util0","util1","vault","vaults","verify","verify_banks_ais","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","withdraw_loan_origination_fee","withdraw_with_fee","withdraw_without_fee","withdraw_without_fee_with_dusting","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","max_oracle_staleness_slots","order_type","order_type","peg_limit","price_lots","price_lots","price_offset_lots","ID","check_id","id","ID","check_id","id","I80F48","PerpMarketIndex","Serum3MarketIndex","TokenIndex","az","az","az","az","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","default","default","default","default","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","from","from","from","from","init","init","init","init","into","into","into","into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","serialize","serialize","serialize","serialize","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","fill_from_str","format_zero_terminated_utf8_bytes"],"q":["mango_v4","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::accounts","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::accounts_ix","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::accounts_ix::compute_budget","","","mango_v4::accounts_ix::jupiter_mainnet_3","","","mango_v4::accounts_ix::jupiter_mainnet_4","","","mango_v4::accounts_zerocopy","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::address_lookup_table_program","","","mango_v4::error","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::events","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::health","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::i80f48","","","","","","mango_v4::instruction","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::logs","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::mango_v4","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::program","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::serum3_cpi","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::state","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::state::OrderParams","","","","","","","mango_v4::state::switchboard_v1_devnet_oracle","","","mango_v4::state::switchboard_v2_mainnet_oracle","","","mango_v4::types","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::util",""],"d":["The static program ID","","","","An Anchor generated module, providing a set of structs …","","","","","","","","","Confirms that a given pubkey is equivalent to the program …","","","","","","","","","","The Anchor codegen exposes a programming model where a …","","Creates an Error with a particular message, using …","Creates an Error with a particular message, using …","","Returns the argument unchanged.","","","","Returns the program ID","","","An Anchor generated module containing the program’s set …","Calls U::from(self).","","","","","","","","","","Module representing the program.","Like anchor’s require!(), but with a customizable message","Like anchor’s require!(), but with a customizable …","","","","","","","","","","","","","","","","","","Generated client accounts for AccountBuybackFeesWithMngo.","Generated client accounts for AccountClose.","Generated client accounts for AccountCreate.","Generated client accounts for AccountEdit.","Generated client accounts for AccountExpand.","Generated client accounts for AccountToggleFreeze.","Generated client accounts for AdminPerpWithdrawFees.","Generated client accounts for AdminTokenWithdrawFees.","Generated client accounts for AltExtend.","Generated client accounts for AltSet.","Generated client accounts for Benchmark.","Generated client accounts for ComputeAccountData.","Generated client accounts for FlashLoanBegin.","Generated client accounts for FlashLoanEnd.","Generated client accounts for GroupClose.","Generated client accounts for GroupCreate.","Generated client accounts for GroupEdit.","Generated client accounts for GroupWithdrawInsuranceFund.","Generated client accounts for HealthRegionBegin.","Generated client accounts for HealthRegionEnd.","Generated client accounts for IxGateSet.","Generated client accounts for OpenbookV2CancelOrder.","Generated client accounts for OpenbookV2CloseOpenOrders.","Generated client accounts for OpenbookV2CreateOpenOrders.","Generated client accounts for OpenbookV2DeregisterMarket.","Generated client accounts for OpenbookV2EditMarket.","Generated client accounts for …","Generated client accounts for OpenbookV2PlaceOrder.","Generated client accounts for OpenbookV2PlaceTakeOrder.","Generated client accounts for OpenbookV2RegisterMarket.","Generated client accounts for OpenbookV2SettleFunds.","Generated client accounts for PerpCancelAllOrders.","Generated client accounts for PerpCancelAllOrdersBySide.","Generated client accounts for PerpCancelOrder.","Generated client accounts for …","Generated client accounts for PerpCloseMarket.","Generated client accounts for PerpConsumeEvents.","Generated client accounts for PerpCreateMarket.","Generated client accounts for PerpDeactivatePosition.","Generated client accounts for PerpEditMarket.","Generated client accounts for PerpForceClosePosition.","Generated client accounts for PerpLiqBaseOrPositivePnl.","Generated client accounts for PerpLiqForceCancelOrders.","Generated client accounts for …","Generated client accounts for …","Generated client accounts for PerpPlaceOrder.","Generated client accounts for PerpSettleFees.","Generated client accounts for PerpSettlePnl.","Generated client accounts for PerpUpdateFunding.","Generated client accounts for Serum3CancelAllOrders.","Generated client accounts for Serum3CancelOrder.","Generated client accounts for Serum3CloseOpenOrders.","Generated client accounts for Serum3CreateOpenOrders.","Generated client accounts for Serum3DeregisterMarket.","Generated client accounts for Serum3EditMarket.","Generated client accounts for Serum3LiqForceCancelOrders.","Generated client accounts for Serum3PlaceOrder.","Generated client accounts for Serum3RegisterMarket.","Generated client accounts for Serum3SettleFunds.","Generated client accounts for Serum3SettleFunds.","Generated client accounts for Serum3SettleFundsV2.","Generated client accounts for Serum3SettleFundsV2Extra.","Generated client accounts for StubOracleClose.","Generated client accounts for StubOracleCreate.","Generated client accounts for StubOracleSet.","Generated client accounts for TokenAddBank.","Generated client accounts for TokenConditionalSwapCancel.","Generated client accounts for TokenConditionalSwapCreate.","Generated client accounts for TokenConditionalSwapTrigger.","Generated client accounts for TokenDeposit.","Generated client accounts for TokenDepositIntoExisting.","Generated client accounts for TokenDeregister.","Generated client accounts for TokenEdit.","Generated client accounts for …","Generated client accounts for TokenLiqBankruptcy.","Generated client accounts for TokenLiqWithToken.","Generated client accounts for TokenRegister.","Generated client accounts for TokenRegisterTrustless.","Generated client accounts for TokenUpdateIndexAndRate.","Generated client accounts for TokenWithdraw.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Accounts are initialised by client, anchor discriminator …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The bank’s token_index is checked at #1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Instructions Sysvar for instruction introspection","Instructions Sysvar for instruction introspection","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","needed for the automatic settle_funds call","","needed for the automatic settle_funds call","needed for the automatic settle_funds call","needed for the automatic settle_funds call","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The oracle account is optional and only used when …","","","","","","","","","","","","","","The oracle account is optional and only used when …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The bank that pays for the order, if necessary","The bank that pays for the order, if necessary","The bank that pays for the order, if necessary","","","","The bank vault that pays for the order, if necessary","The bank vault that pays for the order, if necessary","The bank vault that pays for the order, if necessary","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Sets up mango vaults for flash loan","Finalizes a flash loan","","","","","","Sets up for a health region","Ends a health region.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Copy paste a bunch of enums so that we could …","","","","","","","","","","","","","","","In addition to these accounts, there must be …","Changes a token’s parameters.","","","","","","Updates token interest and interest rates.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: ALT address is checked inline","CHECK: ALT authority is checked inline","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: asks will be checked by openbook_v2","CHECK: asks will be checked by openbook_v2","CHECK: asks will be checked by openbook_v2","CHECK: Validated by the openbook_v2 cpi call","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: The oracle can be one of several different account …","CHECK: The oracle can be one of several different account …","","","","","CHECK: bids will be checked by openbook_v2","CHECK: bids will be checked by openbook_v2","CHECK: bids will be checked by openbook_v2","CHECK: Validated by the openbook_v2 cpi call","","","","","","Accounts are initialised by client, anchor discriminator …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The bank’s token_index is checked at #1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: unused, exists only because anchor is unhappy in …","","","CHECK: event will be checked by openbook_v2","CHECK: event queue will be checked by openbook_v2","CHECK: Validated by the openbook_v2 cpi call","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: Oracle can have different account types","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","CHECK: Instruction gate will be checked in instruction …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Instructions Sysvar for instruction introspection CHECK: …","Instructions Sysvar for instruction introspection CHECK: …","CHECK: fixed instructions sysvar account","","","","CHECK: Oracle can have different account types","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","","CHECK: base vault will be checked by openbook_v2","CHECK: Validated by the openbook_v2 cpi call","","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","","CHECK: quote vault will be checked by openbook_v2","CHECK: Validated by the openbook_v2 cpi call","","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the openbook_v2 cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the openbook_v2 cpi call","CHECK: Validated by the openbook_v2 cpi call","CHECK: Validated by the openbook_v2 cpi call","needed for the automatic settle_funds call CHECK: …","CHECK: Validated by the serum cpi call","needed for the automatic settle_funds call CHECK: …","needed for the automatic settle_funds call CHECK: …","","","","","","","","","","","","","CHECK: Oracle can have different account types","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Will be checked against seeds and will be initiated …","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Newly created by serum cpi call","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","","","","","","","","","","","","","","","","","","","","","","","","CHECK: Can register a market for any openbook_v2 program","","CHECK: The oracle can be one of several different account …","The oracle account is optional and only used when …","CHECK: Oracle can have different account types, …","CHECK: Oracle can have different account types, …","CHECK: Oracle can have different account types, …","CHECK: Oracle can have different account types, …","CHECK: The oracle can be one of several different account …","CHECK: Oracle can have different account types, …","CHECK: Oracle can have different account types, …","CHECK: The oracle can be one of several different account …","","","","CHECK: The oracle can be one of several different account …","CHECK: The oracle can be one of several different account …","The oracle account is optional and only used when …","CHECK: The oracle can be one of several different account …","CHECK: The oracle can be one of several different account …","CHECK: oracle can be one of multiple account types","CHECK: The oracle can be one of several different account …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The bank that pays for the order, if necessary","The bank that pays for the order, if necessary","The bank that pays for the order, if necessary","CHECK: The oracle can be one of several different account …","CHECK: The oracle can be one of several different account …","CHECK: The oracle can be one of several different account …","The bank vault that pays for the order, if necessary","The bank vault that pays for the order, if necessary","The bank vault that pays for the order, if necessary","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: The oracle can be one of several different account …","CHECK: The oracle can be one of several different account …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: Can register any serum market","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: Can register a market for any serum program","CHECK: The pubkey is checked and then it’s passed to the …","","","","","","CHECK: Oracle can have different account types","CHECK: Oracle can have different account types","CHECK: Oracle can have different account types","CHECK: Oracle can have different account types","CHECK: Oracle can have different account types","","","","","","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The static program ID","Confirms that a given pubkey is equivalent to the program …","Returns the program ID","The static program ID","Confirms that a given pubkey is equivalent to the program …","Returns the program ID","The static program ID","Confirms that a given pubkey is equivalent to the program …","Returns the program ID","A Ref to an AccountInfo - makes AccountInfo compatible …","","Functions should prefer to work with AccountReader where …","","Like AccountReader, but can also get the account pubkey","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","Using AccountLoader forces a AccountInfo.clone() and then …","Using AccountLoader forces a AccountInfo.clone() and then …","","","","","Same as load(), but doesn’t check the discriminator or …","Same as load(), but doesn’t check the discriminator or …","","","","","Same as load(), but mut","Same as load(), but mut","","Same as load_fully_unchecked(), but mut","Same as load_fully_unchecked(), but mut","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Add a context string c to a Result or Error","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","Gets the name of this [#enum_name].","","","","","","","","","","","","","","","Like context(), but evaluate the context string lazily","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This trait abstracts how to find accounts needed for the …","Assumes the account infos needed for the health …","Store information needed to compute account health","There are three types of health:","","","","Stores information about perp market positions and their …","Information about prices for a bank or perp market.","","Takes a list of account infos containing","Information about reserved funds on Serum3 open orders …","Temporary value used during health computations","","","","","","","","","","","Changes the cached user account token and serum balances.","Changes the cached user account token balance.","","","The asset price to use for the given health type","","Computes the account assets and liabilities marked to …","","","","","","","","","","","","Freely available spot balance for the token.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Compute health with an arbitrary AccountRetriever","Computes health for a mango account given a set of account …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns token balances that account for spot and perp …","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Liquidatable spot assets mean: actual token deposits and …","Liquidatable spot borrows mean: actual toen borrows plus a …","","","","","","","","Phase1 is spot/perp order cancellation and spot settlement …","Phase2 is for:","Phase3 is bankruptcy:","","","The open orders account has no free or reserved funds","","","","","The health ratio is","The perp-risk (but not token-risk) adjusted upnl. Also …","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Computes the account leverage as ratio of liabs / (assets …","The liability price to use for the given health type","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","NOTE: keep getMaxSourceForTokenSwap in ts/client in sync …","The sum of serum-reserved amounts over all markets","","How many source native tokens may be swapped for target …","","","","","","Generate a HealthCache for an account and its health …","Generate a special HealthCache for an account and its …","","","The current oracle price","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns how much pnl is settleable for a given settle …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","How much of a token can be gained before health increases …","How much of a token can be taken away before health …","Sum of token_info.balance_spot and perp …","A “stable” price, provided by StablePriceModel","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Settle token native provided by perp position and open …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","benchmark","","","","","","","","","","","","","","","","","","","","","","","OpenbookV2","","","","","","","","Perps","","","","","","","","","","","","","","","","","","","","","","","Serum","Deprecated instruction that used to settles all free funds …","Like Serum3SettleFunds, but fees_to_dao determines if …","","","","","","","","","","","","","","","","","","","","","Type representing the program.","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Copied over from serum dex","","","","","CHECK: cpi","CHECK: cpi","","","","","","","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: cpi","CHECK: cpi","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","","","","","","","","","","","","","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","","CHECK: cpi","CHECK: cpi","CHECK: cpi","","CHECK: cpi","CHECK: cpi","","","","","","","","","","","","","CHECK: cpi","","CHECK: cpi","CHECK: cpi","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","must cover the open_orders and the …","CHECK: cpi","CHECK: cpi","CHECK: cpi","","","","","","","","","","","","","","","","","","","Cancels the whole transaction as soon as a self-matching …","","","","","","","","","","","","","","","","","","","","","","","","Iterates the fixed and oracle_pegged OrderTrees …","","Reference to a node in a book side component","","","Cancels the maker side of the trade, the taker side gets …","","","","Both the maker and taker sides of the matched orders are …","","","","Header is created by scanning and parsing the dynamic …","","","","The token index used in AccountBuybackFeesWithMngo to …","","","","","","","","","","","","","","","The token index used for the insurance fund.","","Take existing orders up to price, max_base_quantity and …","InnerNodes and LeafNodes compose the binary tree of orders.","","","","Enum for lookup into ix gate note: total ix files 56, ix …","","LeafNodes represent an order in the binary tree","","Take existing orders up to price, max_base_quantity and …","Take existing orders up to price, max_base_quantity and …","","","","","","","","","","Useful when loading from bytes","Useful when loading from RefCell, like from AccountInfo","Useful when loading from RefCell, like from AccountInfo","Trait to allow a AccountLoader to create an accessor for …","Full reference type, useful for borrows","Full reference type, useful for borrows","Fully owned MangoAccount, useful for tests","","Ignore price and take orders up to max_base_quantity and …","","","","","","","","","","","","","","","","","","","","","","","","","Perp order parameters","","","Iterate over orders in order (bids=descending, …","A binary tree on AnyNode::key()","","","","","","The token index used for settling perp markets.","","","","","","","","","","","","","","","","","","","","","","Never take any existing orders, post the order on the book …","Never take any existing orders, post the order on the book …","If existing orders match with this order, adjust the price …","If existing orders match with this order, adjust the price …","","","","","This token index is supposed to be the token that oracles …","","Self trade behavior controls how taker orders interact …","","","","","","","","","","","","","","","","","SideAndOrderTree is a storage optimization, so we don’t …","","Maintains a “stable_price” based on the oracle price.","Reducing a position when the price gets worse","","","","","","","","Reducing a position when the price gets better","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Add new fees that are usable with the buyback fees feature.","","","","","","Add taker trade after it has been matched but before it …","","","","","","","","","","may token selling create borrows? (often users just want …","","may token purchases create deposits? (often users just …","Given some pnl, applies the pnl settle limit and returns …","","","","","","","","","","Address of the BookSide account for asks","Base lots in open asks","Returns the (min_pnl, max_pnl) range of quote-native pnl …","Calculate the average entry price of the position, in …","The native average entry price for the base lots of the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Tracks the amount of borrows that have flowed into the …","Number of decimals used for the base token.","Fees Fee for base position liquidation","Number of base native in a base lot. Must be a power of 10.","","Active position size, measured in base lots","","","Store the base/quote token index, so health computations …","","","","","Tracks that this account should be liquidated until …","Return the price of the order closest to the spread","","Address of the BookSide account for bids","Base lots in open bids","Field used to contain the trusted_market flag and is now …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Soft borrow limit in native quote","how many native tokens were already bought/sold","Calculate the break even price of the position, in …","","","","","","","PDA bump","","","indexes of tokens for the swap","","","The total buyback fees amount that the account can make …","Fees usable with the “fees buyback” feature. This …","","Fees buyback amount from the previous expiry interval.","","Number of seconds after which fees that could be used with …","End timestamp of the current expiry interval of the …","","","","Cancels up to limit orders that are listed on the mango …","Cancels an order on a side, removing it from the book and …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Change a position, while taking the loan origination fee …","Change a position without applying the loan origination fee","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The earliest expiry timestamp for the left and right …","indexes into BookSide::nodes","","Arbitrary user-controlled order id.","User defined id for this order, used in FillEvents","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","returns the current interest rate in APR","","","Returns the fee for settling settlement when the …","","","","","","","","","Cumulative long funding in quote native units. If the user …","Cumulative short funding in quote native units If the user …","","","","","","","","","","","","","","","","","","Creates default market for tests","The delay price is based on an average over each …","Accumulating the total time for the above average.","Maximal relative difference between two delay_price in …","","Length of a delay_interval","Stored delay_price for each delay_interval. If we want the …","","","Deposits native_amount.","the index used to scale the value of an IndexedPosition …","Internal function to deposit funds","","","Limit for collateral of deposits in native quote","Like deposit(), but allows dusting of in-use accounts.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The stored prices are always “sell token per buy token”…","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns true if the position remains active","","","","","","","","The lowest timestamp at which one of the contained …","","","","","Prevent borrowing away the full bank vault. Keep some in …","","Creates or retrieves a TokenPosition for the token_index. …","","","","","","","","","","","","","","","","","","","","","","","","","","Address of the EventQueue account","","","","","","","Updates the buyback_fees_* fields for staggered expiry of …","Time at which this order will expire, u64::MAX if never","timestamp until which the conditional swap is valid","","Fee (in quote native) to charge for ioc orders","Fees accrued in native quote currency these are increased …","Fees settled in native quote currency these are increased …","","","Returns the handle of the node with the lowest expiry …","","","","","Creates price data for a fixed order’s price","Retrieves the price (in lots) from a fixed order’s price …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Builds header by scanning and parsing the dynamic portion …","","","","","","","","","","timestamp that funding was last updated in","","","","","","","","","","","","","Is this market covered by the group insurance fund?","","","","","Whether the entry is in use","","","Does the user have any orders on the book?","Are there any open orders or fills that haven’t been …","","","","","","","","Init health as calculated during HealthReginBegin, rounded …","","","","Walk up the book quantity units and return the price at …","For funding, get the impact price this many base lots deep …","The account is currently inside a health region marked by …","incremented when a market requires this position to stay …","","","","","","deposits/borrows for this bank","The deposit_index (if positive) or borrow_index (if …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","initializes a header on the dynamic portion of a new …","","","","Is native_price an acceptable order for the side of this …","","","The intention the user had when placing this order, …","calcualtor function that can be used to compute an interest","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","Returns if the order is expired at now_ts","","","","","","","","","","","","","Is this order required to be posted to the orderbook? It …","Is lhs is a better order for side than rhs?","Is lhs is a better order for side than rhs?","Is price acceptable for a limit order on side?","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Iterate over all entries, including invalid orders","","Iterate over all entries, including invalid orders","Iterate over all entries in the book filtering out invalid …","","","only the top prefix_len bits of key are relevant","The binary tree key, see new_node_key()","The delay_interval_index that update() was last called on.","Timestamp at which the last net borrows window started","","","","","","","","","","","","","","","Current long funding value. Increasing it means that every …","Already settled long funding","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Convert from the price stored on the book to the price …","","These weights apply to the base position. The quote …","","","Weights for full perp market health, if positive","","","","","Fee when matching maker orders. May be negative.","The maker has to pay premium_price * (1 + maker_fee_rate)","","","Premium price adjusted for the maker fee","","","Cumulative maker volume in quote native units","","","","","","","","Max base lots to buy/sell.","maximum amount of native tokens to buy or sell","Maximal funding rate per day, must be >= 0.","","Max quote lots to pay/receive (not taking fees into …","","","","","","","Minimal funding rate per day, must be <= 0.","","Min fraction of deposits that must remain in the vault …","","","","","","","","","","","","","","","","","Name. Trailing zero bytes are ignored.","","","","","","Should this order be penalized with an extra fee?","Net borrow limit per window in quote native; set to -1 to …","Size in seconds of a net borrows window","Sum of all deposits and borrows in the last window, in …","","","","","","","","","","Creates a binary tree node key.","","","","Next id to use when adding a token condition swap","","","","","","","","","","","","Number of base lots currently active in the market. Always …","","","","","","","","","Oracle account address","","Oracle configuration","Creates price data for an oracle pegged order from the …","Retrieves the price offset (in lots) from an oracle pegged …","","","","Returns the price of one native base token, in native …","","","","","","PostOrderType, this was added for TradingView move order","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Address of the owning MangoAccount","","Index into the owning MangoAccount’s PerpOpenOrders","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Order type specific params","","","","pegging limit for oracle peg orders, otherwise -1","If the effective price of an oracle pegged order exceeds …","","","","","Index of this perp market. Other data, like the …","","","","","","","","","","","","","Cumulative number of quote native units transfered from …","","","","","","Order tree that this order should be added to","","number of highest key bits that all children share e.g. if …","Base price adjusted for the premium","","Compute the price_lots this order is currently at, as well …","","","","The order’s price_data as stored in the key","","","The price must exceed this threshold to allow execution.","The premium to pay over oracle price to incentivize …","Parallel to price_lower_limit, but an upper limit.","","Number of base lots to buy or sell, always >=1","","","Return the quantity of orders that can be matched by an …","","Number of quote native in a quote lot. Must be a power of …","","Active position in oracle quote native. At the same time …","Tracks what the position is to calculate average entry & …","","","","Compares the fixed and oracle_pegged order and returns the …","","","Amount of pnl realized from fees, funding and liquidation.","Trade pnl, fees, funding that were added over the current …","Amount of pnl that was realized by bringing the base …","Adds to the quote position and adds a recurring (“…","Adds immediately-settleable realized pnl when a liqor …","Update the perp position for pnl settlement","Change the base and quote positions as the result of a …","Update perp position for a maker/taker fee payment","Reduce the available buyback fees amount because it was …","Reduce only","","","If true, users may no longer increase their market …","","","","Timestamp in seconds that the market was registered at.","","","","","","Remove the order with the lowest expiry timestamp in the …","Remove the order with the lowest expiry timestamp, if that…","","Remove taker trade after it has been processed on …","Remove the overall worst-price order.","","","","","","","","","","","","","","","","","","","","","","","","","","","If set to 1, the stable price will reset on the next …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the init asset weight, adjusted for the number of …","","","Configure how matches with order of the same owner are …","","","","","Total number of orders seen","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Pnl settlement amount needed to be eligible for the flat …","In native units of settlement token, given to each settle …","Fraction of pnl to pay out as fee if +pnl account has low …","Move unrealized funding payments into the quote_position","Returns the (min_pnl, max_pnl) range of quote-native pnl …","","Controls the strictness of the settle limit. Set to a …","Settle limit contribution from realized pnl.","Amount of realized trade pnl and unrealized pnl that was …","Index of the current settle pnl limit window","Window size in seconds for the perp settlement limit","Token index that settlements happen in.","See long_funding.","Already settled short funding","","","","","","","","","","Socialize the loss in this account across all longs and …","","Number of bytes needed for the MangoAccount, including the …","Maximal per-second relative difference of the stable price.","","","Current stable price to use in health","","Maintains a stable price based on the oracle price that is …","","","","","NodeTag","","","Amount of base lots on the EventQueue waiting to be …","","","","Fee for taker orders, may not be negative.","The taker receives only premium_price * (1 - …","Premium price adjusted for the taker fee","Amount of quote lots on the EventQueue waiting to be …","","","Cumulative taker volume in quote native units","","","","Convert an input expiry timestamp to a time_in_force value","Number of seconds the order shall live, 0 meaning forever","Time in seconds after timestamp at which the order expires.","The time the order was placed","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Fees for the token conditional swap feature","","","Decrements the in_use_count for the token position for the …","","index into Group.tokens","","","","Returns","","Returns","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The amount of funding this account still needs to pay, in …","Calculate the PnL of the position for a given price","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Use current order book price and index price to update the …","Update the bank’s net_borrows fields.","When a node changes, the parents’ child_earliest_expiry …","Updates the perp pnl limit time windowing, resetting the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Withdraws native_amount while applying the loan …","Withdraws native_amount without applying the loan …","Like withdraw_without_fee() but allows dusting of in-use …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The static program ID","Confirms that a given pubkey is equivalent to the program …","Returns the program ID","The static program ID","Confirms that a given pubkey is equivalent to the program …","Returns the program ID","","","","Nothing in Rust shall use these types. They only exist so …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,5,0,0,0,0,0,5,0,5,5,5,0,5,5,5,5,5,5,5,5,5,0,0,0,0,0,5,0,0,0,0,5,5,0,5,0,5,5,5,5,0,0,5,5,0,0,0,5,5,0,0,0,5,5,5,5,0,5,5,0,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,12,13,14,15,16,22,23,24,29,30,32,33,34,37,38,39,41,42,43,44,45,49,53,56,57,60,61,62,63,66,67,69,69,76,77,79,80,89,51,58,51,58,19,20,16,17,18,19,20,25,27,28,31,35,36,40,46,48,50,64,65,68,72,73,74,75,81,82,86,87,32,37,38,39,42,43,44,45,46,48,53,56,59,32,33,34,38,39,41,76,77,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,17,18,75,79,80,86,87,89,37,40,41,66,68,69,69,41,70,37,41,66,69,69,32,37,38,39,42,43,44,45,46,48,53,56,59,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,76,77,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,26,10,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,28,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,21,81,37,38,39,46,47,48,56,75,10,10,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,22,25,26,27,28,29,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,69,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,35,40,64,68,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,23,29,88,55,55,26,55,25,26,28,54,55,84,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,84,52,54,55,78,83,84,85,52,54,55,78,83,84,85,78,52,54,55,83,84,85,10,10,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,58,58,59,59,60,60,61,61,62,62,63,63,64,64,65,65,66,66,67,67,68,68,69,69,70,70,71,71,72,72,73,73,74,74,75,75,76,76,77,77,78,78,79,79,80,80,81,81,82,82,83,83,84,84,85,85,86,86,87,87,88,88,89,89,10,10,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,58,58,59,59,60,60,61,61,62,62,63,63,64,64,65,65,66,66,67,67,68,68,69,69,70,70,71,71,72,72,73,73,74,74,75,75,76,76,77,77,78,78,79,79,80,80,81,81,82,82,83,83,84,84,85,85,86,86,87,87,88,88,89,89,36,65,60,61,66,67,37,38,39,41,66,67,69,69,60,61,66,67,60,61,66,67,37,38,39,41,66,67,69,69,39,67,37,38,39,41,66,67,69,69,73,75,86,87,75,81,82,86,87,88,10,10,32,33,34,37,38,41,60,61,62,63,66,67,69,69,32,33,34,35,37,38,39,40,41,32,33,34,37,38,39,40,41,32,33,34,37,38,39,40,41,48,50,51,52,54,55,56,57,58,59,72,73,74,79,80,82,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,23,24,42,43,44,45,49,56,60,61,62,63,67,69,69,80,89,13,15,19,26,34,40,48,63,68,73,75,86,87,38,39,67,38,39,67,38,39,67,17,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,37,40,41,66,68,69,69,41,70,37,41,66,69,69,84,26,34,63,75,86,87,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,76,77,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,60,61,62,63,64,66,67,68,69,69,60,61,62,63,66,67,68,69,69,60,61,62,63,66,67,68,69,69,52,54,55,57,58,52,54,55,57,58,52,54,55,58,58,12,25,33,35,46,62,64,72,81,13,15,26,34,40,48,63,68,73,75,86,87,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,17,18,79,80,89,79,80,12,17,18,23,24,25,26,28,35,37,38,39,41,46,54,55,64,66,67,69,69,72,75,79,80,81,84,86,87,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,71,71,17,18,75,79,80,86,87,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,93,0,0,0,0,0,0,0,0,0,0,95,0,95,93,0,93,0,0,0,0,0,0,0,0,0,94,0,0,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,92,93,94,95,97,99,100,101,102,103,109,110,111,116,117,119,120,121,124,125,126,128,129,130,131,132,136,140,143,144,147,148,149,150,153,154,156,163,164,166,167,176,138,145,138,145,106,107,96,103,104,105,106,107,112,114,115,118,122,123,127,133,135,137,151,152,155,159,160,161,162,168,169,173,174,119,124,125,126,129,130,131,132,133,135,140,143,146,119,120,121,125,126,128,163,164,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,104,105,162,166,167,173,174,176,124,127,128,153,155,156,128,157,124,128,153,156,119,124,125,126,129,130,131,132,133,135,140,143,146,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,163,164,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,92,93,94,95,92,93,94,95,0,113,97,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,92,93,94,95,96,115,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,108,168,92,124,125,126,133,134,135,143,162,97,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,97,97,92,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,109,112,113,114,115,116,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,122,127,151,155,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,110,116,175,142,142,113,142,112,113,115,141,142,171,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,0,0,171,139,141,142,165,170,171,172,139,141,142,165,170,171,172,165,139,141,142,170,171,172,97,97,99,99,100,100,101,101,102,102,103,103,104,104,105,105,106,106,107,107,108,108,109,109,110,110,111,111,92,92,112,112,113,113,114,114,115,115,116,116,117,117,118,118,119,119,120,120,121,121,122,122,123,123,124,124,125,125,126,126,127,127,128,128,129,129,130,130,131,131,132,132,133,133,134,134,135,135,136,136,137,137,138,138,139,139,140,140,141,141,142,142,143,143,144,144,145,145,146,146,147,147,148,148,149,149,150,150,151,151,152,152,153,153,93,93,94,94,95,95,154,154,155,155,156,156,157,157,158,158,159,159,160,160,161,161,162,162,163,163,164,164,165,165,166,166,167,167,168,168,169,169,170,170,171,171,172,172,173,173,96,96,174,174,175,175,176,176,97,97,99,99,100,100,101,101,102,102,103,103,104,104,105,105,106,106,107,107,108,108,109,109,110,110,111,111,92,92,112,112,113,113,114,114,115,115,116,116,117,117,118,118,119,119,120,120,121,121,122,122,123,123,124,124,125,125,126,126,127,127,128,128,129,129,130,130,131,131,132,132,133,133,134,134,135,135,136,136,137,137,138,138,139,139,140,140,141,141,142,142,143,143,144,144,145,145,146,146,147,147,148,148,149,149,150,150,151,151,152,152,153,153,93,93,94,94,95,95,154,154,155,155,156,156,157,157,158,158,159,159,160,160,161,161,162,162,163,163,164,164,165,165,166,166,167,167,168,168,169,169,170,170,171,171,172,172,173,173,96,96,174,174,175,175,176,176,123,152,147,148,153,154,124,125,126,128,153,154,156,147,148,153,154,147,148,153,154,124,125,126,128,153,154,156,126,154,124,125,126,128,153,154,156,96,160,162,173,174,162,168,169,173,174,175,97,97,119,120,121,124,125,128,147,148,149,150,153,154,156,119,120,121,122,124,125,126,127,128,119,120,121,124,125,126,127,128,119,120,121,124,125,126,127,128,135,137,138,139,141,142,143,144,145,146,159,160,161,166,167,169,173,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,110,111,129,130,131,132,136,143,147,148,149,150,154,156,167,176,100,102,106,113,121,127,135,150,155,160,162,173,174,125,126,154,125,126,154,125,126,154,104,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,124,127,128,153,155,156,128,157,124,128,153,156,171,96,96,113,121,150,162,173,174,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,163,164,92,93,94,95,96,147,148,149,150,151,153,154,155,156,147,148,149,150,153,154,155,156,147,148,149,150,153,154,155,156,139,141,142,144,145,139,141,142,144,145,139,141,142,145,145,99,112,120,122,133,149,151,159,168,100,102,113,121,127,135,150,155,160,162,173,174,97,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,92,93,94,95,104,105,166,167,176,166,167,99,104,105,110,111,112,113,115,122,124,125,126,128,133,141,142,151,153,154,156,159,162,166,167,168,171,173,174,176,104,105,115,142,171,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,93,94,94,95,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,93,94,95,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,96,96,158,158,104,105,162,166,167,173,174,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,189,188,186,187,188,189,186,186,187,187,188,189,186,187,188,189,186,187,186,187,188,189,186,187,188,189,186,187,188,189,188,189,188,189,446,186,187,188,189,186,187,189,186,187,188,189,186,187,188,189,186,187,188,189,186,187,188,189,186,187,188,189,186,187,188,189,186,187,188,189,186,187,188,189,214,186,187,188,189,186,187,188,189,447,448,186,187,188,189,447,448,186,187,188,189,449,450,187,449,450,187,186,186,187,187,188,188,189,189,186,186,187,187,188,188,189,189,189,186,187,188,189,186,187,188,189,446,186,187,188,189,186,187,186,187,188,189,186,187,188,189,188,189,186,187,188,189,186,187,188,189,186,187,188,189,186,187,188,189,186,187,188,189,186,187,188,189,186,187,188,189,186,187,188,189,0,0,0,197,197,197,197,197,0,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,0,197,197,197,0,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,451,197,197,197,197,197,197,0,0,197,197,197,197,197,452,452,197,197,197,197,197,197,197,0,0,197,197,197,197,197,197,197,197,197,197,451,197,197,0,0,0,0,202,203,204,205,202,203,204,205,202,203,204,205,202,203,204,205,202,203,204,205,202,203,204,205,202,202,203,204,205,202,203,204,205,202,203,204,205,202,203,204,205,202,203,204,205,202,203,204,205,202,203,204,205,202,203,204,205,202,202,203,204,205,202,202,203,204,205,202,202,203,203,204,204,205,205,202,202,203,203,204,204,205,205,202,202,203,204,205,202,203,204,205,205,203,202,203,204,205,202,203,204,205,202,203,204,205,204,203,202,203,204,205,202,203,204,205,202,203,204,205,202,203,204,205,202,203,204,205,204,202,203,204,205,202,203,204,205,202,203,204,205,0,0,0,0,212,212,212,0,0,0,0,0,0,0,0,211,212,213,218,219,220,221,206,206,206,215,221,211,213,206,215,217,216,211,212,213,218,219,220,221,206,213,453,215,216,217,216,220,221,221,221,215,215,221,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,211,212,213,218,219,220,221,206,211,212,213,218,219,220,221,206,0,0,218,219,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,211,212,213,220,221,206,215,217,216,211,212,213,218,219,220,221,206,206,212,211,213,220,221,206,215,217,216,211,212,213,218,219,220,221,206,206,206,221,221,206,206,206,206,206,206,206,206,206,206,220,206,206,206,213,206,221,206,206,206,215,217,216,211,212,213,218,219,220,221,206,213,221,221,213,221,213,213,215,217,216,211,212,213,218,219,220,221,206,216,206,206,211,213,215,215,217,217,216,216,211,211,212,212,213,213,218,218,219,219,220,220,221,221,206,206,215,215,217,217,216,216,211,211,212,212,213,213,218,218,219,219,220,220,221,221,206,206,213,221,221,213,221,220,206,206,219,206,206,206,215,215,216,0,0,0,211,216,211,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,206,453,215,216,221,206,213,221,220,206,206,206,220,220,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,217,216,216,216,211,212,213,220,221,206,453,215,216,221,0,0,218,211,215,211,212,213,218,219,220,221,206,213,206,206,206,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,221,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,0,0,454,454,455,455,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,305,315,292,248,249,248,249,292,293,294,314,272,273,275,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,308,270,269,270,269,270,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,311,309,315,315,315,315,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,236,237,261,263,264,265,266,281,302,315,311,309,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,295,248,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,248,249,263,264,265,266,315,270,269,234,277,311,309,289,290,300,241,269,285,309,301,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,270,269,309,316,270,269,244,245,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,311,309,270,269,270,269,311,309,270,269,248,311,309,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,313,295,272,273,275,232,233,236,237,252,258,259,260,263,264,265,266,276,279,281,236,237,281,311,309,291,311,309,311,309,231,231,232,232,233,233,234,234,235,235,236,236,237,237,238,238,239,239,240,240,241,241,242,242,243,243,244,244,245,245,246,246,247,247,248,248,249,249,250,250,251,251,252,252,253,253,254,254,255,255,256,256,257,257,258,258,259,259,260,260,261,261,262,262,263,263,264,264,265,265,266,266,267,267,268,268,269,269,270,270,271,271,272,272,273,273,274,274,275,275,276,276,277,277,278,278,279,279,280,280,281,281,282,282,283,283,284,284,285,285,286,286,287,287,288,288,289,289,290,290,291,291,292,292,293,293,294,294,295,295,296,296,297,297,298,298,299,299,300,300,301,301,302,302,303,303,304,304,305,305,306,306,307,307,308,308,309,309,310,310,311,311,312,312,313,313,314,314,315,315,316,316,317,317,318,318,231,231,232,232,233,233,234,234,235,235,236,236,237,237,238,238,239,239,240,240,241,241,242,242,243,243,244,244,245,245,246,246,247,247,248,248,249,249,250,250,251,251,252,252,253,253,254,254,255,255,256,256,257,257,258,258,259,259,260,260,261,261,262,262,263,263,264,264,265,265,266,266,267,267,268,268,269,269,270,270,271,271,272,272,273,273,274,274,275,275,276,276,277,277,278,278,279,279,280,280,281,281,282,282,283,283,284,284,285,285,286,286,287,287,288,288,289,289,290,290,291,291,292,292,293,293,294,294,295,295,296,296,297,297,298,298,299,299,300,300,301,301,302,302,303,303,304,304,305,305,306,306,307,307,308,308,309,309,310,310,311,311,312,312,313,313,314,314,315,315,316,316,317,317,318,318,311,309,270,269,270,269,311,309,270,269,270,269,242,286,263,264,265,266,236,237,281,253,248,249,246,299,270,269,250,251,271,272,273,274,275,236,237,281,263,264,253,263,264,265,266,248,249,246,254,270,269,311,309,315,242,270,286,305,310,311,269,285,302,309,311,309,311,309,244,289,270,311,269,309,269,309,235,262,280,237,263,264,265,266,281,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,263,264,303,304,305,270,303,304,305,270,269,295,296,298,265,266,248,249,263,264,248,249,248,249,270,263,264,265,266,293,294,311,241,269,285,309,309,269,309,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,315,236,237,263,265,281,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,303,304,305,270,269,270,269,270,269,270,269,270,269,270,235,236,237,263,264,265,266,280,281,259,311,269,309,311,269,309,311,269,309,270,269,302,302,316,315,303,246,247,246,247,311,309,311,309,303,304,305,308,310,311,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,316,315,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,0,0,0,0,0,0,0,0,0,0,0,0,319,319,0,0,0,0,0,0,0,0,0,0,0,0,319,0,0,319,0,319,0,0,0,0,319,0,0,0,0,0,0,319,319,0,0,0,0,0,319,352,352,354,355,354,355,333,353,333,353,333,353,331,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,333,342,334,335,342,320,334,335,343,334,335,344,352,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,321,359,360,331,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,331,356,357,354,355,356,357,356,357,349,349,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,319,319,356,357,331,339,339,340,340,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,321,359,360,331,331,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,355,357,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,0,338,345,345,319,354,355,347,353,351,329,330,329,330,322,323,319,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,354,355,358,321,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,338,329,330,336,337,338,338,345,355,357,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,333,338,353,333,338,353,333,353,333,338,344,345,346,353,356,357,333,338,344,345,346,353,356,357,359,360,337,331,359,360,336,337,320,329,330,320,320,320,321,321,359,359,360,360,322,322,323,323,324,324,325,325,326,326,327,327,328,328,329,329,330,330,331,331,332,332,333,333,334,334,335,335,319,319,336,336,337,337,338,338,339,339,340,340,341,341,342,342,343,343,344,344,345,345,346,346,347,347,348,348,349,349,350,350,351,351,352,352,353,353,354,354,355,355,356,356,357,357,358,358,320,320,321,321,359,359,360,360,322,322,323,323,324,324,325,325,326,326,327,327,328,328,329,329,330,330,331,331,332,332,333,333,334,334,335,335,319,319,336,336,337,337,338,338,339,339,340,340,341,341,342,342,343,343,344,344,345,345,346,346,347,347,348,348,349,349,350,350,351,351,352,352,353,353,354,354,355,355,356,356,357,357,358,358,326,327,328,327,328,328,326,327,328,356,357,354,355,326,326,327,328,326,327,328,326,327,328,340,320,321,322,323,324,325,334,335,336,337,339,340,348,349,351,354,355,358,347,347,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,326,327,328,329,330,335,340,343,354,355,332,354,355,341,341,341,349,329,330,341,342,330,349,329,330,330,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,342,342,344,345,346,347,348,350,351,352,340,344,344,359,360,324,325,326,327,328,329,330,331,337,344,352,354,355,354,355,354,355,324,325,326,327,328,334,335,342,320,334,335,343,334,335,344,352,332,332,334,335,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,356,357,354,355,356,357,356,357,326,327,328,350,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,343,343,343,346,347,348,347,320,329,330,320,324,325,338,345,329,330,331,338,345,345,360,326,327,328,326,327,328,328,326,327,328,356,357,354,355,351,326,326,327,328,351,340,326,327,328,319,356,357,321,359,360,324,325,331,332,336,337,339,341,322,323,351,351,331,331,351,351,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,0,0,0,0,0,0,382,382,378,380,374,376,377,378,380,382,377,378,378,380,374,376,377,378,380,382,374,376,377,378,380,382,374,376,377,378,380,380,374,376,377,378,380,382,374,376,377,378,380,382,374,376,377,378,380,382,382,382,374,376,377,378,380,382,374,376,377,378,380,382,374,376,377,378,380,382,374,376,377,378,380,382,374,376,377,378,380,382,378,380,374,376,377,378,380,382,374,376,377,378,380,382,374,376,377,378,380,382,382,0,0,0,0,0,0,374,374,376,376,377,377,378,378,380,380,382,382,374,374,376,376,377,377,378,378,380,380,382,382,374,376,377,378,380,374,376,377,378,380,374,376,377,380,378,374,376,377,378,380,382,374,376,377,378,380,382,374,376,377,378,380,0,377,378,377,0,374,378,374,376,377,378,380,382,374,376,377,378,380,382,376,382,377,378,374,376,377,378,380,382,374,376,377,378,380,382,374,376,377,378,380,382,374,376,377,378,380,382,374,376,377,378,380,382,378,377,377,377,374,376,377,378,380,382,374,376,377,378,380,382,374,376,377,378,380,382,369,408,408,408,408,408,408,408,408,408,408,0,0,225,401,401,419,0,406,225,401,401,419,0,0,0,0,0,371,369,0,0,0,369,0,0,0,0,0,0,0,0,0,425,0,456,391,408,0,441,0,408,408,408,0,408,0,456,367,0,441,416,457,0,441,0,441,367,418,406,425,0,0,0,0,0,0,0,0,0,0,0,0,0,0,456,367,0,0,0,406,0,408,408,408,408,408,408,0,0,0,408,408,408,408,0,0,456,391,0,0,0,0,0,0,0,0,0,0,425,0,0,408,408,408,408,408,408,408,408,408,408,408,408,0,0,0,408,0,408,408,408,0,367,418,367,418,0,414,0,0,0,0,0,371,408,408,408,408,408,408,408,0,0,0,0,408,408,408,0,0,416,0,372,414,0,408,408,408,414,414,372,408,0,408,408,0,0,408,408,408,408,0,408,408,0,408,408,408,408,441,372,416,0,0,210,388,375,408,409,385,386,402,410,228,411,396,412,413,405,414,415,391,398,416,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,409,385,0,0,385,388,388,388,388,388,228,375,210,375,388,388,388,388,388,393,393,393,393,228,210,210,394,394,394,394,395,392,399,229,228,228,228,228,210,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,210,210,0,0,396,396,410,229,229,229,228,228,228,397,410,412,427,388,385,409,398,399,229,228,229,399,399,403,404,399,458,433,435,432,456,434,210,388,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,210,403,404,399,458,433,435,432,456,434,210,388,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,210,393,228,422,210,375,409,385,412,229,427,421,393,375,375,385,409,385,409,385,375,409,385,375,375,399,399,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,210,210,404,404,388,388,388,388,388,210,404,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,395,395,411,432,392,210,388,375,408,409,385,386,402,410,228,411,396,412,413,405,414,415,391,398,416,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,210,388,375,408,409,385,386,402,410,228,411,396,412,413,405,414,415,391,398,416,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,210,0,210,210,210,210,229,405,366,457,423,388,375,402,402,228,228,394,388,388,388,388,388,457,423,402,402,410,228,411,369,429,393,409,229,429,429,429,429,429,429,409,385,210,210,210,210,375,210,210,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,387,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,390,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,409,402,410,228,411,405,366,414,391,395,392,367,418,369,225,401,419,397,426,371,372,393,0,404,415,393,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,210,210,388,409,409,409,409,409,409,395,394,228,396,229,210,388,388,406,414,391,416,392,367,418,369,225,401,419,425,371,372,391,392,367,418,369,225,401,419,425,371,372,229,424,397,426,388,388,388,385,392,393,375,229,229,229,210,229,421,421,396,396,388,0,0,210,210,210,210,375,408,402,410,228,411,396,412,413,405,366,391,392,367,418,369,225,401,419,424,397,426,229,427,428,429,393,210,412,229,427,421,421,388,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,459,223,430,388,388,386,210,409,385,422,229,229,210,409,385,396,412,413,415,229,427,428,396,229,375,0,0,433,393,393,403,228,228,228,457,423,388,422,388,409,409,385,411,393,398,229,409,402,457,423,402,210,210,210,402,403,404,399,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,210,229,229,210,229,459,386,398,421,229,375,375,393,210,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,435,434,225,402,410,228,410,228,411,402,385,422,392,393,210,412,229,427,398,421,385,402,375,385,385,432,225,225,225,412,229,427,375,433,210,375,385,402,410,228,411,396,412,413,405,415,398,395,392,417,394,420,421,422,423,424,397,426,229,427,428,429,393,421,422,398,398,375,394,395,392,429,210,404,415,429,415,420,422,210,460,460,460,403,210,403,210,229,228,403,403,404,404,399,399,458,458,433,433,435,435,432,432,456,456,434,434,210,210,388,388,375,375,408,408,406,406,409,409,385,385,386,386,402,402,410,410,228,228,411,411,396,396,412,412,413,413,405,405,366,366,414,414,415,415,391,391,398,398,416,416,441,441,395,395,392,392,417,417,394,394,367,367,418,418,369,369,225,225,401,401,419,419,420,420,421,421,422,422,423,423,424,424,425,425,397,397,426,426,229,229,427,427,428,428,429,429,371,371,372,372,393,393,403,403,404,404,399,399,458,458,433,433,435,435,432,432,456,456,434,434,210,210,388,388,375,375,408,408,406,406,409,409,385,385,386,386,402,402,410,410,228,228,411,411,396,396,412,412,413,413,405,405,366,366,414,414,415,415,391,391,398,398,416,416,441,441,395,395,392,392,417,417,394,394,367,367,418,418,369,369,225,225,401,401,419,419,420,420,421,421,422,422,423,423,424,424,425,425,397,397,426,426,229,229,427,427,428,428,429,429,371,371,372,372,393,393,229,210,229,229,210,229,397,397,393,397,229,393,397,397,393,397,397,228,411,410,228,412,413,427,428,432,393,229,421,432,210,393,405,366,420,385,229,421,210,210,396,415,210,375,375,434,210,385,412,229,427,210,409,385,412,229,427,402,210,210,229,432,210,210,210,409,385,435,434,395,392,401,397,426,0,399,435,434,409,385,398,420,421,458,433,398,421,398,421,396,229,410,412,0,0,412,375,210,396,229,210,229,0,0,210,229,229,0,404,401,458,421,421,392,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,210,375,409,385,396,412,413,415,398,422,229,427,428,409,385,392,426,392,426,210,375,409,385,402,410,228,395,392,421,424,397,429,411,396,412,427,411,412,392,397,427,409,397,229,409,397,229,409,409,409,432,434,422,422,432,392,386,386,388,388,229,388,386,386,409,388,388,388,388,388,388,409,385,228,409,375,422,403,229,432,0,395,393,402,432,404,415,397,392,393,433,393,393,393,422,392,397,426,398,410,229,228,228,228,410,412,427,0,210,210,228,228,228,228,228,228,228,228,385,432,210,412,229,427,396,412,229,427,393,393,398,421,398,421,388,228,398,421,210,375,409,385,402,410,228,411,396,412,413,405,415,398,395,392,421,422,397,229,427,428,429,393,398,429,429,422,398,398,398,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,210,210,375,432,393,423,397,426,229,409,402,410,228,411,405,366,414,391,395,392,367,418,369,225,401,419,397,426,371,372,393,409,386,386,386,388,388,388,388,375,427,0,0,427,385,457,423,229,393,457,423,385,229,229,229,228,228,229,229,228,228,228,229,229,229,228,434,398,401,419,426,432,426,411,411,229,393,409,429,210,229,429,210,229,433,0,0,395,392,394,397,228,397,393,397,229,393,393,228,397,397,228,385,385,375,432,432,392,392,397,426,366,210,388,375,408,409,385,386,402,410,228,411,396,412,413,405,414,415,391,398,416,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,367,388,388,386,386,388,210,388,210,386,386,388,210,402,396,386,388,388,388,388,388,409,210,375,409,396,412,413,415,398,422,229,427,428,210,375,409,396,412,413,415,398,422,229,427,428,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,391,398,416,441,441,395,392,417,394,367,367,418,418,369,369,225,225,401,401,419,419,420,421,422,423,424,425,425,397,397,397,426,426,426,229,427,428,429,371,371,372,372,393,391,441,367,418,369,225,401,419,425,371,372,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,409,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,402,228,228,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,429,210,229,210,421,228,210,210,210,396,210,396,375,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,210,210,210,210,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,461,462,461,461,463,462,461,0,0,0,0,0,0,0,0,0,0,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,442,443,443,444,444,445,445,442,442,443,443,444,444,445,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,0,0],"f":[0,0,[1],0,0,0,0,0,[[]],0,[[]],[[]],[[]],[2,3],[[],4],[[],4],[5,5],[[]],[6],[6],[[]],[[]],[6],[2,7],0,0,0,0,[[]],0,0,0,[[],2],[[],2],[[],6],0,[[]],0,[[],4],[[],4],[[]],[[]],0,0,[[]],[[]],0,0,0,[[]],[[]],0,0,0,[[]],[[],8],[[],8],[[],9],0,[[]],[[]],0,[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[10,[[8,[11]]]],[12,[[8,[11]]]],[13,[[8,[11]]]],[14,[[8,[11]]]],[15,[[8,[11]]]],[16,[[8,[11]]]],[17,[[8,[11]]]],[18,[[8,[11]]]],[19,[[8,[11]]]],[20,[[8,[11]]]],[21,[[8,[11]]]],[22,[[8,[11]]]],[23,[[8,[11]]]],[24,[[8,[11]]]],[25,[[8,[11]]]],[26,[[8,[11]]]],[27,[[8,[11]]]],[28,[[8,[11]]]],[29,[[8,[11]]]],[30,[[8,[11]]]],[31,[[8,[11]]]],[32,[[8,[11]]]],[33,[[8,[11]]]],[34,[[8,[11]]]],[35,[[8,[11]]]],[36,[[8,[11]]]],[37,[[8,[11]]]],[38,[[8,[11]]]],[39,[[8,[11]]]],[40,[[8,[11]]]],[41,[[8,[11]]]],[42,[[8,[11]]]],[43,[[8,[11]]]],[44,[[8,[11]]]],[45,[[8,[11]]]],[46,[[8,[11]]]],[47,[[8,[11]]]],[48,[[8,[11]]]],[49,[[8,[11]]]],[50,[[8,[11]]]],[51,[[8,[11]]]],[52,[[8,[11]]]],[53,[[8,[11]]]],[54,[[8,[11]]]],[55,[[8,[11]]]],[56,[[8,[11]]]],[57,[[8,[11]]]],[58,[[8,[11]]]],[59,[[8,[11]]]],[60,[[8,[11]]]],[61,[[8,[11]]]],[62,[[8,[11]]]],[63,[[8,[11]]]],[64,[[8,[11]]]],[65,[[8,[11]]]],[66,[[8,[11]]]],[67,[[8,[11]]]],[68,[[8,[11]]]],[69,[[8,[11]]]],[70,[[8,[11]]]],[71,[[8,[11]]]],[72,[[8,[11]]]],[73,[[8,[11]]]],[74,[[8,[11]]]],[75,[[8,[11]]]],[76,[[8,[11]]]],[77,[[8,[11]]]],[78,[[8,[11]]]],[79,[[8,[11]]]],[80,[[8,[11]]]],[81,[[8,[11]]]],[82,[[8,[11]]]],[83,[[8,[11]]]],[84,[[8,[11]]]],[85,[[8,[11]]]],[86,[[8,[11]]]],[87,[[8,[11]]]],[88,[[8,[11]]]],[89,[[8,[11]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[10,[4,[3]]],[[91,[90]]]],[[12,[4,[3]]],[[91,[90]]]],[[13,[4,[3]]],[[91,[90]]]],[[14,[4,[3]]],[[91,[90]]]],[[15,[4,[3]]],[[91,[90]]]],[[16,[4,[3]]],[[91,[90]]]],[[17,[4,[3]]],[[91,[90]]]],[[18,[4,[3]]],[[91,[90]]]],[[19,[4,[3]]],[[91,[90]]]],[[20,[4,[3]]],[[91,[90]]]],[[21,[4,[3]]],[[91,[90]]]],[[22,[4,[3]]],[[91,[90]]]],[[23,[4,[3]]],[[91,[90]]]],[[24,[4,[3]]],[[91,[90]]]],[[25,[4,[3]]],[[91,[90]]]],[[26,[4,[3]]],[[91,[90]]]],[[27,[4,[3]]],[[91,[90]]]],[[28,[4,[3]]],[[91,[90]]]],[[29,[4,[3]]],[[91,[90]]]],[[30,[4,[3]]],[[91,[90]]]],[[31,[4,[3]]],[[91,[90]]]],[[32,[4,[3]]],[[91,[90]]]],[[33,[4,[3]]],[[91,[90]]]],[[34,[4,[3]]],[[91,[90]]]],[[35,[4,[3]]],[[91,[90]]]],[[36,[4,[3]]],[[91,[90]]]],[[37,[4,[3]]],[[91,[90]]]],[[38,[4,[3]]],[[91,[90]]]],[[39,[4,[3]]],[[91,[90]]]],[[40,[4,[3]]],[[91,[90]]]],[[41,[4,[3]]],[[91,[90]]]],[[42,[4,[3]]],[[91,[90]]]],[[43,[4,[3]]],[[91,[90]]]],[[44,[4,[3]]],[[91,[90]]]],[[45,[4,[3]]],[[91,[90]]]],[[46,[4,[3]]],[[91,[90]]]],[[47,[4,[3]]],[[91,[90]]]],[[48,[4,[3]]],[[91,[90]]]],[[49,[4,[3]]],[[91,[90]]]],[[50,[4,[3]]],[[91,[90]]]],[[51,[4,[3]]],[[91,[90]]]],[[52,[4,[3]]],[[91,[90]]]],[[53,[4,[3]]],[[91,[90]]]],[[54,[4,[3]]],[[91,[90]]]],[[55,[4,[3]]],[[91,[90]]]],[[56,[4,[3]]],[[91,[90]]]],[[57,[4,[3]]],[[91,[90]]]],[[58,[4,[3]]],[[91,[90]]]],[[59,[4,[3]]],[[91,[90]]]],[[60,[4,[3]]],[[91,[90]]]],[[61,[4,[3]]],[[91,[90]]]],[[62,[4,[3]]],[[91,[90]]]],[[63,[4,[3]]],[[91,[90]]]],[[64,[4,[3]]],[[91,[90]]]],[[65,[4,[3]]],[[91,[90]]]],[[66,[4,[3]]],[[91,[90]]]],[[67,[4,[3]]],[[91,[90]]]],[[68,[4,[3]]],[[91,[90]]]],[[69,[4,[3]]],[[91,[90]]]],[[70,[4,[3]]],[[91,[90]]]],[[71,[4,[3]]],[[91,[90]]]],[[72,[4,[3]]],[[91,[90]]]],[[73,[4,[3]]],[[91,[90]]]],[[74,[4,[3]]],[[91,[90]]]],[[75,[4,[3]]],[[91,[90]]]],[[76,[4,[3]]],[[91,[90]]]],[[77,[4,[3]]],[[91,[90]]]],[[78,[4,[3]]],[[91,[90]]]],[[79,[4,[3]]],[[91,[90]]]],[[80,[4,[3]]],[[91,[90]]]],[[81,[4,[3]]],[[91,[90]]]],[[82,[4,[3]]],[[91,[90]]]],[[83,[4,[3]]],[[91,[90]]]],[[84,[4,[3]]],[[91,[90]]]],[[85,[4,[3]]],[[91,[90]]]],[[86,[4,[3]]],[[91,[90]]]],[[87,[4,[3]]],[[91,[90]]]],[[88,[4,[3]]],[[91,[90]]]],[[89,[4,[3]]],[[91,[90]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1],[1],[1],[1],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[92,92],[93,93],[94,94],[95,95],[[]],[[]],[[]],[[]],0,0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[8,[92,11]]]],[[],[[8,[93,11]]]],[[],[[8,[94,11]]]],[[],[[8,[95,11]]]],[[],[[8,[96,11]]]],0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],0,0,[[92,92],3],0,0,0,0,0,0,0,0,[[97,2],98],[[99,2],98],[[100,2],98],[[101,2],98],[[102,2],98],[[103,2],98],[[104,2],98],[[105,2],98],[[106,2],98],[[107,2],98],[[108,2],98],[[109,2],98],[[110,2],98],[[111,2],98],[[112,2],98],[[113,2],98],[[114,2],98],[[115,2],98],[[116,2],98],[[117,2],98],[[118,2],98],[[119,2],98],[[120,2],98],[[121,2],98],[[122,2],98],[[123,2],98],[[124,2],98],[[125,2],98],[[126,2],98],[[127,2],98],[[128,2],98],[[129,2],98],[[130,2],98],[[131,2],98],[[132,2],98],[[133,2],98],[[134,2],98],[[135,2],98],[[136,2],98],[[137,2],98],[[138,2],98],[[139,2],98],[[140,2],98],[[141,2],98],[[142,2],98],[[143,2],98],[[144,2],98],[[145,2],98],[[146,2],98],[[147,2],98],[[148,2],98],[[149,2],98],[[150,2],98],[[151,2],98],[[152,2],98],[[153,2],98],[[154,2],98],[[155,2],98],[[156,2],98],[[157,2],98],[[158,2],98],[[159,2],98],[[160,2],98],[[161,2],98],[[162,2],98],[[163,2],98],[[164,2],98],[[165,2],98],[[166,2],98],[[167,2],98],[[168,2],98],[[169,2],98],[[170,2],98],[[171,2],98],[[172,2],98],[[173,2],98],[[174,2],98],[[175,2],98],[[176,2],98],0,0,[[92,177],178],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[92,[[8,[11]]]],[93,[[8,[11]]]],[94,[[8,[11]]]],[95,[[8,[11]]]],[96,[[8,[11]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[97,[[91,[179]]]],[99,[[91,[179]]]],[100,[[91,[179]]]],[101,[[91,[179]]]],[102,[[91,[179]]]],[103,[[91,[179]]]],[104,[[91,[179]]]],[105,[[91,[179]]]],[106,[[91,[179]]]],[107,[[91,[179]]]],[108,[[91,[179]]]],[109,[[91,[179]]]],[110,[[91,[179]]]],[111,[[91,[179]]]],[112,[[91,[179]]]],[113,[[91,[179]]]],[114,[[91,[179]]]],[115,[[91,[179]]]],[116,[[91,[179]]]],[117,[[91,[179]]]],[118,[[91,[179]]]],[119,[[91,[179]]]],[120,[[91,[179]]]],[121,[[91,[179]]]],[122,[[91,[179]]]],[123,[[91,[179]]]],[124,[[91,[179]]]],[125,[[91,[179]]]],[126,[[91,[179]]]],[127,[[91,[179]]]],[128,[[91,[179]]]],[129,[[91,[179]]]],[130,[[91,[179]]]],[131,[[91,[179]]]],[132,[[91,[179]]]],[133,[[91,[179]]]],[134,[[91,[179]]]],[135,[[91,[179]]]],[136,[[91,[179]]]],[137,[[91,[179]]]],[138,[[91,[179]]]],[139,[[91,[179]]]],[140,[[91,[179]]]],[141,[[91,[179]]]],[142,[[91,[179]]]],[143,[[91,[179]]]],[144,[[91,[179]]]],[145,[[91,[179]]]],[146,[[91,[179]]]],[147,[[91,[179]]]],[148,[[91,[179]]]],[149,[[91,[179]]]],[150,[[91,[179]]]],[151,[[91,[179]]]],[152,[[91,[179]]]],[153,[[91,[179]]]],[154,[[91,[179]]]],[155,[[91,[179]]]],[156,[[91,[179]]]],[157,[[91,[179]]]],[158,[[91,[179]]]],[159,[[91,[179]]]],[160,[[91,[179]]]],[161,[[91,[179]]]],[162,[[91,[179]]]],[163,[[91,[179]]]],[164,[[91,[179]]]],[165,[[91,[179]]]],[166,[[91,[179]]]],[167,[[91,[179]]]],[168,[[91,[179]]]],[169,[[91,[179]]]],[170,[[91,[179]]]],[171,[[91,[179]]]],[172,[[91,[179]]]],[173,[[91,[179]]]],[174,[[91,[179]]]],[175,[[91,[179]]]],[176,[[91,[179]]]],[[97,[4,[3]]],[[91,[90]]]],[[99,[4,[3]]],[[91,[90]]]],[[100,[4,[3]]],[[91,[90]]]],[[101,[4,[3]]],[[91,[90]]]],[[102,[4,[3]]],[[91,[90]]]],[[103,[4,[3]]],[[91,[90]]]],[[104,[4,[3]]],[[91,[90]]]],[[105,[4,[3]]],[[91,[90]]]],[[106,[4,[3]]],[[91,[90]]]],[[107,[4,[3]]],[[91,[90]]]],[[108,[4,[3]]],[[91,[90]]]],[[109,[4,[3]]],[[91,[90]]]],[[110,[4,[3]]],[[91,[90]]]],[[111,[4,[3]]],[[91,[90]]]],[[112,[4,[3]]],[[91,[90]]]],[[113,[4,[3]]],[[91,[90]]]],[[114,[4,[3]]],[[91,[90]]]],[[115,[4,[3]]],[[91,[90]]]],[[116,[4,[3]]],[[91,[90]]]],[[117,[4,[3]]],[[91,[90]]]],[[118,[4,[3]]],[[91,[90]]]],[[119,[4,[3]]],[[91,[90]]]],[[120,[4,[3]]],[[91,[90]]]],[[121,[4,[3]]],[[91,[90]]]],[[122,[4,[3]]],[[91,[90]]]],[[123,[4,[3]]],[[91,[90]]]],[[124,[4,[3]]],[[91,[90]]]],[[125,[4,[3]]],[[91,[90]]]],[[126,[4,[3]]],[[91,[90]]]],[[127,[4,[3]]],[[91,[90]]]],[[128,[4,[3]]],[[91,[90]]]],[[129,[4,[3]]],[[91,[90]]]],[[130,[4,[3]]],[[91,[90]]]],[[131,[4,[3]]],[[91,[90]]]],[[132,[4,[3]]],[[91,[90]]]],[[133,[4,[3]]],[[91,[90]]]],[[134,[4,[3]]],[[91,[90]]]],[[135,[4,[3]]],[[91,[90]]]],[[136,[4,[3]]],[[91,[90]]]],[[137,[4,[3]]],[[91,[90]]]],[[138,[4,[3]]],[[91,[90]]]],[[139,[4,[3]]],[[91,[90]]]],[[140,[4,[3]]],[[91,[90]]]],[[141,[4,[3]]],[[91,[90]]]],[[142,[4,[3]]],[[91,[90]]]],[[143,[4,[3]]],[[91,[90]]]],[[144,[4,[3]]],[[91,[90]]]],[[145,[4,[3]]],[[91,[90]]]],[[146,[4,[3]]],[[91,[90]]]],[[147,[4,[3]]],[[91,[90]]]],[[148,[4,[3]]],[[91,[90]]]],[[149,[4,[3]]],[[91,[90]]]],[[150,[4,[3]]],[[91,[90]]]],[[151,[4,[3]]],[[91,[90]]]],[[152,[4,[3]]],[[91,[90]]]],[[153,[4,[3]]],[[91,[90]]]],[[154,[4,[3]]],[[91,[90]]]],[[155,[4,[3]]],[[91,[90]]]],[[156,[4,[3]]],[[91,[90]]]],[[157,[4,[3]]],[[91,[90]]]],[[158,[4,[3]]],[[91,[90]]]],[[159,[4,[3]]],[[91,[90]]]],[[160,[4,[3]]],[[91,[90]]]],[[161,[4,[3]]],[[91,[90]]]],[[162,[4,[3]]],[[91,[90]]]],[[163,[4,[3]]],[[91,[90]]]],[[164,[4,[3]]],[[91,[90]]]],[[165,[4,[3]]],[[91,[90]]]],[[166,[4,[3]]],[[91,[90]]]],[[167,[4,[3]]],[[91,[90]]]],[[168,[4,[3]]],[[91,[90]]]],[[169,[4,[3]]],[[91,[90]]]],[[170,[4,[3]]],[[91,[90]]]],[[171,[4,[3]]],[[91,[90]]]],[[172,[4,[3]]],[[91,[90]]]],[[173,[4,[3]]],[[91,[90]]]],[[174,[4,[3]]],[[91,[90]]]],[[175,[4,[3]]],[[91,[90]]]],[[176,[4,[3]]],[[91,[90]]]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[104,[[181,[180]]]],[105,[[181,[180]]]],[115,[[181,[180]]]],[142,[[181,[180]]]],[171,[[181,[180]]]],[176,[[181,[180]]]],[[2,182,183],[[98,[97]]]],[[2,182,183],[[98,[99]]]],[[2,182,183],[[98,[100]]]],[[2,182,183],[[98,[101]]]],[[2,182,183],[[98,[102]]]],[[2,182,183],[[98,[103]]]],[[2,182,183],[[98,[104]]]],[[2,182,183],[[98,[105]]]],[[2,182,183],[[98,[106]]]],[[2,182,183],[[98,[107]]]],[[2,182,183],[[98,[108]]]],[[2,182,183],[[98,[109]]]],[[2,182,183],[[98,[110]]]],[[2,182,183],[[98,[111]]]],[[2,182,183],[[98,[112]]]],[[2,182,183],[[98,[113]]]],[[2,182,183],[[98,[114]]]],[[2,182,183],[[98,[115]]]],[[2,182,183],[[98,[116]]]],[[2,182,183],[[98,[117]]]],[[2,182,183],[[98,[118]]]],[[2,182,183],[[98,[119]]]],[[2,182,183],[[98,[120]]]],[[2,182,183],[[98,[121]]]],[[2,182,183],[[98,[122]]]],[[2,182,183],[[98,[123]]]],[[2,182,183],[[98,[124]]]],[[2,182,183],[[98,[125]]]],[[2,182,183],[[98,[126]]]],[[2,182,183],[[98,[127]]]],[[2,182,183],[[98,[128]]]],[[2,182,183],[[98,[129]]]],[[2,182,183],[[98,[130]]]],[[2,182,183],[[98,[131]]]],[[2,182,183],[[98,[132]]]],[[2,182,183],[[98,[133]]]],[[2,182,183],[[98,[134]]]],[[2,182,183],[[98,[135]]]],[[2,182,183],[[98,[136]]]],[[2,182,183],[[98,[137]]]],[[2,182,183],[[98,[138]]]],[[2,182,183],[[98,[139]]]],[[2,182,183],[[98,[140]]]],[[2,182,183],[[98,[141]]]],[[2,182,183],[[98,[142]]]],[[2,182,183],[[98,[143]]]],[[2,182,183],[[98,[144]]]],[[2,182,183],[[98,[145]]]],[[2,182,183],[[98,[146]]]],[[2,182,183],[[98,[147]]]],[[2,182,183],[[98,[148]]]],[[2,182,183],[[98,[149]]]],[[2,182,183],[[98,[150]]]],[[2,182,183],[[98,[151]]]],[[2,182,183],[[98,[152]]]],[[2,182,183],[[98,[153]]]],[[2,182,183],[[98,[154]]]],[[2,182,183],[[98,[155]]]],[[2,182,183],[[98,[156]]]],[[2,182,183],[[98,[157]]]],[[2,182,183],[[98,[158]]]],[[2,182,183],[[98,[159]]]],[[2,182,183],[[98,[160]]]],[[2,182,183],[[98,[161]]]],[[2,182,183],[[98,[162]]]],[[2,182,183],[[98,[163]]]],[[2,182,183],[[98,[164]]]],[[2,182,183],[[98,[165]]]],[[2,182,183],[[98,[166]]]],[[2,182,183],[[98,[167]]]],[[2,182,183],[[98,[168]]]],[[2,182,183],[[98,[169]]]],[[2,182,183],[[98,[170]]]],[[2,182,183],[[98,[171]]]],[[2,182,183],[[98,[172]]]],[[2,182,183],[[98,[173]]]],[[2,182,183],[[98,[174]]]],[[2,182,183],[[98,[175]]]],[[2,182,183],[[98,[176]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[184,[[8,[93,[185,[93]]]]]],[184,[[8,[94,[185,[94]]]]]],[[],8],[184,[[8,[95,[185,[95]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],[[8,[93,[185,[93]]]]]],[[],[[8,[94,[185,[94]]]]]],[[],[[8,[95,[185,[95]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[2,3],[[],2],0,[2,3],[[],2],0,[2,3],[[],2],0,0,0,0,0,0,0,0,0,0,[1],[1],0,[[]],[[]],[[]],[[]],[179,[[98,[186]]]],[[]],[[]],[179,[[98,[187]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[98,[[91,[186]]]]]],[[],[[98,[[91,[187]]]]]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[188,188],[189,189],[[]],[[]],[[]],[186],[187],[188],[189],0,0,0,[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[],2],[186,2],[187,2],[188,2],[189,2],0,0,0,0,[[],98],[[],[[98,[[192,[[0,[190,191]]]]]]]],[[],[[8,[193]]]],[[],[[8,[193]]]],[[],[[8,[193]]]],[[],[[8,[193]]]],[[],98],[[],[[98,[[192,[[0,[190,191]]]]]]]],[[],[[8,[193]]]],[[],[[8,[193]]]],[[],[[8,[193]]]],[[],[[8,[193]]]],[[],98],[[],[[98,[[194,[[0,[190,191]]]]]]]],[187,98],[[],98],[[],[[98,[[194,[[0,[190,191]]]]]]]],[187,98],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[2,195],189],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],2],[186,2],[187,2],[188,2],[189,2],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[2,3],[[179,179,179,[91,[2]]],[[8,[196]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1],[[]],[[]],[[]],[[]],[[],4],[[],4],[197,197],[[]],[198],[6],[6],[[]],[[]],[6],[197,199],0,0,[[197,177],[[8,[200]]]],[[197,177],178],[[]],[[],6],[[]],[199,3],[[],3],[[],4],[[],4],[[]],[[]],[197,201],[[]],[[]],0,0,[[]],[[]],[[]],[[],201],[[],8],[[],8],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[202,[[91,[184]]]],[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[8,[202,11]]]],[[],[[8,[203,11]]]],[[],[[8,[204,11]]]],[[],[[8,[205,11]]]],[6],[6],[6],[6],0,[[203,177],178],[[204,177],178],[[205,177],178],[[]],[[]],[[]],[[]],0,[[],6],[[],6],[[],6],[[],6],0,[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[202,[[8,[11]]]],[203,[[8,[11]]]],[204,[[8,[11]]]],[205,[[8,[11]]]],0,0,[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1],[1],[1],[1],[1],[1],[1],[1],[[206,207,208,209,209,208,209,209],98],[[206,210,209],98],0,0,[[211,212],209],[[213,212],209],[206],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[2,6,208],98],[[[215,[214]],2,6,208],98],[[216,2,6,208],98],[[217,208,208],98],[[216,208,208],98],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[211,211],[212,212],[213,213],[218,218],[219,219],[220,220],[221,221],[206,206],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[222,212],[[98,[209]]]],[[222,212],[[98,[209]]]],[[],218],[[],219],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[8,[211,11]]]],[[],[[8,[212,11]]]],[[],[[8,[213,11]]]],[[],[[8,[220,11]]]],[[],[[8,[221,11]]]],[[],[[8,[206,11]]]],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[206,212],[[91,[218]]]],[[212,212],3],[[211,177],178],[[213,177],178],[[220,177],178],[[221,177],178],[[206,177],178],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[206,3],[206,3],0,0,[206,3],[206,3],[206,3],[206,3],[206,3],[206,3],[206,3],[206,3],[206,3],[206,3],0,[[206,212],209],[[206,212]],[[206,212]],[[213,212,209],209],[[206,212],209],[[221,212],209],[206,3],[206,3],[206,3],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[216,217],[206,3],[206,209],[[211,212],209],[[213,212],209],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[206,223,210,209],[[98,[209]]]],[[206,224,209,225,209],[[98,[226]]]],0,[[206,223,210,209,210,209,209],[[98,[209]]]],[[206,223,210,209,210,209,209],[[98,[209]]]],[[206,223,210,209,210,209,209],[[98,[209]]]],0,0,[2,[[98,[216]]]],[222,[[98,[[215,[186]]]]]],[222,[[98,[206]]]],[222,[[98,[206]]]],[209,211],[[2,[4,[227]]],[[98,[216]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[206,224],[[98,[221]]]],[[2,6,224],98],[[[215,[214]],2,6,224],98],[[216,2,6,224],98],0,[[206,208],[[98,[209]]]],0,0,0,[[206,228,229],98],[206,98],[206,98],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[217,208],98],[[216,208],98],[[216,224],98],[[216,2],[[98,[230]]]],[211,[[8,[11]]]],[212,[[8,[11]]]],[213,[[8,[11]]]],[220,[[8,[11]]]],[221,[[8,[11]]]],[206,[[8,[11]]]],[[6,2],[[98,[230]]]],[[[215,[214]],6,2],[[98,[230]]]],[[216,6,2],[[98,[230]]]],0,[[209,209,209,209],[[98,[209]]]],[[209,209,209,209],[[98,[209]]]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[206,208],[[98,[213]]]],[[206,208],[[98,[6]]]],[[206,212,208],[[98,[209]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[221,212],209],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[209,[[4,[209]]]],[209,[[4,[209]]]],[[],226],[[],227],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],0,0,0,0,0,0,0,0,0,0,0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[8,[231,11]]]],[[],[[8,[232,11]]]],[[],[[8,[233,11]]]],[[],[[8,[234,11]]]],[[],[[8,[235,11]]]],[[],[[8,[236,11]]]],[[],[[8,[237,11]]]],[[],[[8,[238,11]]]],[[],[[8,[239,11]]]],[[],[[8,[240,11]]]],[[],[[8,[241,11]]]],[[],[[8,[242,11]]]],[[],[[8,[243,11]]]],[[],[[8,[244,11]]]],[[],[[8,[245,11]]]],[[],[[8,[246,11]]]],[[],[[8,[247,11]]]],[[],[[8,[248,11]]]],[[],[[8,[249,11]]]],[[],[[8,[250,11]]]],[[],[[8,[251,11]]]],[[],[[8,[252,11]]]],[[],[[8,[253,11]]]],[[],[[8,[254,11]]]],[[],[[8,[255,11]]]],[[],[[8,[256,11]]]],[[],[[8,[257,11]]]],[[],[[8,[258,11]]]],[[],[[8,[259,11]]]],[[],[[8,[260,11]]]],[[],[[8,[261,11]]]],[[],[[8,[262,11]]]],[[],[[8,[263,11]]]],[[],[[8,[264,11]]]],[[],[[8,[265,11]]]],[[],[[8,[266,11]]]],[[],[[8,[267,11]]]],[[],[[8,[268,11]]]],[[],[[8,[269,11]]]],[[],[[8,[270,11]]]],[[],[[8,[271,11]]]],[[],[[8,[272,11]]]],[[],[[8,[273,11]]]],[[],[[8,[274,11]]]],[[],[[8,[275,11]]]],[[],[[8,[276,11]]]],[[],[[8,[277,11]]]],[[],[[8,[278,11]]]],[[],[[8,[279,11]]]],[[],[[8,[280,11]]]],[[],[[8,[281,11]]]],[[],[[8,[282,11]]]],[[],[[8,[283,11]]]],[[],[[8,[284,11]]]],[[],[[8,[285,11]]]],[[],[[8,[286,11]]]],[[],[[8,[287,11]]]],[[],[[8,[288,11]]]],[[],[[8,[289,11]]]],[[],[[8,[290,11]]]],[[],[[8,[291,11]]]],[[],[[8,[292,11]]]],[[],[[8,[293,11]]]],[[],[[8,[294,11]]]],[[],[[8,[295,11]]]],[[],[[8,[296,11]]]],[[],[[8,[297,11]]]],[[],[[8,[298,11]]]],[[],[[8,[299,11]]]],[[],[[8,[300,11]]]],[[],[[8,[301,11]]]],[[],[[8,[302,11]]]],[[],[[8,[303,11]]]],[[],[[8,[304,11]]]],[[],[[8,[305,11]]]],[[],[[8,[306,11]]]],[[],[[8,[307,11]]]],[[],[[8,[308,11]]]],[[],[[8,[309,11]]]],[[],[[8,[310,11]]]],[[],[[8,[311,11]]]],[[],[[8,[312,11]]]],[[],[[8,[313,11]]]],[[],[[8,[314,11]]]],[[],[[8,[315,11]]]],[[],[[8,[316,11]]]],[[],[[8,[317,11]]]],[[],[[8,[318,11]]]],0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[231,[[8,[11]]]],[232,[[8,[11]]]],[233,[[8,[11]]]],[234,[[8,[11]]]],[235,[[8,[11]]]],[236,[[8,[11]]]],[237,[[8,[11]]]],[238,[[8,[11]]]],[239,[[8,[11]]]],[240,[[8,[11]]]],[241,[[8,[11]]]],[242,[[8,[11]]]],[243,[[8,[11]]]],[244,[[8,[11]]]],[245,[[8,[11]]]],[246,[[8,[11]]]],[247,[[8,[11]]]],[248,[[8,[11]]]],[249,[[8,[11]]]],[250,[[8,[11]]]],[251,[[8,[11]]]],[252,[[8,[11]]]],[253,[[8,[11]]]],[254,[[8,[11]]]],[255,[[8,[11]]]],[256,[[8,[11]]]],[257,[[8,[11]]]],[258,[[8,[11]]]],[259,[[8,[11]]]],[260,[[8,[11]]]],[261,[[8,[11]]]],[262,[[8,[11]]]],[263,[[8,[11]]]],[264,[[8,[11]]]],[265,[[8,[11]]]],[266,[[8,[11]]]],[267,[[8,[11]]]],[268,[[8,[11]]]],[269,[[8,[11]]]],[270,[[8,[11]]]],[271,[[8,[11]]]],[272,[[8,[11]]]],[273,[[8,[11]]]],[274,[[8,[11]]]],[275,[[8,[11]]]],[276,[[8,[11]]]],[277,[[8,[11]]]],[278,[[8,[11]]]],[279,[[8,[11]]]],[280,[[8,[11]]]],[281,[[8,[11]]]],[282,[[8,[11]]]],[283,[[8,[11]]]],[284,[[8,[11]]]],[285,[[8,[11]]]],[286,[[8,[11]]]],[287,[[8,[11]]]],[288,[[8,[11]]]],[289,[[8,[11]]]],[290,[[8,[11]]]],[291,[[8,[11]]]],[292,[[8,[11]]]],[293,[[8,[11]]]],[294,[[8,[11]]]],[295,[[8,[11]]]],[296,[[8,[11]]]],[297,[[8,[11]]]],[298,[[8,[11]]]],[299,[[8,[11]]]],[300,[[8,[11]]]],[301,[[8,[11]]]],[302,[[8,[11]]]],[303,[[8,[11]]]],[304,[[8,[11]]]],[305,[[8,[11]]]],[306,[[8,[11]]]],[307,[[8,[11]]]],[308,[[8,[11]]]],[309,[[8,[11]]]],[310,[[8,[11]]]],[311,[[8,[11]]]],[312,[[8,[11]]]],[313,[[8,[11]]]],[314,[[8,[11]]]],[315,[[8,[11]]]],[316,[[8,[11]]]],[317,[[8,[11]]]],[318,[[8,[11]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1],0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[319,319],[[]],0,0,0,0,0,0,0,[320,[[91,[184]]]],[321,[[91,[184]]]],[322,[[91,[184]]]],[323,[[91,[184]]]],[324,[[91,[184]]]],[325,[[91,[184]]]],[326,[[91,[184]]]],[327,[[91,[184]]]],[328,[[91,[184]]]],[329,[[91,[184]]]],[330,[[91,[184]]]],[331,[[91,[184]]]],[332,[[91,[184]]]],[333,[[91,[184]]]],[334,[[91,[184]]]],[335,[[91,[184]]]],[336,[[91,[184]]]],[337,[[91,[184]]]],[338,[[91,[184]]]],[339,[[91,[184]]]],[340,[[91,[184]]]],[341,[[91,[184]]]],[342,[[91,[184]]]],[343,[[91,[184]]]],[344,[[91,[184]]]],[345,[[91,[184]]]],[346,[[91,[184]]]],[347,[[91,[184]]]],[348,[[91,[184]]]],[349,[[91,[184]]]],[350,[[91,[184]]]],[351,[[91,[184]]]],[352,[[91,[184]]]],[353,[[91,[184]]]],[354,[[91,[184]]]],[355,[[91,[184]]]],[356,[[91,[184]]]],[357,[[91,[184]]]],[358,[[91,[184]]]],0,0,0,0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[8,[320,11]]]],[[],[[8,[321,11]]]],[[],[[8,[359,11]]]],[[],[[8,[360,11]]]],[[],[[8,[322,11]]]],[[],[[8,[323,11]]]],[[],[[8,[324,11]]]],[[],[[8,[325,11]]]],[[],[[8,[326,11]]]],[[],[[8,[327,11]]]],[[],[[8,[328,11]]]],[[],[[8,[329,11]]]],[[],[[8,[330,11]]]],[[],[[8,[331,11]]]],[[],[[8,[332,11]]]],[[],[[8,[333,11]]]],[[],[[8,[334,11]]]],[[],[[8,[335,11]]]],[[],[[8,[319,11]]]],[[],[[8,[336,11]]]],[[],[[8,[337,11]]]],[[],[[8,[338,11]]]],[[],[[8,[339,11]]]],[[],[[8,[340,11]]]],[[],[[8,[341,11]]]],[[],[[8,[342,11]]]],[[],[[8,[343,11]]]],[[],[[8,[344,11]]]],[[],[[8,[345,11]]]],[[],[[8,[346,11]]]],[[],[[8,[347,11]]]],[[],[[8,[348,11]]]],[[],[[8,[349,11]]]],[[],[[8,[350,11]]]],[[],[[8,[351,11]]]],[[],[[8,[352,11]]]],[[],[[8,[353,11]]]],[[],[[8,[354,11]]]],[[],[[8,[355,11]]]],[[],[[8,[356,11]]]],[[],[[8,[357,11]]]],[[],[[8,[358,11]]]],0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[2,2,228,229]],0,0,0,[[319,319],3],0,0,0,0,0,0,0,0,0,0,0,[[319,177],178],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,[320,[[8,[11]]]],[321,[[8,[11]]]],[359,[[8,[11]]]],[360,[[8,[11]]]],[322,[[8,[11]]]],[323,[[8,[11]]]],[324,[[8,[11]]]],[325,[[8,[11]]]],[326,[[8,[11]]]],[327,[[8,[11]]]],[328,[[8,[11]]]],[329,[[8,[11]]]],[330,[[8,[11]]]],[331,[[8,[11]]]],[332,[[8,[11]]]],[333,[[8,[11]]]],[334,[[8,[11]]]],[335,[[8,[11]]]],[319,[[8,[11]]]],[336,[[8,[11]]]],[337,[[8,[11]]]],[338,[[8,[11]]]],[339,[[8,[11]]]],[340,[[8,[11]]]],[341,[[8,[11]]]],[342,[[8,[11]]]],[343,[[8,[11]]]],[344,[[8,[11]]]],[345,[[8,[11]]]],[346,[[8,[11]]]],[347,[[8,[11]]]],[348,[[8,[11]]]],[349,[[8,[11]]]],[350,[[8,[11]]]],[351,[[8,[11]]]],[352,[[8,[11]]]],[353,[[8,[11]]]],[354,[[8,[11]]]],[355,[[8,[11]]]],[356,[[8,[11]]]],[357,[[8,[11]]]],[358,[[8,[11]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[361,[97]],227],98],[[[361,[99]],3],98],[[[361,[100]],199,184,184,184,184,201],98],[[[361,[101]],[4,[201]],[4,[2]],[4,[2]],[4,[227]]],98],[[[361,[102]],184,184,184,184],98],[[[361,[102]],184,184,184,184,184],98],[[[361,[103]],3],98],[[[361,[104]]],98],[[[361,[105]]],98],[[[361,[106]],184,[91,[2]]],98],[[[361,[107]],184],98],[[[361,[108]]],98],[[[361,[109]]],98],[[[361,[110]],[91,[227]]],98],[[[361,[111]],92],98],[[[361,[111]],184,92],98],[[[361,[112]]],98],[[[361,[113]],199,184,184],98],[[[361,[114]],[4,[2]],[4,[2]],[4,[2]],[4,[184]],[4,[184]],[4,[227]],[4,[3]],[4,[362]],[4,[2]],[4,[208]],[4,[227]]],98],[[[361,[115]],227],98],[[[361,[116]]],98],[[[361,[117]]],98],[[[361,[118]],363],98],[[[361,[171]],209],98],[[[361,[172]],208,208,209],98],[[[361,[119]],184],98],[[[361,[119]],184,363],98],[[[361,[120]]],98],[[[361,[121]],199],98],[[[361,[122]]],98],[[[361,[123]],[4,[3]],[4,[3]]],98],[[[361,[124]],184],98],[[[361,[125]],184,227,227,227,184,184,227,364],98],[[[361,[126]],184,227,227,227,184,227,364],98],[[[361,[127]],365,201],98],[[[361,[128]],3],98],[[[361,[129]],184],98],[[[361,[130]],[4,[225]],184],98],[[[361,[131]],363],98],[[[361,[132]],227],98],[[[361,[133]]],98],[[[361,[134]],6],98],[[[361,[135]],224,201,366,184,226,226,362,362,362,362,362,362,362,362,362,362,362,226,3,362,362,362,362,208,362,227,362],98],[[[361,[136]]],98],[[[361,[137]],[4,[2]],[4,[366]],[4,[184]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[226]],[4,[3]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[199]],[4,[362]],[4,[362]],[4,[362]],[4,[227]],[4,[3]],3,[4,[362]],[4,[201]],[4,[3]]],98],[[[361,[138]]],98],[[[361,[139]],226,227],98],[[[361,[140]],184],98],[[[361,[141]],227],98],[[[361,[142]],227],98],[[[361,[143]],225,226,226,226,227,367,3,227,184],[[98,[[4,[363]]]]]],[[[361,[143]],225,226,226,226,226,227,367,3,227,184,368],[[98,[[4,[363]]]]]],[[[361,[143]],225,226,226,226,226,227,367,369,3,227,184,368],[[98,[[4,[363]]]]]],[[[361,[143]],225,226,226,226,227,367,369,3,227,184],[[98,[[4,[363]]]]]],[[[361,[144]],227],98],[[[361,[145]]],98],[[[361,[146]]],98],[[[361,[147]],184],98],[[[361,[148]],95,363],98],[[[361,[149]]],98],[[[361,[150]]],98],[[[361,[151]]],98],[[[361,[152]],[4,[3]],[4,[3]],[4,[201]]],98],[[[361,[153]],184],98],[[[361,[154]],95,227,227,227,93,94,227,364],98],[[[361,[155]],207,201],98],[[[361,[156]]],98],[[[361,[158]],3],98],[[[361,[159]]],98],[[[361,[160]],209],98],[[[361,[161]],209],98],[[[361,[161]],209,227,209],98],[[[361,[162]],208,199],98],[[[361,[163]],184,227],98],[[[361,[164]],227,227,227,370,370,370,3,3],98],[[[361,[164]],227,227,227,370,370,370,3,3,371,372],98],[[[361,[165]],184,227,227,227],98],[[[361,[167]],227,3],98],[[[361,[166]],227,3],98],[[[361,[168]]],98],[[[361,[169]],[4,[2]],[4,[366]],[4,[3]],[4,[96]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[199]],[4,[362]],[4,[362]],[4,[370]],[4,[226]],[4,[227]],[4,[370]],[4,[370]],3,3,[4,[184]],[4,[201]],[4,[3]],[4,[362]],[4,[362]],[4,[362]]],98],[[[361,[170]],208,208,227],98],[[[361,[171]],209],98],[[[361,[172]],208,208,209],98],[[[361,[173]],208,201,366,96,362,362,362,362,362,362,362,199,362,362,370,227,226,370,370,184,362,362,362],98],[[[361,[174]],208,201],98],[[[361,[175]]],98],[[[361,[176]],227,3],98],0,[1],[[]],[[]],[[]],[[]],[[],4],[[],4],[373,373],[[]],[6],[6],[[]],[[]],[6],[[]],[[],2],[[],6],[[]],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],8],[[],8],[[],9],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[1],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[374,375],98],[[376,375],98],[[377,375],98],[[378,375,379],98],[[380,375,184],98],[[380,375,381],98],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[382,382],[[]],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[6],[6],[6],[6],[6],[6],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[],3],[[383,179],[[98,[[194,[384]]]]]],[[383,179],[[98,[[194,[384]]]]]],[[179,2],[[98,[[192,[383]]]]]],[[],[[98,[230]]]],[[],[[98,[230]]]],[179,[[98,[[192,[230]]]]]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[],2],0,0,0,[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],0,0,[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],0,0,0,0,[[385,227]],[[[388,[[387,[386]],[387,[385]],387]]],389],[[[388,[[387,[386]],[387,[385]],387]]],389],[[[388,[[387,[386]],[387,[385]],387]]],389],[[[388,[[387,[386]],[387,[385]],387]]],389],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],224,225,391,392,227],98],[[228,225,226,226]],0,0,0,[[[388,[[387,[386]],[387,[385]],387]]],389],[[[388,[[387,[386]],[387,[385]],387]]],389],[[[388,[[387,[386]],[387,[385]],387]]],389],[[[388,[[387,[386]],[387,[385]],387]]],389],[[[388,[[387,[386]],[387,[385]],387]]],389],[393,3],0,[393,3],0,[[228,229,209],209],[210,3],[210,3],[394,[[4,[395]]]],[394,[[4,[395]]]],[394,[[4,[392]]]],[394,[[4,[392]]]],[395,394],[392,394],0,0,0,[[228,229]],[[228,229],370],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[396],0,0,0,0,0,[228,226],0,[[228,229],209],[[397,225]],0,0,0,[[[388,[[387,[386]],[387,[385]],387]]],3],[385,3],0,[[398,227,226],[[4,[226]]]],0,0,0,0,[[399,225],398],[[399,225],398],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[388,[[387,[386]],[387,[385]],387]]],222],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]]],400],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[228,229],370],0,0,0,0,0,0,0,0,0,0,[375,3],0,[385,227],0,0,0,0,0,0,0,0,0,[[399,400,229,184,[4,[225]]],98],[[399,400,363,401,[4,[2]]],[[98,[392]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[210,402,209,227],[[98,[403]]]],[[210,402,209,227],[[98,[3]]]],[[404,2,405],98],[[404,2,405,[4,[227]]],98],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],206,209],[[98,[209]]]],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],209,209],98],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],206],[[98,[209]]]],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],206,209],98],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],206],[[98,[406]]]],[[210,209],98],[[404,2,405,227],98],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],0,0,0,0,0,[210,210],[[[388,[407,407,407]]],[[388,[407,407,407]]]],[375,375],[408,408],[409,409],[385,385],[386,386],[402,402],[410,410],[228,228],[411,411],[396,396],[412,412],[413,413],[405,405],[414,414],[415,415],[391,391],[398,398],[416,416],[395,395],[392,392],[417,417],[394,394],[367,367],[418,418],[369,369],[225,225],[401,401],[419,419],[420,420],[421,421],[422,422],[423,423],[424,424],[425,425],[397,397],[426,426],[229,229],[427,427],[428,428],[429,429],[371,371],[372,372],[393,393],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[222,216],[[98,[203]]]],[[210,209,209,209],98],[[210,209],209],[[210,209,209,227],209],[210],[[229,209,209,209],[[98,[209]]]],0,0,[[],6],[423,6],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],207],[[98,[410]]]],0,0,0,0,0,0,[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],224,208],98],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],224,208,2],98],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],207],98],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],6]],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],6,2]],[227],[[423,227]],[402],[[],402],[[],410],[[],228],[[],411],[[],369],[[],429],[[],393],[[],409],[[],229],0,0,0,[[429,227],184],0,0,0,0,[[210,402,209,227],[[98,[3]]]],0,[[210,402,209,3,227],[[98,[3]]]],[[210,402,209,3,227],[[98,[3]]]],0,0,[[210,402,209,227],[[98,[3]]]],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[8,[409,11]]]],[[],[[8,[402,11]]]],[[],[[8,[410,11]]]],[[],[[8,[228,11]]]],[[],[[8,[411,11]]]],[[],[[8,[405,11]]]],[[],[[8,[366,11]]]],[[],[[8,[414,11]]]],[[],[[8,[391,11]]]],[[],[[8,[395,11]]]],[[],[[8,[392,11]]]],[[],[[8,[367,11]]]],[[],[[8,[418,11]]]],[[],[[8,[369,11]]]],[[],[[8,[225,11]]]],[[],[[8,[401,11]]]],[[],[[8,[419,11]]]],[[],[[8,[397,11]]]],[[],[[8,[426,11]]]],[[],[[8,[371,11]]]],[[],[[8,[372,11]]]],[[],[[8,[393,11]]]],[[],[[98,[414]]]],0,0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],0,[[210,402,227],[[98,[3]]]],0,[[184,184,184],6],[[184,184],6],[184,6],[[184,184,184,184,184],6],[[184,184,184,184],6],[[],6],[395,227],[394,227],[228,226],[396,3],[229,3],[[210,179],98],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],224,208],98],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],208],98],[[406,406],3],[[414,414],3],[[391,391],3],[[416,416],3],[[392,392],3],[[367,367],3],[[418,418],3],[[369,369],3],[[225,225],3],[[401,401],3],[[419,419],3],[[425,425],3],[[371,371],3],[[372,372],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],0,0,0,0,[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],224,229,397,375],98],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],224,229,397],98],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],184,184,184,184,184],98],[[385,227,227]],[392,227],0,0,0,0,0,0,0,[[421,420],4],[[421,420],4],[396,2],[396,2],0,[226,[[98,[227]]]],[227,226],0,0,0,[[210,177],178],[[375,177],178],[[408,177],178],[[402,177],178],[[410,177],178],[[228,177],178],[[411,177],178],[[396,177],178],[[412,177],178],[[413,177],178],[[405,177],178],[[366,177],178],[[391,177],178],[[392,177],178],[[367,177],178],[[418,177],178],[[369,177],178],[[225,177],178],[[401,177],178],[[419,177],178],[[424,177],178],[[397,177],178],[[426,177],178],[[229,177],178],[[427,177],178],[[428,177],178],[[429,177],178],[[393,177],178],0,0,0,0,0,0,[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]]],[[98,[393]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],98],[[],[[98,[223]]]],[[],[[98,[430]]]],[[],[[98,[[388,[386,385]]]]]],[[],[[98,[[388,[386,385,[91,[184,431]]]]]]]],[[],[[98,[386]]]],[[210,2,199,184],210],0,0,[422,3],0,[[229,225,227],363],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[393,3],0,[403,3],[228,3],[228,3],[228,3],[[],6],[423,6],0,0,[[[388,[[387,[386]],[387,[385]],387]]],184],0,0,0,0,0,[[398,226,227,226],[[4,[226]]]],0,0,0,[[]],[423],[402],0,0,0,0,[[],6],[[],6],[[],6],[399],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],0,0,0,0,0,[[],98],[[],98],[[398,391,392],98],[[421,420,392],98],[[229,225,209,209],3],0,0,0,[[209,209,209,209,209,209],209],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[225,225],[402,3],[410,3],[228,3],[[410,207],3],[[228,224],3],[[411,224],3],[[402,208],3],[[385,2],3],[422,3],[[392,227],3],[[393,227],3],[210,3],[412,3],[229,3],[427,3],[398,3],[421,3],[385,3],[402,3],[[375,408],3],[385,3],[[385,2],3],[432,3],[[225,226,226],3],[[225,227,227],3],[[225,226,226],3],[412,3],[229,3],[427,3],[375,3],[433,3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[421,420],434],[422,389],[[398,227,226],435],[[398,227,226],389],0,[394,[[4,[363]]]],0,0,0,0,0,0,0,0,0,[422,6],0,[[],[[98,[436]]]],[[],[[98,[437]]]],[[],[[98,[437]]]],0,0,0,0,0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[229,226],209],0,0,0,0,0,0,0,[[393,209],227],0,0,0,[397,3],0,[[393,370],370],0,0,0,0,0,0,0,0,0,0,0,0,0,[[421,420],4],0,0,0,0,0,0,[[385,209],3],0,[[421,420],4],0,0,0,0,0,0,[375,3],[[]],[210,438],[385,438],[412,438],[229,438],[427,438],0,0,0,0,0,0,[[402,210],209],[210,209],[210,209],[[229,209],226],[432,3],0,0,0,0,0,[[398,227,226],435],[[421,420],434],[[199,363],395],[[184,363,2,226,227,418,364,226,227],392],[[225,391],401],[[225,3,184,227,227,2,227,209,227,2,227,209,226,226],397],[[225,184,227,227,2,226],426],[[225,227,227],363],[[399,432,229,422,209,400,2,227,184],[[8,[[4,[363]],193]]]],[435,4],[434,4],0,0,[[398,439],[[4,[394]]]],[420,[[4,[439]]]],[[421,439],[[4,[394]]]],0,0,[[398,439],[[4,[394]]]],[[421,439],[[4,[394]]]],0,0,[396,6],0,0,0,0,0,0,[375,3],0,0,0,0,0,[226,227],[227,226],[[210,[4,[227]]],[[98,[209]]]],[[229,[4,[227]]],[[98,[209]]]],[[229,[4,[227]]],[[98,[404]]]],[184,[[98,[404]]]],0,[401,391],0,[421,419],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[434,4],[422,[[4,[424]]]],[422,[[4,[424]]]],[432,226],0,[386,6],0,[[[388,[[387,[386]],[387,[385]],387]],224,227],[[4,[411]]]],[[[388,[[387,[386]],[387,[385]],387]],224,363],[[4,[411]]]],0,[[[388,[[387,[386]],[387,[385]],387]]],[[98,[6]]]],[386,6],0,0,[[[388,[[387,[386]],[387,[385]],387]],6],[[98,[411]]]],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],6],411],[[[388,[[387,[386]],[387,[385]],387]],224],[[98,[228]]]],[[[388,[[387,[386]],[387,[385]],387]],6],[[98,[228]]]],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],224],[[98,[228]]]],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],6],228],0,0,0,0,[375,3],[422,[[98,[424]]]],0,0,[432,[[4,[391]]]],[440,209],0,[[393,370],370],0,[[432,227,226,399],98],0,0,0,[392,227],[[393,370],3],0,0,0,0,[[422,424],[[8,[424]]]],0,0,0,[[398,226,227,226],226],0,0,[228,209],0,0,0,0,0,[[225,4,4,3,227,226],[[4,[433]]]],0,0,0,0,0,[[228,209,209]],[[228,209]],[[228,209]],[[228,229,226,209]],[[228,209]],[[385,227]],0,0,0,0,0,0,0,0,0,[393,227],[393,227],[[398,391,363],[[4,[392]]]],[[421,420,363],[[4,[392]]]],[[398,391,227],[[4,[392]]]],[[421,420,227],[[4,[392]]]],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],6,226],98],[[228,226,226]],[[398,227,226],4],[[421,420],[[4,[392]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[429,370,227]],[[422,6],98],[[398,391],420],[[398,391],420],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[210,209],209],[[210,209],209],0,0,0,0,0,0,0,[409,[[8,[11]]]],[402,[[8,[11]]]],[410,[[8,[11]]]],[228,[[8,[11]]]],[411,[[8,[11]]]],[405,[[8,[11]]]],[366,[[8,[11]]]],[414,[[8,[11]]]],[391,[[8,[11]]]],[395,[[8,[11]]]],[392,[[8,[11]]]],[367,[[8,[11]]]],[418,[[8,[11]]]],[369,[[8,[11]]]],[225,[[8,[11]]]],[401,[[8,[11]]]],[419,[[8,[11]]]],[397,[[8,[11]]]],[426,[[8,[11]]]],[371,[[8,[11]]]],[372,[[8,[11]]]],[393,[[8,[11]]]],0,[386,6],0,[[386,6],6],[[[388,[[387,[386]],[387,[385]],387]],207],[[98,[410]]]],[[[388,[[387,[386]],[387,[385]],387]],6],[[98,[410]]]],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],207],[[98,[410]]]],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],6],410],[375,3],0,0,0,0,[[385,3]],[199],[[423,199]],[[229,3]],[[393,3]],[199],[[423,199]],[[385,3]],0,0,0,[[228,229]],[[228,229]],[229,209],0,0,0,0,0,0,0,0,[434,225],[398,225],[401,225],[419,225],[426,225],0,0,[411,401],0,[[229,209],[[98,[209]]]],0,[[184,184,184,184,184],[[98,[6]]]],0,[210,209],[229,209],0,0,0,0,0,0,0,0,0,0,0,0,[[393,209],227],0,0,0,[[393,370],370],0,[397,225],0,0,0,0,0,[227,[[4,[364]]]],0,0,0,0,0,[366,405],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[367,[[98,[418]]]],[[[388,[[387,[386]],[387,[385]],387]],227],98],[[[388,[[387,[386]],[387,[385]],387]],6],[[98,[393]]]],[386,6],0,[[[388,[[387,[386]],[387,[385]],387]]],[[98,[6]]]],0,[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],6],[[98,[393]]]],0,[386,6],0,[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],210,227,2],98],0,0,0,[[386,6],6],[[[388,[[387,[386]],[387,[385]],387]],208],[[98,[402]]]],[[[388,[[387,[386]],[387,[385]],387]],208],98],[[[388,[[387,[386]],[387,[385]],387]],6],[[98,[402]]]],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],208],98],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],6],402],0,[[],[[98,[210]]]],[[],[[98,[375]]]],[[],[[98,[409]]]],[[],[[98,[396]]]],[[],[[98,[412]]]],[[],[[98,[413]]]],[[],[[98,[415]]]],[[],[[98,[398]]]],[[],[[98,[422]]]],[[],[[98,[229]]]],[[],[[98,[427]]]],[[],[[98,[428]]]],[[],[[98,[210]]]],[[],[[98,[375]]]],[[],[[98,[409]]]],[[],[[98,[396]]]],[[],[[98,[412]]]],[[],[[98,[413]]]],[[],[[98,[415]]]],[[],[[98,[398]]]],[[],[[98,[422]]]],[[],[[98,[229]]]],[[],[[98,[427]]]],[[],[[98,[428]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[184,[[8,[391,[185,[391]]]]]],[[],8],[[],8],[184,[[8,[441,[185,[441]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[184,[[8,[367,[185,[367]]]]]],[[],8],[[],8],[184,[[8,[418,[185,[418]]]]]],[184,[[8,[369,[185,[369]]]]]],[[],8],[[],8],[184,[[8,[225,[185,[225]]]]]],[[],8],[184,[[8,[401,[185,[401]]]]]],[[],8],[184,[[8,[419,[185,[419]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[184,[[8,[425,[185,[425]]]]]],[[],8],[424,[[98,[397]]]],[424,[[98,[397]]]],[424,[[98,[426]]]],[[],8],[424,[[98,[426]]]],[[],8],[[],8],[[],8],[[],8],[184,[[8,[371,[185,[371]]]]]],[[],8],[[],8],[184,[[8,[372,[185,[372]]]]]],[[],8],[[],[[8,[391,[185,[391]]]]]],[[],[[8,[441,[185,[441]]]]]],[[],[[8,[367,[185,[367]]]]]],[[],[[8,[418,[185,[418]]]]]],[[],[[8,[369,[185,[369]]]]]],[[],[[8,[225,[185,[225]]]]]],[[],[[8,[401,[185,[401]]]]]],[[],[[8,[419,[185,[419]]]]]],[[],[[8,[425,[185,[425]]]]]],[[],[[8,[371,[185,[371]]]]]],[[],[[8,[372,[185,[372]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[409,98],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[402,210],209],[[228,229],209],[[228,229,209],[[98,[209]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[429,227,370]],[[210,402,209]],[[229,399,404,227],98],[[210,209,227]],[[421,227,227]],[[228,229,227]],0,0,0,0,[210,98],[396,98],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[210,402,209,227],[[98,[403]]]],[[210,402,209,227],[[98,[403]]]],[[210,402,209,227],[[98,[3]]]],[[210,402,209,227],[[98,[3]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,[2,3],[[],2],0,[2,3],[[],2],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],442],[[],443],[[],444],[[],445],[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[8,[442,11]]]],[[],[[8,[443,11]]]],[[],[[8,[444,11]]]],[[],[[8,[445,11]]]],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[442,[[8,[11]]]],[443,[[8,[11]]]],[444,[[8,[11]]]],[445,[[8,[11]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[438,98],[177,[[8,[200]]]]],"p":[[3,"Private"],[3,"Pubkey"],[15,"bool"],[4,"Option"],[3,"Mango"],[15,"usize"],[6,"ProgramResult"],[4,"Result"],[3,"TypeId"],[3,"AccountBuybackFeesWithMngo"],[3,"Error"],[3,"AccountClose"],[3,"AccountCreate"],[3,"AccountEdit"],[3,"AccountExpand"],[3,"AccountToggleFreeze"],[3,"AdminPerpWithdrawFees"],[3,"AdminTokenWithdrawFees"],[3,"AltExtend"],[3,"AltSet"],[3,"Benchmark"],[3,"ComputeAccountData"],[3,"FlashLoanBegin"],[3,"FlashLoanEnd"],[3,"GroupClose"],[3,"GroupCreate"],[3,"GroupEdit"],[3,"GroupWithdrawInsuranceFund"],[3,"HealthRegionBegin"],[3,"HealthRegionEnd"],[3,"IxGateSet"],[3,"OpenbookV2CancelOrder"],[3,"OpenbookV2CloseOpenOrders"],[3,"OpenbookV2CreateOpenOrders"],[3,"OpenbookV2DeregisterMarket"],[3,"OpenbookV2EditMarket"],[3,"OpenbookV2LiqForceCancelOrders"],[3,"OpenbookV2PlaceOrder"],[3,"OpenbookV2PlaceTakeOrder"],[3,"OpenbookV2RegisterMarket"],[3,"OpenbookV2SettleFunds"],[3,"PerpCancelAllOrders"],[3,"PerpCancelAllOrdersBySide"],[3,"PerpCancelOrder"],[3,"PerpCancelOrderByClientOrderId"],[3,"PerpCloseMarket"],[3,"PerpConsumeEvents"],[3,"PerpCreateMarket"],[3,"PerpDeactivatePosition"],[3,"PerpEditMarket"],[3,"PerpForceClosePosition"],[3,"PerpLiqBaseOrPositivePnl"],[3,"PerpLiqForceCancelOrders"],[3,"PerpLiqNegativePnlOrBankruptcy"],[3,"PerpLiqNegativePnlOrBankruptcyV2"],[3,"PerpPlaceOrder"],[3,"PerpSettleFees"],[3,"PerpSettlePnl"],[3,"PerpUpdateFunding"],[3,"Serum3CancelAllOrders"],[3,"Serum3CancelOrder"],[3,"Serum3CloseOpenOrders"],[3,"Serum3CreateOpenOrders"],[3,"Serum3DeregisterMarket"],[3,"Serum3EditMarket"],[3,"Serum3LiqForceCancelOrders"],[3,"Serum3PlaceOrder"],[3,"Serum3RegisterMarket"],[3,"Serum3SettleFunds"],[3,"Serum3SettleFundsV2Extra"],[3,"Serum3SettleFundsV2"],[3,"StubOracleClose"],[3,"StubOracleCreate"],[3,"StubOracleSet"],[3,"TokenAddBank"],[3,"TokenConditionalSwapCancel"],[3,"TokenConditionalSwapCreate"],[3,"TokenConditionalSwapTrigger"],[3,"TokenDepositIntoExisting"],[3,"TokenDeposit"],[3,"TokenDeregister"],[3,"TokenEdit"],[3,"TokenForceCloseBorrowsWithToken"],[3,"TokenLiqBankruptcy"],[3,"TokenLiqWithToken"],[3,"TokenRegister"],[3,"TokenRegisterTrustless"],[3,"TokenUpdateIndexAndRate"],[3,"TokenWithdraw"],[3,"AccountMeta"],[3,"Vec"],[4,"FlashLoanType"],[4,"Serum3SelfTradeBehavior"],[4,"Serum3OrderType"],[4,"Serum3Side"],[3,"InterestRateParams"],[3,"AccountBuybackFeesWithMngo"],[6,"Result"],[3,"AccountClose"],[3,"AccountCreate"],[3,"AccountEdit"],[3,"AccountExpand"],[3,"AccountToggleFreeze"],[3,"AdminPerpWithdrawFees"],[3,"AdminTokenWithdrawFees"],[3,"AltExtend"],[3,"AltSet"],[3,"Benchmark"],[3,"ComputeAccountData"],[3,"FlashLoanBegin"],[3,"FlashLoanEnd"],[3,"GroupClose"],[3,"GroupCreate"],[3,"GroupEdit"],[3,"GroupWithdrawInsuranceFund"],[3,"HealthRegionBegin"],[3,"HealthRegionEnd"],[3,"IxGateSet"],[3,"OpenbookV2CancelOrder"],[3,"OpenbookV2CloseOpenOrders"],[3,"OpenbookV2CreateOpenOrders"],[3,"OpenbookV2DeregisterMarket"],[3,"OpenbookV2EditMarket"],[3,"OpenbookV2LiqForceCancelOrders"],[3,"OpenbookV2PlaceOrder"],[3,"OpenbookV2PlaceTakeOrder"],[3,"OpenbookV2RegisterMarket"],[3,"OpenbookV2SettleFunds"],[3,"PerpCancelAllOrders"],[3,"PerpCancelAllOrdersBySide"],[3,"PerpCancelOrder"],[3,"PerpCancelOrderByClientOrderId"],[3,"PerpCloseMarket"],[3,"PerpConsumeEvents"],[3,"PerpCreateMarket"],[3,"PerpDeactivatePosition"],[3,"PerpEditMarket"],[3,"PerpForceClosePosition"],[3,"PerpLiqBaseOrPositivePnl"],[3,"PerpLiqForceCancelOrders"],[3,"PerpLiqNegativePnlOrBankruptcy"],[3,"PerpLiqNegativePnlOrBankruptcyV2"],[3,"PerpPlaceOrder"],[3,"PerpSettleFees"],[3,"PerpSettlePnl"],[3,"PerpUpdateFunding"],[3,"Serum3CancelAllOrders"],[3,"Serum3CancelOrder"],[3,"Serum3CloseOpenOrders"],[3,"Serum3CreateOpenOrders"],[3,"Serum3DeregisterMarket"],[3,"Serum3EditMarket"],[3,"Serum3LiqForceCancelOrders"],[3,"Serum3PlaceOrder"],[3,"Serum3RegisterMarket"],[3,"Serum3SettleFunds"],[3,"Serum3SettleFundsV2Extra"],[3,"Serum3SettleFundsV2"],[3,"StubOracleClose"],[3,"StubOracleCreate"],[3,"StubOracleSet"],[3,"TokenAddBank"],[3,"TokenConditionalSwapCancel"],[3,"TokenConditionalSwapCreate"],[3,"TokenConditionalSwapTrigger"],[3,"TokenDepositIntoExisting"],[3,"TokenDeposit"],[3,"TokenDeregister"],[3,"TokenEdit"],[3,"TokenForceCloseBorrowsWithToken"],[3,"TokenLiqBankruptcy"],[3,"TokenLiqWithToken"],[3,"TokenRegister"],[3,"TokenRegisterTrustless"],[3,"TokenUpdateIndexAndRate"],[3,"TokenWithdraw"],[3,"Formatter"],[6,"Result"],[3,"AccountInfo"],[3,"Transfer"],[3,"CpiContext"],[3,"BTreeMap"],[3,"BTreeSet"],[15,"u8"],[3,"TryFromPrimitiveError"],[3,"AccountInfoRef"],[3,"AccountInfoRefMut"],[3,"KeyedAccount"],[3,"KeyedAccountSharedData"],[8,"ZeroCopy"],[8,"Owner"],[3,"Ref"],[4,"Error"],[3,"RefMut"],[3,"AccountSharedData"],[4,"ProgramError"],[4,"MangoError"],[8,"Display"],[15,"u32"],[3,"Error"],[3,"String"],[3,"MangoAccountData"],[3,"Equity"],[3,"TokenEquity"],[3,"PerpEquity"],[3,"HealthCache"],[6,"Serum3MarketIndex"],[6,"TokenIndex"],[6,"I80F48"],[3,"Bank"],[3,"Prices"],[4,"HealthType"],[3,"TokenInfo"],[8,"KeyedAccountReader"],[3,"FixedOrderAccountRetriever"],[3,"ScanningAccountRetriever"],[3,"ScannedBanksAndOracles"],[3,"TokenBalance"],[3,"TokenMaxReserved"],[3,"Serum3Info"],[3,"PerpInfo"],[6,"MangoAccountRef"],[6,"MangoAccountValue"],[6,"PerpMarketIndex"],[4,"Side"],[15,"i64"],[15,"u64"],[3,"PerpPosition"],[3,"PerpMarket"],[3,"OpenOrders"],[3,"Benchmark"],[3,"OpenbookV2CancelAllOrders"],[3,"OpenbookV2LiqForceCancelOrders"],[3,"OpenbookV2SettleFunds"],[3,"OpenbookV2CancelOrder"],[3,"OpenbookV2PlaceTakerOrder"],[3,"OpenbookV2PlaceOrder"],[3,"OpenbookV2CloseOpenOrders"],[3,"OpenbookV2CreateOpenOrders"],[3,"OpenbookV2DeregisterMarket"],[3,"OpenbookV2EditMarket"],[3,"OpenbookV2RegisterMarket"],[3,"ComputeAccountData"],[3,"AltExtend"],[3,"AltSet"],[3,"TokenConditionalSwapTrigger"],[3,"TokenConditionalSwapCancel"],[3,"TokenConditionalSwapCreateV2"],[3,"TokenConditionalSwapCreate"],[3,"PerpLiqNegativePnlOrBankruptcyV2"],[3,"PerpLiqNegativePnlOrBankruptcy"],[3,"PerpLiqForceCancelOrders"],[3,"PerpLiqBaseOrPositivePnl"],[3,"PerpSettleFees"],[3,"PerpForceClosePosition"],[3,"PerpSettlePnl"],[3,"PerpUpdateFunding"],[3,"PerpConsumeEvents"],[3,"PerpCancelAllOrdersBySide"],[3,"PerpCancelAllOrders"],[3,"PerpCancelOrderByClientOrderId"],[3,"PerpCancelOrder"],[3,"PerpPlaceOrderPeggedV2"],[3,"PerpPlaceOrderPegged"],[3,"PerpPlaceOrderV2"],[3,"PerpPlaceOrder"],[3,"PerpDeactivatePosition"],[3,"PerpCloseMarket"],[3,"PerpEditMarket"],[3,"PerpCreateMarket"],[3,"TokenLiqBankruptcy"],[3,"TokenForceCloseBorrowsWithToken"],[3,"TokenLiqWithToken"],[3,"LiqTokenBankruptcy"],[3,"LiqTokenWithToken"],[3,"Serum3LiqForceCancelOrders"],[3,"Serum3SettleFundsV2"],[3,"Serum3SettleFunds"],[3,"Serum3CancelAllOrders"],[3,"Serum3CancelOrder"],[3,"Serum3PlaceOrder"],[3,"Serum3CloseOpenOrders"],[3,"Serum3CreateOpenOrders"],[3,"Serum3DeregisterMarket"],[3,"Serum3EditMarket"],[3,"Serum3RegisterMarket"],[3,"HealthRegionEnd"],[3,"HealthRegionBegin"],[3,"FlashLoanEndV2"],[3,"FlashLoanEnd"],[3,"FlashLoanBegin"],[3,"TokenWithdraw"],[3,"TokenDepositIntoExisting"],[3,"TokenDeposit"],[3,"StubOracleSetTest"],[3,"StubOracleSet"],[3,"StubOracleClose"],[3,"StubOracleCreate"],[3,"AccountBuybackFeesWithMngo"],[3,"AccountClose"],[3,"AccountToggleFreeze"],[3,"AccountEdit"],[3,"AccountExpandV2"],[3,"AccountExpand"],[3,"AccountCreate"],[3,"TokenUpdateIndexAndRate"],[3,"TokenDeregister"],[3,"TokenAddBank"],[3,"TokenEdit"],[3,"TokenRegisterTrustless"],[3,"TokenRegister"],[3,"GroupClose"],[3,"IxGateSet"],[3,"GroupWithdrawInsuranceFund"],[3,"GroupEdit"],[3,"GroupCreate"],[3,"AdminPerpWithdrawFees"],[3,"AdminTokenWithdrawFees"],[4,"LoanOriginationFeeInstruction"],[3,"PerpBalanceLog"],[3,"TokenBalanceLog"],[3,"FlashLoanLog"],[3,"FlashLoanLogV2"],[3,"WithdrawLog"],[3,"DepositLog"],[3,"FillLog"],[3,"FillLogV2"],[3,"FillLogV3"],[3,"PerpUpdateFundingLog"],[3,"PerpUpdateFundingLogV2"],[3,"UpdateIndexLog"],[3,"UpdateRateLog"],[3,"TokenLiqWithTokenLog"],[3,"Serum3OpenOrdersBalanceLog"],[3,"Serum3OpenOrdersBalanceLogV2"],[3,"WithdrawLoanOriginationFeeLog"],[3,"WithdrawLoanLog"],[3,"TokenLiqBankruptcyLog"],[3,"DeactivateTokenPositionLog"],[3,"DeactivatePerpPositionLog"],[3,"TokenMetaDataLog"],[3,"PerpMarketMetaDataLog"],[3,"Serum3RegisterMarketLog"],[3,"PerpLiqBaseOrPositivePnlLog"],[3,"PerpLiqBankruptcyLog"],[3,"PerpLiqNegativePnlOrBankruptcyLog"],[3,"PerpSettlePnlLog"],[3,"PerpSettleFeesLog"],[3,"AccountBuybackFeesWithMngoLog"],[3,"FilledPerpOrderLog"],[3,"PerpTakerTradeLog"],[3,"PerpForceClosePositionLog"],[3,"TokenForceCloseBorrowsWithTokenLog"],[3,"TokenConditionalSwapCreateLog"],[3,"TokenConditionalSwapCreateLogV2"],[3,"TokenConditionalSwapTriggerLog"],[3,"TokenConditionalSwapTriggerLogV2"],[3,"TokenConditionalSwapCancelLog"],[3,"FlashLoanTokenDetail"],[3,"FlashLoanTokenDetailV2"],[3,"Context"],[15,"f32"],[15,"u128"],[15,"u16"],[6,"OpenbookV2MarketIndex"],[3,"OracleConfigParams"],[4,"PlaceOrderType"],[15,"i32"],[4,"SelfTradeBehavior"],[15,"f64"],[4,"TokenConditionalSwapDisplayPriceStyle"],[4,"TokenConditionalSwapIntention"],[3,"MangoV4"],[3,"InitOpenOrders"],[3,"Group"],[3,"CloseOpenOrders"],[3,"SettleFunds"],[3,"PlaceOrder"],[3,"NewOrderInstructionV3"],[3,"CancelOrder"],[3,"CancelOrderInstructionV2"],[3,"OrderBookStateHeader"],[3,"MarketState"],[3,"Slab"],[3,"MangoAccountFixed"],[3,"MangoAccountDynamicHeader"],[8,"DerefOrBorrow"],[3,"DynamicAccount"],[8,"Iterator"],[8,"DerefOrBorrowMut"],[4,"BookSideOrderTree"],[3,"LeafNode"],[3,"TokenConditionalSwap"],[3,"AnyNode"],[3,"InnerNode"],[3,"MintInfo"],[3,"FillEvent"],[3,"BookSide"],[3,"Orderbook"],[6,"MangoAccountRefMut"],[4,"SideAndOrderTree"],[3,"TokenPosition"],[3,"WithdrawResult"],[3,"OracleState"],[3,"OracleConfig"],[4,"CheckLiquidatable"],[8,"Clone"],[4,"IxGate"],[3,"MangoAccount"],[3,"Serum3Orders"],[3,"PerpOpenOrder"],[3,"OpenbookV2Market"],[3,"OpenbookV2MarketIndexReservation"],[4,"OracleType"],[3,"StubOracle"],[4,"OrderState"],[3,"FreeNode"],[4,"PostOrderType"],[4,"OrderTreeType"],[3,"OrderTreeRoot"],[3,"OrderTreeNodes"],[3,"EventQueue"],[3,"EventQueueHeader"],[3,"AnyEvent"],[4,"EventType"],[3,"OutEvent"],[3,"Serum3Market"],[3,"Serum3MarketIndexReservation"],[3,"StablePriceModel"],[6,"MangoAccountLoadedRef"],[3,"Global"],[3,"Order"],[3,"BookSideIterItem"],[3,"OrderTreeIter"],[3,"BookSideIter"],[6,"MangoAccountLoadedRefCell"],[6,"MangoAccountLoadedRefCellMut"],[15,"str"],[6,"NodeHandle"],[15,"i8"],[4,"NodeTag"],[3,"TokenIndex"],[3,"Serum3MarketIndex"],[3,"PerpMarketIndex"],[3,"I80F48"],[8,"AccountReader"],[8,"LoadZeroCopy"],[8,"LoadZeroCopyRef"],[8,"LoadMutZeroCopy"],[8,"LoadMutZeroCopyRef"],[8,"Contextable"],[8,"IsAnchorErrorWithCode"],[8,"AccountRetriever"],[8,"LowPrecisionDivision"],[8,"ClampToInt"],[4,"OrderParams"],[8,"QueueHeader"],[3,"BookSideOrderHandle"],[8,"DynamicHeader"],[8,"MangoAccountLoader"],[13,"OraclePegged"],[13,"Fixed"],[13,"ImmediateOrCancel"]]},\ -"mango_v4_client":{"doc":"","t":[8,8,8,3,3,13,13,4,3,4,3,3,3,13,3,3,3,3,16,11,11,11,11,11,12,5,5,0,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,10,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,10,12,12,11,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,12,12,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,12,11,5,12,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,10,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,12,0,12,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,5,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,13,3,4,13,13,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,3,3,3,3,13,13,13,3,4,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,5,3,3,3,3,3,3,3,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,5,11,11,11,11,12,12,11,11,12,11,11,11,11,12,11,11,12,5,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,11,11,12,5,11,11,11,11,11,11,11,11],"n":["AccountFetcher","AnyhowWrap","AsyncChannelSendUnlessFull","CachedAccountFetcher","Client","ExactIn","ExactOut","JupiterSwapMode","MangoClient","MangoClientError","MangoGroupContext","PerpMarketContext","RpcAccountFetcher","SendTransactionPreflightFailure","Serum3MarketContext","TokenContext","TransactionBuilder","TransactionBuilderConfig","Value","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","account_fetcher","account_fetcher_fetch_anchor_account","account_fetcher_fetch_mango_account","account_update_stream","address","address","address_lookup_tables","address_lookup_tables","asks","az","az","az","az","az","az","az","az","az","az","az","az","bank","bank_oracle_price","bids","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","chain_data","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clear_cache","client","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cluster","coin_lot_size","coin_vault","commitment","config","context","create_account","decimals","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","derive_health_check_remaining_account_metas","derive_health_check_remaining_account_metas","derive_health_check_remaining_account_metas_two_accounts","derive_liquidation_health_check_remaining_account_metas","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","event_q","fee_payer","fetch_program_accounts","fetch_program_accounts","fetch_program_accounts","fetch_raw_account","fetch_raw_account","fetch_raw_account","fetch_raw_account_lookup_table","fetch_raw_account_lookup_table","find_accounts","find_or_create_account","first_bank","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_ref","group","group","group_for_admin","health_cache","health_region_begin_instruction","health_region_end_instruction","height","height","height","height","height","height","height","height","height","height","height","height","http_client","init","init","init","init","init","init","init","init","init","init","init","init","instructions","into","into","into","into","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","jupiter","jupiter_route","jupiter_swap","keypair_from_cli","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","mango_account","mango_account_address","mango_address_lookup_tables","map_err_anyhow","market","market","mint_info","mint_info","mint_info_address","mint_info_address","name","native_to_ui","new","new","new_detail","new_for_existing_account","new_from_rpc","new_perp_markets_listed","new_serum3_markets_listed","new_tokens_listed","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","owner","owner","payer","pc_lot_size","pc_vault","perp","perp_cancel_all_orders_instruction","perp_deactivate_position","perp_liq_base_or_positive_pnl_instruction","perp_liq_force_cancel_orders","perp_liq_negative_pnl_or_bankruptcy_instruction","perp_market_address","perp_market_indexes_by_name","perp_markets","perp_oracle_price","perp_place_order","perp_place_order_instruction","perp_pnl","perp_settle_pnl","perp_settle_pnl_instruction","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","prepare_jupiter_swap_transaction","prettify_client_error","prettify_solana_client_error","prioritization_micro_lamports","provide","pubkey_from_cli","req_q","rpc","rpc_anchor_account","rpc_async","rpc_send_transaction_config","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","send","send_and_confirm","send_and_confirm_owner_tx","send_and_confirm_permissionless_tx","send_and_confirm_transaction","send_unless_full","serum3","serum3_base_token","serum3_cancel_all_orders","serum3_cancel_all_orders_instruction","serum3_cancel_order","serum3_create_open_orders","serum3_create_open_orders_instruction","serum3_liq_force_cancel_orders","serum3_market_index","serum3_market_indexes_by_name","serum3_markets","serum3_place_order","serum3_place_order_instruction","serum3_quote_token","serum3_settle_funds","signers","snapshot_source","timeout","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","token","token_by_mint","token_conditional_swap_trigger","token_deposit","token_index","token_indexes_by_name","token_liq_bankruptcy_instruction","token_liq_with_token_instruction","token_withdraw","tokens","tracing_subscriber_init","transaction","transaction_builder_config","transaction_size_ok","transaction_with_blockhash","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","vault_signer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","websocket_source","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","err","logs","Account","AccountUpdate","Message","Slot","Snapshot","__clone_box","__clone_box","account","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","clone","clone","clone_into","clone_into","deref","deref","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","descendants","descendants","drop","drop","from","from","from_ref","from_ref","from_rpc","height","height","init","init","into","into","into_request","into_request","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","postorder","postorder","postorder_with_size_hint","postorder_with_size_hint","preorder","preorder","preorder_with_size_hint","preorder_with_size_hint","pubkey","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","slot","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","update_chain_data","vzip","vzip","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","0","0","0","AccountData","AccountFetcher","ChainData","ChainDataMetrics","Confirmed","Processed","Rooted","SlotData","SlotStatus","__clone_box","__clone_box","__clone_box","account","account","account_bytes","account_writes_count","accounts_count","accounts_snapshot","az","az","az","az","az","az","best_chain_slot","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","chain","chain_data","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone_into","clone_into","clone_into","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","descendants","descendants","descendants","descendants","descendants","descendants","drop","drop","drop","drop","drop","drop","eq","fetch","fetch_fresh","fetch_fresh_mango_account","fetch_mango_account","fetch_program_accounts","fetch_raw","fetch_raw_account","fetch_raw_account_lookup_table","fmt","fmt","fmt","from","from","from","from","from","from","from_ref","from_ref","from_ref","height","height","height","height","height","height","init","init","init","init","init","init","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","iter_accounts","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","new","new","newest_rooted_slot","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","parent","postorder","postorder","postorder","postorder","postorder","postorder","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","preorder","preorder","preorder","preorder","preorder","preorder","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","refresh_account_via_rpc","refresh_accounts_via_rpc_until_slot","report","rpc","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","slot","slot","slots_count","spawn_report_job","status","to_owned","to_owned","to_owned","transaction_max_slot","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","update_account","update_slot","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","write_version","new","QueryFee","QueryMarketInfo","QueryResult","QueryRoute","QueryRouteFees","SwapRequest","SwapResponse","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","amount","amount","ata_deposits","az","az","az","az","az","az","az","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","cleanup_transaction","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","compute_unit_price_micro_lamports","context_slot","data","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","descendants","descendants","descendants","descendants","descendants","descendants","descendants","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","fees","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","height","height","height","height","height","height","height","id","in_amount","in_amount","init","init","init","init","init","init","init","input_mint","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","label","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lp_fee","market_infos","min_in_amount","min_out_amount","minimal_sol_for_transaction","mint","not_enough_liquidity","open_orders_deposits","other_amount_threshold","out_amount","out_amount","output_mint","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","pct","platform_fee","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","price_impact_pct","price_impact_pct","route","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","serialize","serialize","serialize","serialize","serialize","serialize","serialize","setup_transaction","signature_fee","slippage_bps","swap_mode","swap_transaction","time_taken","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","total_fee_and_deposits","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","user_public_key","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wrap_unwrap_sol","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","Direction","MaxNegative","MaxPositive","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","deref","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","descendants","drop","eq","fetch_top","fmt","from","height","init","into","into_request","lossless_try_into","lossless_try_into","lossy_into","lossy_into","overflowing_as","overflowing_cast_from","postorder","postorder_with_size_hint","preorder","preorder_with_size_hint","saturating_as","saturating_cast_from","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","vzip","wrapping_as","wrapping_cast_from","Config","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","deref","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","descendants","drop","from","get_multiple_accounts_count","height","init","into","into_request","is_mango_account","lossless_try_into","lossless_try_into","lossy_into","lossy_into","mango_group","min_slot","overflowing_as","overflowing_cast_from","parallel_rpc_requests","postorder","postorder_with_size_hint","preorder","preorder_with_size_hint","rpc_http_url","saturating_as","saturating_cast_from","snapshot_interval","start","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","vzip","wrapping_as","wrapping_cast_from","Config","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","deref","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","descendants","drop","from","get_next_create_bank_slot","height","init","into","into_request","lossless_try_into","lossless_try_into","lossy_into","lossy_into","open_orders_authority","overflowing_as","overflowing_cast_from","postorder","postorder_with_size_hint","preorder","preorder_with_size_hint","rpc_ws_url","saturating_as","saturating_cast_from","serum_program","start","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","vzip","wrapping_as","wrapping_cast_from"],"q":["mango_v4_client","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4_client::MangoClientError","","mango_v4_client::account_update_stream","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4_client::account_update_stream::Message","","","mango_v4_client::chain_data","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4_client::health_cache","mango_v4_client::jupiter","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4_client::perp_pnl","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4_client::snapshot_source","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4_client::websocket_source","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","Some Result<> types don’t convert to anyhow::Result …","Push to an async_channel::Sender and ignore if the channel …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Bank snapshot is never updated, only use static parts!","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","PerpMarket snapshot is never updated, only use static …","","","","","","","","","Allows control of AccountFetcher and externally created …","Conveniently creates a RPC based client","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Find the instructions and account lookup tables for a …","Do some manual unpacking on some ClientErrors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A copy of RpcClient::send_and_confirm_transaction that …","Send a message if the channel isn’t full","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Convenience function used in binaries to set up the fmt …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Track slots and account writes","","","","","","","","","","Ref to the most recent live write of the pubkey","","","","","Cloned snapshot of all the most recent live writes per …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Return success once all addresses have data >= min_slot","","","","","","","","","","","","","","","","","","","","","","","Return the maximum slot reported for the processing of the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns up to count accounts with highest abs pnl (by …","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,14,14,0,0,0,0,0,0,33,0,0,0,0,106,11,12,13,14,15,7,0,0,0,64,47,53,24,64,29,11,7,53,64,47,24,12,33,13,14,15,15,7,64,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,0,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,11,7,11,12,13,14,15,11,12,13,14,15,12,64,64,12,53,7,7,15,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,29,29,11,11,7,7,53,53,64,64,47,47,24,24,12,12,33,33,13,13,14,14,15,15,29,29,11,11,7,7,53,53,64,64,47,47,24,24,12,12,33,33,13,13,14,14,15,15,7,24,24,7,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,64,12,2,29,11,2,29,11,2,2,7,7,7,12,33,33,13,29,11,7,53,64,47,24,12,33,13,14,15,11,12,13,14,15,7,24,7,0,7,7,29,11,7,53,64,47,24,12,33,13,14,15,7,29,11,7,53,64,47,24,12,33,13,14,15,53,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,0,7,7,0,29,29,11,11,7,7,53,53,64,64,47,47,24,24,12,12,33,33,13,13,14,14,15,15,29,29,11,11,7,7,53,53,64,64,47,47,24,24,12,12,33,33,13,13,14,14,15,15,7,7,7,106,64,47,24,15,24,15,15,15,11,12,7,7,24,24,24,24,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,7,7,53,64,64,24,7,7,7,7,7,24,24,24,7,7,7,0,7,7,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,7,0,0,13,33,0,64,29,12,12,12,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,53,53,7,7,0,107,24,24,7,7,7,7,7,7,24,24,24,7,7,24,7,53,0,12,11,12,13,14,15,33,24,24,7,7,15,24,7,7,7,24,0,53,12,53,53,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,64,29,11,7,53,64,47,24,12,33,13,14,15,0,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,108,108,74,0,0,74,74,73,74,73,73,74,73,74,73,74,73,74,73,74,73,74,73,74,73,74,73,74,73,74,73,73,74,74,73,73,74,74,73,74,73,74,73,74,73,74,73,73,74,73,74,73,74,73,74,73,73,74,74,73,73,74,74,73,74,73,74,73,74,73,74,73,74,73,74,73,73,74,73,74,73,73,74,73,74,73,74,73,74,73,74,73,74,74,73,74,73,74,73,74,109,110,111,0,0,0,0,81,81,81,0,0,81,82,78,77,78,77,77,77,77,77,90,83,81,82,78,77,77,90,83,81,82,78,77,90,83,81,82,78,77,90,83,81,82,78,82,83,77,90,83,81,82,78,77,90,83,81,82,78,81,82,78,81,82,78,77,90,83,81,82,78,77,90,83,81,82,78,77,77,90,90,83,83,81,81,82,82,78,78,77,77,90,90,83,83,81,81,82,82,78,78,77,90,83,81,82,78,77,90,83,81,82,78,81,83,83,83,83,83,83,83,83,81,82,78,77,90,83,81,82,78,81,82,78,77,90,83,81,82,78,77,90,83,81,82,78,77,90,83,81,82,78,77,90,83,81,82,78,77,77,77,90,90,83,83,81,81,82,82,78,78,77,77,90,90,83,83,81,81,82,82,78,78,77,90,77,77,90,83,81,82,78,77,90,83,81,82,78,82,77,90,83,81,82,78,77,90,83,81,82,78,77,90,83,81,82,78,77,90,83,81,82,78,83,83,90,83,77,90,83,81,82,78,77,90,83,81,82,78,82,78,77,90,82,81,82,78,83,77,90,83,81,82,78,77,90,83,81,82,78,77,90,83,81,82,78,77,90,83,81,82,78,77,90,83,81,82,78,77,77,77,90,83,81,82,78,77,90,83,81,82,78,77,90,83,81,82,78,78,0,0,0,0,0,0,0,0,94,38,95,96,97,98,99,38,96,97,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,98,94,94,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,94,38,38,95,95,96,96,97,97,98,98,99,99,94,94,38,38,95,95,96,96,97,97,98,98,99,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,38,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,95,38,95,94,38,95,96,97,98,99,95,94,38,95,96,97,98,99,94,38,95,96,97,98,99,95,94,94,38,38,95,95,96,96,97,97,98,98,99,99,94,94,38,38,95,95,96,96,97,97,98,98,99,99,95,38,95,95,97,96,95,97,38,38,95,95,94,38,95,96,97,98,99,94,38,95,96,97,98,99,96,95,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,38,95,98,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,99,97,38,38,99,94,94,38,95,96,97,98,99,97,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,98,94,38,95,96,97,98,99,98,94,38,95,96,97,98,99,94,38,95,96,97,98,99,0,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,0,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,0,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,102,102,102,102,102,102,102,102,0,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,0,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,0,105,105,105,105,105,105,105,105],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1],[1],[1],[1],[1],0,[[2,3],[[5,[4]]]],[[2,3],[[5,[6]]]],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[7,8],[[5,[9]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[[11,[2]]]],0,[[[11,[2]]],[[11,[2]]]],[12,12],[13,13],[14,14],[15,15],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[12,3,[17,[16]],[17,[16]],18,19],5],0,[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[7,[21,[8]],[21,[8]],[21,[22]]],[[5,[[21,[23]]]]]],[[24,6,[21,[8]],[21,[8]],[21,[22]]],[[5,[[21,[23]]]]]],[[24,6,6],[[5,[[21,[23]]]]]],[[7,6,[21,[25]]],[[5,[[21,[23]]]]]],[20,20],[20,20],[20,20],[20,20],[20,20],[20,20],[20,20],[20,20],[20,20],[20,20],[20,20],[20,20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],0,0,[3,[[28,[[27,[26]]]]]],[[29,3],[[28,[[27,[26]]]]]],[[[11,[2]],3],[[28,[[27,[26]]]]]],[3,[[28,[[27,[26]]]]]],[[29,3],[[28,[[27,[26]]]]]],[[[11,[2]],3],[[28,[[27,[26]]]]]],[3,[[28,[[27,[26]]]]]],[3,[[28,[[27,[26]]]]]],[[12,3,16],[[5,[21]]]],[[12,3,[17,[16]],[17,[16]],19],[[5,[3]]]],[[7,8],[[5,[30]]]],[[12,31],32],[[33,31],32],[[33,31],32],[[13,31],32],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[7,3],0,[[3,18],3],0,[[7,6,[21,[8]],[21,[8]],[21,[22]]],[[5,[34]]]],[[7,6,[21,[8]],[21,[8]],[21,[22]]],[[5,[34]]]],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],0,[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],0,[[7,3,3,36,36,14,37],[[5,[38]]]],[[7,3,3,36,36,14,37],[[5,[39]]]],[19,16],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[7,[[5,[6]]]],0,[7,[[5,[[21,[40]]]]]],[[],5],0,0,[[24,8],41],0,[[24,8],3],0,0,[[15,9],42],[[[17,[2]]],[[11,[2]]]],[[43,44,[17,[16]],[10,[45]],13],12],[[12,3,[17,[16]],24,[17,[2]]],[[5,[7]]]],[[12,3,[17,[16]]],[[5,[7]]]],[[46,3],[[5,[24]]]],[[24,46],[[5,[37]]]],[[24,46],[[5,[37]]]],[[24,46],[[5,[37]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[7,3],0,0,0,0,[[24,22],47],[[7,22,48],[[5,[34]]]],[[7,22],[[5,[39]]]],[[7,22,49,36],[[5,[34]]]],[[7,22],[[5,[39]]]],[[7,22,36],[[5,[34]]]],[[24,22],3],0,0,[[7,22],[[5,[9]]]],[[7,22,50,49,49,49,36,51,37,36,48,52],[[5,[39]]]],[[7,6,22,50,49,49,49,36,51,37,36,48,52],[[5,[34]]]],0,[[7,22],[[5,[39]]]],[[7,22],[[5,[34]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[7,3,3,38],[[5,[53]]]],[54,55],[56,55],0,[57],[19,3],0,0,[[12,3],[[5,[4]]]],[12,46],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[53,12],[[5,[39]]]],[[53,12],[[5,[39]]]],[[7,[21,[34]]],[[5,[39]]]],[[7,[21,[34]]],[[5,[39]]]],[[58,59],60],[[],[[62,[61]]]],[[24,63],64],[[24,63],15],[[7,19],[[62,[[21,[65]],55]]]],[[7,6,63,48],[[5,[34]]]],[[7,19,66,65],[[5,[39]]]],[[7,19],[[5,[39]]]],[[7,63],34],[[7,63,3],[[5,[39]]]],[[24,19],63],0,0,[[7,19,66,36,36,36,67,68,36,25],[[5,[39]]]],[[7,6,63,66,36,36,36,67,68,36,25],[[5,[34]]]],[[24,63],15],[[7,19],[[5,[39]]]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[],69],[[24,8],15],[[24,3],[[5,[15]]]],[[7,36,36,36],[[5,[39]]]],[[7,3,36,37],[[5,[39]]]],0,0,[[7,8,9],[[5,[34]]]],[[7,8,8,9],[[5,[34]]]],[[7,3,36,37],[[5,[39]]]],0,[[]],[[53,46],[[5,[70]]]],0,[53,[[5,[37]]]],[[53,71],[[5,[70]]]],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],72],[[],72],[[],72],[[],72],[[],72],[[],72],[[],72],[[],72],[[],72],[[],72],[[],72],[[],72],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,[1],[1],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],10],[[],10],[[],10],[[],10],[73,73],[74,74],[[]],[[]],[20],[20],[20],[20],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[20,20],[20,20],[20],[20],[[]],[[]],[[]],[[]],[[[76,[75]]],[[5,[73]]]],[[],20],[[],20],[[],20],[[],20],[[]],[[]],[[],35],[[],35],[[],10],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],0,[[]],[[]],[[],62],[[],62],[[],62],[[],62],[[],72],[[],72],[[]],[[]],[[]],[[]],[[74,77]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,[1],[1],[1],[[77,3],[[62,[78,55]]]],0,[77,20],[77,20],[77,20],[77,[[80,[3,78,79]]]],[[]],[[]],[[]],[[]],[[]],[[]],[77,36],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[81,81],[82,82],[78,78],[[]],[[]],[[]],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[20,20],[20,20],[20,20],[20,20],[20,20],[20,20],[20],[20],[20],[20],[20],[20],[[81,81],37],[[83,3],[[5,[[0,[84,85]]]]]],[[83,3],[[5,[[0,[84,85]]]]]],[[83,3],[[5,[6]]]],[[83,3],[[5,[6]]]],[[83,3],[[28,[[27,[26]]]]]],[[83,3],[[5,[86]]]],[[83,3],[[28,[[27,[26]]]]]],[[83,3],[[28,[[27,[26]]]]]],[[81,31],[[62,[87]]]],[[82,31],[[62,[87]]]],[[78,31],[[62,[87]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[]],[[]],[[]],[[]],[[]],[[]],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[77,88],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],77],[89,90],[77,36],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[83,3],[[5,[91]]]],[[83,91,45],5],[[90,77]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[77,20],[[[17,[[92,[77]]]],89,45]],0,[[]],[[]],[[]],[83,[[5,[91]]]],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],72],[[],72],[[],72],[[],72],[[],72],[[],72],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[77,3,78]],[[77,82]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[24,6],[[5,[93]]]],0,0,0,0,0,0,0,[1],[1],[1],[1],[1],[1],[1],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],0,[94,94],[38,38],[95,95],[96,96],[97,97],[98,98],[99,99],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[20,20],[20,20],[20,20],[20,20],[20,20],[20,20],[20,20],[[],[[62,[94]]]],[[],[[62,[38]]]],[[],[[62,[95]]]],[[],[[62,[96]]]],[[],[[62,[97]]]],[[],[[62,[98]]]],[[],[[62,[99]]]],[20],[20],[20],[20],[20],[20],[20],0,[[94,31],32],[[38,31],32],[[95,31],32],[[96,31],32],[[97,31],32],[[98,31],32],[[99,31],32],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],0,0,0,[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],0,[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[94,62],[38,62],[95,62],[96,62],[97,62],[98,62],[99,62],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],72],[[],72],[[],72],[[],72],[[],72],[[],72],[[],72],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[],10],[[],10],[20],[20],[[]],[[]],[[]],[[]],[20,20],[20],[[100,100],37],[[24,22,100,20],[[5,[21]]]],[[100,31],32],[[]],[[],20],[[],20],[[]],[[],35],[[],10],[[],10],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],62],[[],62],[[],72],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[],10],[[],10],[20],[20],[[]],[[]],[[]],[[]],[20,20],[20],[[]],0,[[],20],[[],20],[[]],[[],35],[[86,3],[[10,[101]]]],[[],10],[[],10],[[]],[[]],0,0,[[]],[[]],0,[[]],[[]],[[]],[[]],0,[[]],[[]],0,[[102,[21,[3]],[103,[74]]]],[[],62],[[],62],[[],72],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[],10],[[],10],[20],[20],[[]],[[]],[[]],[[]],[20,20],[20],[[]],[[[104,[74]],45],[[5,[36]]]],[[],20],[[],20],[[]],[[],35],[[],10],[[],10],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],0,[[105,[21,[3]],[103,[74]]]],[[],62],[[],62],[[],72],[[]],[[]],[[]],[[]],[[]]],"p":[[3,"Private"],[8,"AccountFetcher"],[3,"Pubkey"],[8,"AccountDeserialize"],[6,"Result"],[6,"MangoAccountValue"],[3,"MangoClient"],[6,"TokenIndex"],[6,"I80F48"],[4,"Option"],[3,"CachedAccountFetcher"],[3,"Client"],[3,"TransactionBuilderConfig"],[4,"JupiterSwapMode"],[3,"TokenContext"],[3,"Keypair"],[3,"Arc"],[15,"u32"],[15,"str"],[15,"usize"],[3,"Vec"],[6,"PerpMarketIndex"],[3,"AccountMeta"],[3,"MangoGroupContext"],[15,"u16"],[8,"Future"],[3,"Box"],[3,"Pin"],[3,"RpcAccountFetcher"],[3,"Bank"],[3,"Formatter"],[6,"Result"],[4,"MangoClientError"],[3,"Instruction"],[3,"Request"],[15,"u64"],[15,"bool"],[3,"QueryRoute"],[3,"Signature"],[3,"AddressLookupTableAccount"],[3,"MintInfo"],[15,"f64"],[4,"Cluster"],[3,"CommitmentConfig"],[3,"Duration"],[3,"RpcClient"],[3,"PerpMarketContext"],[15,"u8"],[15,"i64"],[4,"Side"],[4,"PlaceOrderType"],[4,"SelfTradeBehavior"],[3,"TransactionBuilder"],[4,"ClientError"],[3,"Error"],[3,"ClientError"],[3,"Demand"],[3,"RpcClient"],[3,"Transaction"],[6,"Result"],[3,"SendError"],[4,"Result"],[6,"Serum3MarketIndex"],[3,"Serum3MarketContext"],[15,"u128"],[4,"Serum3Side"],[4,"Serum3SelfTradeBehavior"],[4,"Serum3OrderType"],[3,"String"],[3,"VersionedTransaction"],[3,"Hash"],[3,"TypeId"],[3,"AccountUpdate"],[4,"Message"],[3,"RpcKeyedAccount"],[3,"Response"],[3,"ChainData"],[3,"AccountData"],[3,"RandomState"],[3,"HashMap"],[4,"SlotStatus"],[3,"SlotData"],[3,"AccountFetcher"],[8,"ZeroCopy"],[8,"Owner"],[3,"AccountSharedData"],[3,"Error"],[8,"Iterator"],[3,"Metrics"],[3,"ChainDataMetrics"],[6,"Slot"],[3,"RwLock"],[3,"HealthCache"],[3,"QueryResult"],[3,"QueryMarketInfo"],[3,"QueryFee"],[3,"QueryRouteFees"],[3,"SwapRequest"],[3,"SwapResponse"],[4,"Direction"],[6,"MangoAccountLoadedRef"],[3,"Config"],[3,"Sender"],[3,"Receiver"],[3,"Config"],[8,"AnyhowWrap"],[8,"AsyncChannelSendUnlessFull"],[13,"SendTransactionPreflightFailure"],[13,"Account"],[13,"Snapshot"],[13,"Slot"]]}\ +"mango_v4":{"doc":"","t":[7,3,11,14,0,0,0,0,11,14,11,11,11,5,11,11,11,11,11,11,11,11,11,5,0,14,14,0,11,14,0,0,5,11,11,0,11,0,11,11,11,11,0,14,11,11,0,14,14,11,11,0,14,0,11,11,11,11,0,11,11,0,11,11,11,14,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,3,3,3,3,3,3,3,3,3,3,13,3,13,13,3,13,3,3,4,3,3,3,3,3,3,13,3,3,13,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,13,3,3,3,3,3,3,3,4,3,3,4,3,3,3,4,3,3,3,13,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,13,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,5,5,7,5,5,7,5,5,3,3,8,3,8,3,8,8,8,8,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,12,12,12,12,10,10,11,11,11,11,10,10,11,11,11,11,10,10,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,5,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,4,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,2,2,11,11,11,11,11,10,10,11,11,11,11,11,11,11,2,2,11,11,11,11,11,11,11,11,11,11,10,11,11,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,8,3,3,4,13,13,13,3,3,3,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,12,11,11,11,12,12,11,5,5,5,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,12,11,12,12,12,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,12,5,5,12,12,12,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,8,10,10,10,10,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,3,3,3,3,3,3,3,3,3,13,13,4,3,3,3,3,3,3,3,3,3,3,3,13,3,3,13,3,13,3,3,3,3,13,3,3,3,3,3,3,13,13,3,3,3,3,3,11,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,3,3,3,11,12,12,12,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,5,5,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,5,12,12,12,5,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,13,13,13,13,13,13,13,13,13,13,3,3,13,13,13,13,3,13,13,13,13,13,3,3,3,3,4,13,13,4,17,17,13,8,8,3,8,3,3,4,17,17,13,3,13,13,13,3,13,3,13,13,13,17,13,17,13,13,3,13,13,16,4,13,3,13,13,13,13,13,17,17,17,17,3,3,3,6,6,6,8,6,6,6,13,13,3,6,4,13,17,13,13,13,13,13,13,3,6,3,13,13,13,13,3,3,13,13,3,4,3,4,4,3,3,3,4,3,13,3,17,13,13,13,13,13,13,13,13,13,13,13,13,3,6,3,13,3,13,13,13,4,13,13,13,13,4,13,17,17,17,8,4,13,13,13,13,13,13,13,13,3,6,3,3,13,13,13,4,4,13,3,13,13,3,13,13,13,13,13,13,13,3,13,13,4,4,13,13,13,13,6,13,13,3,13,13,13,13,13,13,13,3,17,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,2,14,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,11,11,12,12,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,2,14,11,12,12,12,12,12,11,12,11,11,12,12,12,11,11,12,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,5,11,11,11,11,11,12,12,10,11,11,12,12,12,12,12,12,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,12,12,12,12,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,12,12,12,12,12,12,12,11,11,11,11,12,5,5,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,2,14,12,11,12,11,11,11,11,10,11,12,12,11,12,12,12,12,12,11,12,12,12,10,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,10,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,12,12,12,12,12,12,12,12,11,12,10,10,10,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,11,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,11,12,12,12,11,12,11,12,12,12,12,12,12,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,5,11,11,11,12,12,11,11,11,12,12,11,11,12,12,11,12,12,12,2,14,12,11,12,12,12,12,12,5,5,11,11,11,5,12,11,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,12,11,12,11,11,12,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,11,12,12,11,5,12,11,12,11,12,12,12,11,11,12,12,12,12,11,12,12,12,11,12,12,11,12,12,12,12,12,5,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,12,2,14,12,11,10,11,11,11,10,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,12,11,11,11,11,11,12,12,11,12,11,12,11,12,11,11,12,12,12,12,0,0,12,12,12,12,12,12,11,12,12,12,11,12,11,12,12,12,12,12,11,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,12,11,12,11,12,12,12,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,7,5,5,7,5,5,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5],"n":["ID","Mango","__clone_box","account_seeds","accounts","accounts_ix","accounts_zerocopy","address_lookup_table_program","az","bank_seeds","borrow","borrow_mut","cast_from","check_id","checked_as","checked_cast_from","clone","clone_into","deref","deref_mut","deref_or_borrow","deref_or_borrow_mut","drop","entry","error","error_msg","error_msg_typed","events","from","group_seeds","health","i80f48","id","id","init","instruction","into","logs","lossless_try_into","lossless_try_into","lossy_into","lossy_into","mango_v4","openbook_v2_market_seeds","overflowing_as","overflowing_cast_from","program","require_msg","require_msg_typed","saturating_as","saturating_cast_from","serum3_cpi","serum_market_seeds","state","to_owned","try_from","try_into","type_id","types","unwrapped_as","unwrapped_cast_from","util","vzip","wrapping_as","wrapping_cast_from","zip","AccountBuybackFeesWithMngo","AccountClose","AccountCreate","AccountEdit","AccountExpand","AccountToggleFreeze","AdminPerpWithdrawFees","AdminTokenWithdrawFees","AltExtend","AltSet","Benchmark","ComputeAccountData","FlashLoanBegin","FlashLoanEnd","GroupClose","GroupCreate","GroupEdit","GroupWithdrawInsuranceFund","HealthRegionBegin","HealthRegionEnd","IxGateSet","OpenbookV2CancelOrder","OpenbookV2CloseOpenOrders","OpenbookV2CreateOpenOrders","OpenbookV2DeregisterMarket","OpenbookV2EditMarket","OpenbookV2LiqForceCancelOrders","OpenbookV2PlaceOrder","OpenbookV2PlaceTakeOrder","OpenbookV2RegisterMarket","OpenbookV2SettleFunds","PerpCancelAllOrders","PerpCancelAllOrdersBySide","PerpCancelOrder","PerpCancelOrderByClientOrderId","PerpCloseMarket","PerpConsumeEvents","PerpCreateMarket","PerpDeactivatePosition","PerpEditMarket","PerpForceClosePosition","PerpLiqBaseOrPositivePnl","PerpLiqForceCancelOrders","PerpLiqNegativePnlOrBankruptcy","PerpLiqNegativePnlOrBankruptcyV2","PerpPlaceOrder","PerpSettleFees","PerpSettlePnl","PerpUpdateFunding","Serum3CancelAllOrders","Serum3CancelOrder","Serum3CloseOpenOrders","Serum3CreateOpenOrders","Serum3DeregisterMarket","Serum3EditMarket","Serum3LiqForceCancelOrders","Serum3PlaceOrder","Serum3RegisterMarket","Serum3SettleFunds","Serum3SettleFunds","Serum3SettleFundsV2","Serum3SettleFundsV2Extra","StubOracleClose","StubOracleCreate","StubOracleSet","TokenAddBank","TokenConditionalSwapCancel","TokenConditionalSwapCreate","TokenConditionalSwapTrigger","TokenDeposit","TokenDepositIntoExisting","TokenDeregister","TokenEdit","TokenForceCloseBorrowsWithToken","TokenLiqBankruptcy","TokenLiqWithToken","TokenRegister","TokenRegisterTrustless","TokenUpdateIndexAndRate","TokenWithdraw","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account_a","account_a","account_b","account_b","address_lookup_table","address_lookup_table","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","authority","authority","authority","authority","authority","authority","authority","authority","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","bank","bank","bank","bank","bank","bank","bank","bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_oracle","base_oracle","base_vault","base_vault","base_vault","base_vault","base_vault","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","buy_bank","buy_bank","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","creator","dao_account","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","destination","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","dummy","dust_vault","event_queue","event_queue","event_queue","event_queue","event_queue","event_queue","event_queue","existing_bank","fees_bank","fees_oracle","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","index_reservation","index_reservation","index_reservation","index_reservation","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","instructions","instructions","instructions","insurance_bank","insurance_bank_vault","insurance_mint","insurance_oracle","insurance_vault","insurance_vault","insurance_vault","insurance_vault","insurance_vault","insurance_vault","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","liab_mint_info","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor_authority","liqor_owner","liqor_owner","liqor_owner","liqor_owner","liqor_owner","liqor_owner","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","market","market","market_asks","market_asks","market_asks","market_asks","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_bids","market_bids","market_bids","market_bids","market_event_queue","market_event_queue","market_event_queue","market_event_queue","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_request_queue","market_request_queue","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","mint","mint","mint","mint","mint_info","mint_info","mint_info","mint_info","mint_info","mint_info","mngo_bank","mngo_oracle","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer_bank","payer_bank","payer_bank","payer_oracle","payer_oracle","payer_oracle","payer_vault","payer_vault","payer_vault","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_oracle","quote_oracle","quote_vault","quote_vault","quote_vault","quote_vault","quote_vault","quote_vault","rent","rent","rent","rent","rent","rent","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","sell_bank","sell_bank","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","settle_bank","settle_bank","settle_bank","settle_bank","settle_bank","settle_oracle","settle_oracle","settle_oracle","settle_oracle","settle_oracle","settle_vault","settle_vault","settle_vault","settler","settler_owner","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","token_account","token_account","token_account","token_account","token_account","token_authority","token_authority","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","v1","v2","vault","vault","vault","vault","vault","vault","vault","vault","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","AbortTransaction","AccountBuybackFeesWithMngo","AccountClose","AccountCreate","AccountEdit","AccountExpand","AccountToggleFreeze","AdminPerpWithdrawFees","AdminTokenWithdrawFees","AltExtend","AltSet","Ask","Benchmark","Bid","CancelProvide","ComputeAccountData","DecrementTake","FlashLoanBegin","FlashLoanEnd","FlashLoanType","GroupClose","GroupCreate","GroupEdit","GroupWithdrawInsuranceFund","HealthRegionBegin","HealthRegionEnd","ImmediateOrCancel","InterestRateParams","IxGateSet","Limit","OpenbookV2CancelOrder","OpenbookV2CloseOpenOrders","OpenbookV2CreateOpenOrders","OpenbookV2DeregisterMarket","OpenbookV2EditMarket","OpenbookV2LiqForceCancelOrders","OpenbookV2PlaceOrder","OpenbookV2PlaceTakeOrder","OpenbookV2RegisterMarket","OpenbookV2SettleFunds","PerpCancelAllOrders","PerpCancelAllOrdersBySide","PerpCancelOrder","PerpCancelOrderByClientOrderId","PerpCloseMarket","PerpConsumeEvents","PerpCreateMarket","PerpDeactivatePosition","PerpEditMarket","PerpForceClosePosition","PerpLiqBaseOrPositivePnl","PerpLiqForceCancelOrders","PerpLiqNegativePnlOrBankruptcy","PerpLiqNegativePnlOrBankruptcyV2","PerpPlaceOrder","PerpSettleFees","PerpSettlePnl","PerpUpdateFunding","PostOnly","Serum3CancelAllOrders","Serum3CancelOrder","Serum3CloseOpenOrders","Serum3CreateOpenOrders","Serum3DeregisterMarket","Serum3EditMarket","Serum3LiqForceCancelOrders","Serum3OrderType","Serum3PlaceOrder","Serum3RegisterMarket","Serum3SelfTradeBehavior","Serum3SettleFunds","Serum3SettleFundsV2","Serum3SettleFundsV2Extra","Serum3Side","StubOracleClose","StubOracleCreate","StubOracleSet","Swap","TokenAddBank","TokenConditionalSwapCancel","TokenConditionalSwapCreate","TokenConditionalSwapTrigger","TokenDeposit","TokenDepositIntoExisting","TokenDeregister","TokenEdit","TokenForceCloseBorrowsWithToken","TokenLiqBankruptcy","TokenLiqWithToken","TokenRegister","TokenRegisterTrustless","TokenUpdateIndexAndRate","TokenWithdraw","Unknown","__clone_box","__clone_box","__clone_box","__clone_box","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account","account_a","account_a","account_b","account_b","address_lookup_table","address_lookup_table","adjustment_factor","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","admin","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","asks","authority","authority","authority","authority","authority","authority","authority","authority","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","bank","bank","bank","bank","bank","bank","bank","bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_bank","base_oracle","base_oracle","base_vault","base_vault","base_vault","base_vault","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","bids","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","buy_bank","buy_bank","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","compute_budget","creator","dao_account","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deserialize","deserialize","deserialize","deserialize","deserialize","destination","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","dummy","dust_vault","eq","event_queue","event_queue","event_queue","event_queue","event_queue","event_queue","event_queue","existing_bank","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","exit","fees_bank","fees_oracle","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","group","index_reservation","index_reservation","index_reservation","index_reservation","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","instructions","instructions","instructions","insurance_bank","insurance_bank_vault","insurance_mint","insurance_oracle","insurance_vault","insurance_vault","insurance_vault","insurance_vault","insurance_vault","insurance_vault","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","jupiter_mainnet_3","jupiter_mainnet_4","liab_mint_info","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor_authority","liqor_owner","liqor_owner","liqor_owner","liqor_owner","liqor_owner","liqor_owner","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","market","market","market_asks","market_asks","market_asks","market_asks","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_base_vault","market_bids","market_bids","market_bids","market_bids","market_event_queue","market_event_queue","market_event_queue","market_event_queue","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_quote_vault","market_request_queue","market_request_queue","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","market_vault_signer","max_rate","mint","mint","mint","mint","mint_info","mint_info","mint_info","mint_info","mint_info","mint_info","mngo_bank","mngo_oracle","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_market_external","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","openbook_v2_program","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","oracle","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer","payer_bank","payer_bank","payer_bank","payer_oracle","payer_oracle","payer_oracle","payer_vault","payer_vault","payer_vault","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","perp_market","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_bank","quote_oracle","quote_oracle","quote_vault","quote_vault","quote_vault","quote_vault","quote_vault","rate0","rate1","rent","rent","rent","rent","rent","rent","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","sell_bank","sell_bank","serialize","serialize","serialize","serialize","serialize","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_market_external","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","serum_program","settle_bank","settle_bank","settle_bank","settle_bank","settle_bank","settle_oracle","settle_oracle","settle_oracle","settle_oracle","settle_oracle","settle_vault","settle_vault","settle_vault","settler","settler_owner","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","sol_destination","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","system_program","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_infos","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_account_metas","to_owned","to_owned","to_owned","to_owned","token_account","token_account","token_account","token_account","token_account","token_authority","token_authority","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","token_program","transfer_ctx","transfer_ctx","transfer_ctx","transfer_ctx","transfer_ctx","transfer_ctx","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_accounts","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from_primitive","try_from_primitive","try_from_primitive","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","util0","util1","v1","v2","vault","vault","vault","vault","vault","vault","vault","vault","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","ID","check_id","id","ID","check_id","id","ID","check_id","id","AccountInfoRef","AccountInfoRefMut","AccountReader","KeyedAccount","KeyedAccountReader","KeyedAccountSharedData","LoadMutZeroCopy","LoadMutZeroCopyRef","LoadZeroCopy","LoadZeroCopyRef","__clone_box","__clone_box","account","az","az","az","az","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_slice","borrow_slice","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone_into","clone_into","data","data","data","data","data","data","data","data","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","drop","drop","drop","drop","from","from","from","from","init","init","init","init","into","into","into","into","key","key","key","key","key","key","key","key","key","load","load","load","load","load","load","load_fully_unchecked","load_fully_unchecked","load_fully_unchecked","load_fully_unchecked","load_fully_unchecked","load_fully_unchecked","load_mut","load_mut","load_mut","load_mut_fully_unchecked","load_mut_fully_unchecked","load_mut_fully_unchecked","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","new","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","owner","owner","owner","owner","owner","owner","owner","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","addresses","contains","cpi_extend","AccountIsFrozen","BankBorrowLimitReached","BankNetBorrowsLimitReached","BeingLiquidated","CannotSettleWithSelf","Contextable","DepositLimit","DepositsIntoLiquidatingMustRecover","GroupIsHalted","HasLiquidatablePerpBasePosition","HasLiquidatablePositivePerpPnl","HasLiquidatableTokenPosition","HasOpenOrUnsettledSerum3Orders","HasOpenPerpOrders","HasOpenPerpTakerFills","HealthMustBeNegative","HealthMustBePositive","HealthMustBePositiveOrIncrease","HealthRegionBadInnerInstruction","InitAssetWeightCantBeNegative","InsufficentBankVaultFunds","InvalidBank","InvalidFlashLoanTargetCpiProgram","InvalidHealthAccountCount","IsAnchorErrorWithCode","IsBankrupt","IsNotBankrupt","IxIsDisabled","MangoError","MarketInReduceOnlyMode","MathError","MaxSettleAmountMustBeGreaterThanZero","NoFreePerpPositionIndex","NoFreeSerum3OpenOrdersIndex","NoFreeTokenPositionIndex","NoLiquidatablePerpBasePosition","NotImplementedError","OracleConfidence","OracleStale","PerpHasBaseLots","PerpOrderIdNotFound","PerpPositionDoesNotExist","ProfitabilityMismatch","Serum3OpenOrdersExistAlready","SettlementAmountMustBePositive","SomeError","TokenConditionalSwapPriceNotInRange","TokenInForceClose","TokenInReduceOnlyMode","TokenPositionDoesNotExist","UnexpectedOracle","UnknownOracleType","WouldSelfTrade","__clone_box","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","clone","clone_into","context","deref","deref_mut","deref_or_borrow","deref_or_borrow_mut","drop","error_code","error_msg","error_msg_typed","fmt","fmt","from","init","into","is_anchor_error_with_code","is_oracle_error","lossless_try_into","lossless_try_into","lossy_into","lossy_into","name","overflowing_as","overflowing_cast_from","require_msg","require_msg_typed","saturating_as","saturating_cast_from","to_owned","to_string","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","vzip","with_context","wrapping_as","wrapping_cast_from","Equity","MangoAccountData","PerpEquity","TokenEquity","az","az","az","az","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","data","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","equity","fmt","fmt","fmt","from","from","from","from","health_cache","init","init","init","init","init_health","into","into","into","into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","maint_health","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","perp_market_index","perps","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","serialize","serialize","serialize","serialize","token_index","tokens","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","value","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","AccountRetriever","FixedOrderAccountRetriever","HealthCache","HealthType","Init","LiquidationEnd","Maint","PerpInfo","Prices","ScannedBanksAndOracles","ScanningAccountRetriever","Serum3Info","TokenBalance","TokenInfo","TokenMaxReserved","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","adjust_serum3_reserved","adjust_token_balance","ais","asks_base_lots","asset","asset_weighted_price","assets_and_liabs","az","az","az","az","az","az","az","az","az","az","az","balance_spot","bank_and_oracle","bank_and_oracle","bank_and_oracle","banks_mut_and_oracles","banks_mut_and_oracles","base_info_index","base_lot_size","base_lots","base_prices","begin_perp","begin_serum3","bids_base_lots","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","compute_health","compute_health_from_fixed_accounts","default","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","effective_token_balances","eq","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","has_liq_spot_assets","has_liq_spot_borrows","has_open_fills","has_open_orders","has_perp_base_positions","has_perp_negative_pnl_no_base","has_perp_open_fills","has_perp_open_orders","has_perp_positive_pnl_no_base","has_phase1_liquidatable","has_phase2_liquidatable","has_phase3_liquidatable","has_possible_spot_liquidations","has_serum3_open_orders_funds","has_zero_funds","health","health_assets_and_liabs_stable_assets","health_assets_and_liabs_stable_liabs","health_contribution","health_ratio","health_unsettled_pnl","in_phase1_liquidation","in_phase2_liquidation","in_phase3_liquidation","init","init","init","init","init","init","init","init","init","init","init","init_asset_weight","init_base_asset_weight","init_base_liab_weight","init_liab_weight","init_overall_asset_weight","init_scaled_asset_weight","init_scaled_liab_weight","into","into","into","into","into","into","into","into","into","into","into","into_banks_and_oracles","is_liquidatable","leverage","liab","liab_weighted_price","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","maint_asset_weight","maint_base_asset_weight","maint_base_liab_weight","maint_liab_weight","maint_overall_asset_weight","market_index","max_borrow_for_health_ratio","max_perp_for_health_ratio","max_serum_reserved","max_swap_source_for_health","max_swap_source_for_health_fn","max_swap_source_for_health_ratio","n_banks","n_perps","new","new_fixed_order_account_retriever","new_health_cache","new_health_cache_skipping_bad_oracles","new_single_price","new_with_staleness","oracle","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","perp_info","perp_market_and_oracle_price","perp_market_and_oracle_price","perp_market_and_oracle_price","perp_market_index","perp_max_settle","prices","quote","quote_info_index","recompute_perp_info","require_after_phase1_liquidation","require_after_phase2_liquidation","reserved_base","reserved_quote","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","scanned_bank_and_oracle","scanned_bank_and_oracle","scanned_perp_market_and_oracle","scanned_serum_oo","serialize","serialize","serialize","serialize","serialize","serialize","serum_oo","serum_oo","serum_oo","settle_token_index","spot_amount_given_for_health_zero","spot_amount_taken_for_health_zero","spot_and_perp","stable","staleness_slot","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","token_index","token_info","token_info_index","total_serum3_potential","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unweighted_health_unsettled_pnl","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","ClampToInt","LowPrecisionDivision","checked_div_30bit_precision","checked_div_f64_precision","clamp_to_i64","clamp_to_u64","AccountBuybackFeesWithMngo","AccountClose","AccountCreate","AccountEdit","AccountExpand","AccountExpandV2","AccountToggleFreeze","AdminPerpWithdrawFees","AdminTokenWithdrawFees","AltExtend","AltSet","Benchmark","ComputeAccountData","FlashLoanBegin","FlashLoanEnd","FlashLoanEndV2","GroupClose","GroupCreate","GroupEdit","GroupWithdrawInsuranceFund","HealthRegionBegin","HealthRegionEnd","IxGateSet","LiqTokenBankruptcy","LiqTokenWithToken","OpenbookV2CancelAllOrders","OpenbookV2CancelOrder","OpenbookV2CloseOpenOrders","OpenbookV2CreateOpenOrders","OpenbookV2DeregisterMarket","OpenbookV2EditMarket","OpenbookV2LiqForceCancelOrders","OpenbookV2PlaceOrder","OpenbookV2PlaceTakerOrder","OpenbookV2RegisterMarket","OpenbookV2SettleFunds","PerpCancelAllOrders","PerpCancelAllOrdersBySide","PerpCancelOrder","PerpCancelOrderByClientOrderId","PerpCloseMarket","PerpConsumeEvents","PerpCreateMarket","PerpDeactivatePosition","PerpEditMarket","PerpForceClosePosition","PerpLiqBaseOrPositivePnl","PerpLiqForceCancelOrders","PerpLiqNegativePnlOrBankruptcy","PerpLiqNegativePnlOrBankruptcyV2","PerpPlaceOrder","PerpPlaceOrderPegged","PerpPlaceOrderPeggedV2","PerpPlaceOrderV2","PerpSettleFees","PerpSettlePnl","PerpUpdateFunding","Serum3CancelAllOrders","Serum3CancelOrder","Serum3CloseOpenOrders","Serum3CreateOpenOrders","Serum3DeregisterMarket","Serum3EditMarket","Serum3LiqForceCancelOrders","Serum3PlaceOrder","Serum3RegisterMarket","Serum3SettleFunds","Serum3SettleFundsV2","StubOracleClose","StubOracleCreate","StubOracleSet","StubOracleSetTest","TokenAddBank","TokenConditionalSwapCancel","TokenConditionalSwapCreate","TokenConditionalSwapCreateV2","TokenConditionalSwapTrigger","TokenDeposit","TokenDepositIntoExisting","TokenDeregister","TokenEdit","TokenForceCloseBorrowsWithToken","TokenLiqBankruptcy","TokenLiqWithToken","TokenRegister","TokenRegisterTrustless","TokenUpdateIndexAndRate","TokenWithdraw","account_num","account_num","admin_opt","allow_borrow","allow_creating_borrows","allow_creating_borrows","allow_creating_deposits","allow_creating_deposits","amount","amount","amount","amount","asset_token_index","asset_token_index","asset_token_index","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","bank_num","base_decimals","base_decimals_opt","base_liquidation_fee","base_liquidation_fee_opt","base_lot_size","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_weight_scale_start_quote","borrow_weight_scale_start_quote_opt","buyback_fees_bonus_factor_opt","buyback_fees_expiry_interval_opt","buyback_fees_opt","buyback_fees_swap_mango_account_opt","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","client_order_id","client_order_id","client_order_id","client_order_id","client_order_id","client_order_id","client_order_id","client_order_id","delegate_opt","deposit_limit_quote_opt","deposit_weight_scale_start_quote","deposit_weight_scale_start_quote_opt","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deviation","display_price_style","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","expiry_timestamp","expiry_timestamp","expiry_timestamp","expiry_timestamp","expiry_timestamp","expiry_timestamp","fast_listing_admin_opt","fee_penalty","fee_penalty_opt","fees_to_dao","fees_to_dao","flash_loan_swap_fee_rate","flash_loan_swap_fee_rate_opt","flash_loan_type","flash_loan_type","force_close","force_close_opt","force_close_opt","force_close_opt","force_close_opt","freeze","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","group_insurance_fund","group_insurance_fund_opt","group_insurance_fund_opt","group_num","impact_quantity","impact_quantity_opt","index","index","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init_asset_weight","init_asset_weight_opt","init_base_asset_weight","init_base_asset_weight_opt","init_base_liab_weight","init_base_liab_weight_opt","init_liab_weight","init_liab_weight_opt","init_overall_asset_weight","init_overall_asset_weight_opt","intention","interest_rate_params","interest_rate_params_opt","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","ix_gate","last_update_slot","liab_token_index","liab_token_index","liab_token_index","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit","limit_price","limit_price","limit_price","liquidation_fee","liquidation_fee_opt","loan_amounts","loan_fee_rate","loan_fee_rate_opt","loan_origination_fee_rate","loan_origination_fee_rate_opt","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","maint_asset_weight","maint_asset_weight_opt","maint_base_asset_weight","maint_base_asset_weight_opt","maint_base_liab_weight","maint_base_liab_weight_opt","maint_liab_weight","maint_liab_weight_opt","maint_overall_asset_weight","maint_overall_asset_weight_opt","maker_fee","maker_fee_opt","market_index","market_index","max_base_lots","max_base_lots","max_base_lots","max_base_lots","max_base_qty","max_base_qty","max_base_qty","max_base_transfer","max_buy","max_buy","max_buy_token_to_liqee","max_buyback_usd","max_funding","max_funding_opt","max_liab_transfer","max_liab_transfer","max_liab_transfer","max_liab_transfer","max_liab_transfer","max_liab_transfer","max_liab_transfer","max_native_quote_qty_including_fees","max_native_quote_qty_including_fees","max_native_quote_qty_including_fees","max_oracle_staleness_slots","max_oracle_staleness_slots","max_pnl_transfer","max_quote_lots","max_quote_lots","max_quote_lots","max_quote_lots","max_sell","max_sell","max_sell_token_to_liqor","max_settle_amount","min_funding","min_funding_opt","min_vault_to_deposits_ratio","min_vault_to_deposits_ratio_opt","mngo_token_index_opt","name","name","name","name","name","name","name_opt","name_opt","name_opt","name_opt","net_borrow_limit_per_window_quote","net_borrow_limit_per_window_quote_opt","net_borrow_limit_window_size_ts","net_borrow_limit_window_size_ts_opt","new_addresses","num_loans","oracle_config","oracle_config","oracle_config_opt","oracle_config_opt","oracle_opt","oracle_opt","order_id","order_id","order_id","order_type","order_type","order_type","order_type","order_type","order_type","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","peg_limit","peg_limit","perp_count","perp_count","perp_count","perp_market_index","perp_oo_count","perp_oo_count","perp_oo_count","positive_pnl_liquidation_fee","positive_pnl_liquidation_fee_opt","price","price","price","price_lots","price_lots","price_lower_limit","price_lower_limit","price_offset_lots","price_offset_lots","price_premium_rate","price_premium_rate","price_upper_limit","price_upper_limit","quote_lot_size","reduce_only","reduce_only","reduce_only","reduce_only","reduce_only","reduce_only","reduce_only","reduce_only_opt","reduce_only_opt","reduce_only_opt","reduce_only_opt","reset_net_borrow_limit","reset_stable_price","reset_stable_price","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","security_admin_opt","self_trade_behavior","self_trade_behavior","self_trade_behavior","self_trade_behavior","self_trade_behavior","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serum3_count","serum3_count","serum3_count","settle_fee_amount_threshold","settle_fee_amount_threshold_opt","settle_fee_flat","settle_fee_flat_opt","settle_fee_fraction_low_health","settle_fee_fraction_low_health_opt","settle_pnl_limit_factor","settle_pnl_limit_factor_opt","settle_pnl_limit_window_size_ts","settle_pnl_limit_window_size_ts_opt","settle_token_index","side","side","side","side","side","side","side","side","side","side_option","stable_price_delay_growth_limit","stable_price_delay_growth_limit_opt","stable_price_delay_growth_limit_opt","stable_price_delay_interval_seconds","stable_price_delay_interval_seconds_opt","stable_price_delay_interval_seconds_opt","stable_price_growth_limit","stable_price_growth_limit_opt","stable_price_growth_limit_opt","taker_fee","taker_fee_opt","temporary_delegate_expiry_opt","temporary_delegate_opt","testing","testing_opt","token_conditional_swap_count","token_conditional_swap_id","token_conditional_swap_id","token_conditional_swap_index","token_conditional_swap_index","token_conditional_swap_maker_fee_rate","token_conditional_swap_maker_fee_rate_opt","token_conditional_swap_taker_fee_rate","token_conditional_swap_taker_fee_rate_opt","token_count","token_count","token_count","token_index","token_index","token_index","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","version","version_opt","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","AccountBuybackFeesWithMngoLog","DeactivatePerpPositionLog","DeactivateTokenPositionLog","DepositLog","FillLog","FillLogV2","FillLogV3","FilledPerpOrderLog","FlashLoanLog","FlashLoanLogV2","FlashLoanTokenDetail","FlashLoanTokenDetailV2","LiqTokenBankruptcy","LiqTokenWithToken","LoanOriginationFeeInstruction","PerpBalanceLog","PerpForceClosePositionLog","PerpLiqBankruptcyLog","PerpLiqBaseOrPositivePnlLog","PerpLiqNegativePnlOrBankruptcyLog","PerpMarketMetaDataLog","PerpSettleFeesLog","PerpSettlePnlLog","PerpTakerTradeLog","PerpUpdateFundingLog","PerpUpdateFundingLogV2","Serum3LiqForceCancelOrders","Serum3OpenOrdersBalanceLog","Serum3OpenOrdersBalanceLogV2","Serum3PlaceOrder","Serum3RegisterMarketLog","Serum3SettleFunds","TokenBalanceLog","TokenConditionalSwapCancelLog","TokenConditionalSwapCreateLog","TokenConditionalSwapCreateLogV2","TokenConditionalSwapTrigger","TokenConditionalSwapTriggerLog","TokenConditionalSwapTriggerLogV2","TokenForceCloseBorrowsWithTokenLog","TokenLiqBankruptcyLog","TokenLiqWithTokenLog","TokenMetaDataLog","TokenWithdraw","Unknown","UpdateIndexLog","UpdateRateLog","WithdrawLoanLog","WithdrawLoanOriginationFeeLog","WithdrawLog","__clone_box","account_a","account_b","allow_creating_borrows","allow_creating_borrows","allow_creating_deposits","allow_creating_deposits","asset_price","asset_price","asset_token_index","asset_token_index","asset_transfer","asset_transfer","avg_utilization","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","bankruptcy","base_decimals","base_free","base_free","base_lot_size","base_position","base_token_index","base_token_index","base_token_index","base_total","base_total","base_transfer","base_transfer","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_index","borrow_index","borrow_index","borrow_index","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_rate","buy_amount","buy_amount","buy_token_index","buy_token_index","buy_token_index","buy_token_index","buy_token_price","buy_token_price","buyback_fees","buyback_mngo","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","change_amount","change_amount","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone_into","closed","closed","collected_fees","cumulative_borrow_interest","cumulative_deposit_interest","cumulative_long_funding","cumulative_short_funding","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","data","deposit_index","deposit_index","deposit_index","deposit_index","deposit_rate","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","display_price_style","display_price_style","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","emit_perp_balances","ending_liab_deposit_index","ending_long_funding","ending_short_funding","eq","expiry_timestamp","expiry_timestamp","fee","fee_factor","fee_penalty","fees_accrued","fees_accrued","fees_settled","fees_settled","flash_loan_type","flash_loan_type","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","id","id","id","indexed_position","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","initial_liab_native","instantaneous_funding_rate","instantaneous_funding_rate","instruction","instruction","insurance_token_index","insurance_transfer","insurance_transfer","intention","intention","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","liab_price","liab_price","liab_price","liab_token_index","liab_token_index","liab_token_index","liab_transfer","liab_transfer","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqee","liqor","liqor","liqor","liqor","liqor","liqor","liqor","liqor","loan","loan","loan_amount","loan_fee_rate","loan_origination_fee","loan_origination_fee","loan_origination_fee","loan_origination_fee","long_funding","long_funding","long_funding","long_settled_funding","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","maker","maker","maker","maker_client_order_id","maker_client_order_id","maker_closed_pnl","maker_fee","maker_fee","maker_fee","maker_fee","maker_fee","maker_fee_rate","maker_fee_rate","maker_order_id","maker_out","maker_out","maker_out","maker_slot","maker_slot","maker_slot","maker_timestamp","maker_timestamp","maker_timestamp","maker_volume","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account","mango_account_a","mango_account_b","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","mango_group","market_index","market_index","market_index","market_index","market_index","market_index","market_index","market_index","market_index","max_buy","max_buy","max_rate","max_sell","max_sell","mint","mint_decimals","mint_info","mngo_buyback_price","open_interest","open_interest","oracle","oracle","oracle_confidence","oracle_price","oracle_slot","oracle_slot","oracle_type","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","perp_market","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_market_index","perp_spot_transfers","pnl_settle_limit_transfer","pnl_transfer","price","price","price","price","price","price","price","price","price","price","price","price","price","price_lower_limit","price_lower_limit","price_premium_rate","price_premium_rate","price_upper_limit","price_upper_limit","quantity","quantity","quantity","quantity","quantity","quote_free","quote_free","quote_lot_size","quote_position","quote_token_index","quote_token_index","quote_token_index","quote_total","quote_total","quote_transfer","quote_transfer","rate0","rate1","referrer_rebates_accrued","referrer_rebates_accrued","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","sell_amount","sell_amount","sell_token_index","sell_token_index","sell_token_index","sell_token_index","sell_token_price","sell_token_price","seq_num","seq_num","seq_num","seq_num","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serum_market","serum_program","serum_program_external","settlement","settlement","settlement","settler","short_funding","short_funding","short_funding","short_settled_funding","signer","signer","socialized_loss","socialized_loss","stable_price","stable_price","stable_price","starting_liab_deposit_index","starting_long_funding","starting_short_funding","swap_fee","taker","taker","taker","taker_client_order_id","taker_client_order_id","taker_client_order_id","taker_closed_pnl","taker_fee","taker_fee","taker_fee","taker_fee","taker_fee","taker_fee_rate","taker_fee_rate","taker_fees_paid","taker_order_id","taker_side","taker_side","taker_side","taker_side","taker_volume","timestamp","timestamp","timestamp","to_owned","token_conditional_swap_id","token_conditional_swap_id","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_index","token_loan_details","token_loan_details","total_base_lots_decremented","total_base_lots_taken","total_borrows","total_deposits","total_quote_lots_decremented","total_quote_lots_taken","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","account_buyback_fees_with_mngo","account_close","account_create","account_edit","account_expand","account_expand_v2","account_toggle_freeze","admin_perp_withdraw_fees","admin_token_withdraw_fees","alt_extend","alt_set","benchmark","compute_account_data","flash_loan_begin","flash_loan_end","flash_loan_end_v2","group_close","group_create","group_edit","group_withdraw_insurance_fund","health_region_begin","health_region_end","ix_gate_set","liq_token_bankruptcy","liq_token_with_token","openbook_v2_cancel_all_orders","openbook_v2_cancel_order","openbook_v2_close_open_orders","openbook_v2_create_open_orders","openbook_v2_deregister_market","openbook_v2_edit_market","openbook_v2_liq_force_cancel_orders","openbook_v2_place_order","openbook_v2_place_taker_order","openbook_v2_register_market","openbook_v2_settle_funds","perp_cancel_all_orders","perp_cancel_all_orders_by_side","perp_cancel_order","perp_cancel_order_by_client_order_id","perp_close_market","perp_consume_events","perp_create_market","perp_deactivate_position","perp_edit_market","perp_force_close_position","perp_liq_base_or_positive_pnl","perp_liq_force_cancel_orders","perp_liq_negative_pnl_or_bankruptcy","perp_liq_negative_pnl_or_bankruptcy_v2","perp_place_order","perp_place_order_pegged","perp_place_order_pegged_v2","perp_place_order_v2","perp_settle_fees","perp_settle_pnl","perp_update_funding","serum3_cancel_all_orders","serum3_cancel_order","serum3_close_open_orders","serum3_create_open_orders","serum3_deregister_market","serum3_edit_market","serum3_liq_force_cancel_orders","serum3_place_order","serum3_register_market","serum3_settle_funds","serum3_settle_funds_v2","stub_oracle_close","stub_oracle_create","stub_oracle_set","stub_oracle_set_test","token_add_bank","token_conditional_swap_cancel","token_conditional_swap_create","token_conditional_swap_create_v2","token_conditional_swap_trigger","token_deposit","token_deposit_into_existing","token_deregister","token_edit","token_force_close_borrows_with_token","token_liq_bankruptcy","token_liq_with_token","token_register","token_register_trustless","token_update_index_and_rate","token_withdraw","MangoV4","__clone_box","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","clone","clone_into","deref","deref_mut","deref_or_borrow","deref_or_borrow_mut","drop","from","id","init","into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","overflowing_as","overflowing_cast_from","saturating_as","saturating_cast_from","to_owned","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","vzip","wrapping_as","wrapping_cast_from","CancelOrder","CloseOpenOrders","InitOpenOrders","OrderBookStateHeader","PlaceOrder","SettleFunds","__clone_box","account_flags","asks","asks","az","az","az","az","az","az","base_vault","base_vault","bids","bids","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","call","call","call","call","cancel_all","cancel_one","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone_into","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","drop","drop","drop","drop","drop","drop","event_queue","event_queue","from","from","from","from","from","from","init","init","init","init","init","init","into","into","into","into","into","into","is_valid_bit_pattern","load_asks_mut","load_bids_mut","load_market_state","load_open_orders","load_open_orders_bytes","load_open_orders_ref","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","market","market","market","market","market","open_orders","open_orders","open_orders","open_orders","open_orders","open_orders_authority","open_orders_authority","open_orders_authority","open_orders_authority","order_payer_token_account","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","program","program","program","program","program","pubkey_from_u64_array","quote_vault","quote_vault","rebates_quote_wallet","remove_slop_mut","rent","request_queue","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","sol_destination","to_owned","token_program","token_program","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","user_authority","user_base_wallet","user_quote_wallet","vault_signer","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","AbortTransaction","AccountBuybackFeesWithMngo","AccountClose","AccountCreate","AccountEdit","AccountExpand","AccountToggleFreeze","AdminPerpWithdrawFees","AdminTokenWithdrawFees","AltExtend","AltSet","AnyEvent","AnyNode","Ask","AskFixed","AskOraclePegged","Asks","Bank","BecameNotLiquidatable","Bid","BidFixed","BidOraclePegged","Bids","BookSide","BookSideIter","BookSideIterItem","BookSideOrderHandle","BookSideOrderTree","BuyTokenPerSellToken","CancelProvide","CheckLiquidatable","DAY","DAY_I80F48","DecrementTake","DerefOrBorrow","DerefOrBorrowMut","DynamicAccount","DynamicHeader","EventQueue","EventQueueHeader","EventType","FEE_BUYBACK_QUOTE_TOKEN_INDEX","FREE_ORDER_SLOT","Fill","FillEvent","Fixed","Fixed","FlashLoan","FreeNode","FreeNode","Group","GroupClose","GroupCreate","GroupWithdrawInsuranceFund","HOUR","HealthRegion","INSURANCE_TOKEN_INDEX","ImmediateOrCancel","ImmediateOrCancel","InnerNode","InnerNode","Invalid","Item","IxGate","LastFreeNode","LeafNode","LeafNode","Limit","Limit","Liquidatable","Liquidate","MAX_BANKS","MAX_NUM_EVENTS","MAX_ORDERTREE_NODES","MINIMUM_MAX_RATE","MangoAccount","MangoAccountDynamicHeader","MangoAccountFixed","MangoAccountLoadedRef","MangoAccountLoadedRefCell","MangoAccountLoadedRefCellMut","MangoAccountLoader","MangoAccountRef","MangoAccountRefMut","MangoAccountValue","Market","Market","MintInfo","NodeHandle","NodeTag","NotLiquidatable","ONE_BPS","OpenbookV2CancelOrder","OpenbookV2CloseOpenOrders","OpenbookV2CreateOpenOrders","OpenbookV2DeregisterMarket","OpenbookV2EditMarket","OpenbookV2LiqForceCancelOrders","OpenbookV2Market","OpenbookV2MarketIndex","OpenbookV2MarketIndexReservation","OpenbookV2PlaceOrder","OpenbookV2PlaceTakeOrder","OpenbookV2RegisterMarket","OpenbookV2SettleFunds","OracleConfig","OracleConfigParams","OraclePegged","OraclePegged","OracleState","OracleType","Order","OrderParams","OrderState","OrderTreeIter","OrderTreeNodes","OrderTreeRoot","OrderTreeType","Orderbook","Out","OutEvent","PERP_SETTLE_TOKEN_INDEX","PerpCancelAllOrders","PerpCancelAllOrdersBySide","PerpCancelOrder","PerpCancelOrderByClientOrderId","PerpCloseMarket","PerpConsumeEvents","PerpCreateMarket","PerpDeactivatePosition","PerpForceClosePosition","PerpLiqBaseOrPositivePnl","PerpLiqForceCancelOrders","PerpLiqNegativePnlOrBankruptcy","PerpMarket","PerpMarketIndex","PerpOpenOrder","PerpPlaceOrder","PerpPosition","PerpSettleFees","PerpSettlePnl","PerpUpdateFunding","PlaceOrderType","PostOnly","PostOnly","PostOnlySlide","PostOnlySlide","PostOrderType","Pyth","QUOTE_DECIMALS","QUOTE_NATIVE_TO_UI","QUOTE_TOKEN_INDEX","QueueHeader","SelfTradeBehavior","SellTokenPerBuyToken","Serum3CancelAllOrders","Serum3CancelOrder","Serum3CloseOpenOrders","Serum3CreateOpenOrders","Serum3DeregisterMarket","Serum3EditMarket","Serum3LiqForceCancelOrders","Serum3Market","Serum3MarketIndex","Serum3MarketIndexReservation","Serum3Orders","Serum3PlaceOrder","Serum3RegisterMarket","Serum3SettleFunds","Side","SideAndOrderTree","Skipped","StablePriceModel","StopLoss","Stub","StubOracle","StubOracleClose","StubOracleCreate","StubOracleSet","SwitchboardV1","SwitchboardV2","TakeProfit","TokenAddBank","TokenConditionalSwap","TokenConditionalSwapCancel","TokenConditionalSwapCreate","TokenConditionalSwapDisplayPriceStyle","TokenConditionalSwapIntention","TokenConditionalSwapTrigger","TokenDeposit","TokenDeregister","TokenForceCloseBorrowsWithToken","TokenIndex","TokenLiqBankruptcy","TokenLiqWithToken","TokenPosition","TokenRegister","TokenRegisterTrustless","TokenUpdateIndexAndRate","TokenWithdraw","Uninitialized","Unknown","Valid","WithdrawResult","YEAR_I80F48","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","account_num","account_num","account_seeds","account_seeds","accrue_buyback_fees","active_perp_positions","active_serum3_orders","active_token_conditional_swaps","active_token_positions","add_perp_order","add_taker_trade","address_lookup_tables","adjustment_factor","admin","all_perp_orders","all_perp_positions","all_serum3_orders","all_token_conditional_swaps","all_token_positions","allow_creating_borrows","allow_creating_borrows","allow_creating_deposits","allow_creating_deposits","apply_pnl_settle_limit","are_borrows_reduce_only","are_deposits_reduce_only","as_inner","as_inner_mut","as_leaf","as_leaf_mut","as_ref","as_ref","asks","asks","asks_base_lots","available_settle_limit","avg_entry_price","avg_entry_price_per_base_lot","avg_utilization","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","az","bank_num","bank_rate_last_updated","bank_seeds","bank_seeds","banks","banks","base_borrows_without_fee","base_decimals","base_liquidation_fee","base_lot_size","base_position_lots","base_position_lots","base_position_native","base_quote_change","base_token_index","base_token_index","base_token_index","being_liquidated","being_liquidated","being_liquidated","best_price","bids","bids","bids_base_lots","blocked1","bookside","bookside_mut","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_index","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_weight_scale_start_quote","bought","break_even_price","buf","bump","bump","bump","bump","bump","bump","bump","bump_index","buy_token_index","buyback_fees","buyback_fees","buyback_fees_accrued","buyback_fees_accrued_current","buyback_fees_accrued_current","buyback_fees_accrued_previous","buyback_fees_accrued_previous","buyback_fees_expiry_interval","buyback_fees_expiry_timestamp","buyback_fees_expiry_timestamp","buyback_fees_mngo_bonus_factor","buyback_fees_swap_mango_account","cancel_all_orders","cancel_order","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","change_with_fee","change_without_fee","check_confidence","check_confidence_and_maybe_staleness","check_health_post","check_health_post_checks","check_health_pre","check_health_pre_checks","check_liquidatable","check_net_borrows","check_staleness","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","child_earliest_expiry","children","client_id","client_order_id","client_order_id","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","collected_fees_native","compute_equity","compute_index","compute_interest_rate","compute_new_avg_utilization","compute_rates","compute_settle_fee","conf_filter","conf_filter","count","count","create_serum3_orders","creator","cumulative_borrow_interest","cumulative_deposit_interest","cumulative_long_funding","cumulative_short_funding","data","deactivate_perp_position","deactivate_perp_position_and_log","deactivate_serum3_orders","deactivate_token_position","deactivate_token_position_and_log","decr_event_id","decr_event_id","decrement_in_use","default","default","default","default","default","default","default","default_for_tests","default_for_tests","delay_accumulator_price","delay_accumulator_time","delay_growth_limit","delay_interval_index","delay_interval_seconds","delay_prices","delegate","delegate","deposit","deposit_index","deposit_internal","deposit_internal_wrapper","deposit_limit_quote","deposit_weight_scale_start_quote","deposit_with_dusting","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","determine_oracle_type","deviation","deviation","display_price_style","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","dust","dust_if_possible","dynamic","dynamic_perp_oo_vec_offset","dynamic_perp_vec_offset","dynamic_serum3_vec_offset","dynamic_size","dynamic_token_conditional_swap_vec_offset","dynamic_token_vec_offset","earliest_expiry","earliest_expiry","effective_base_position_lots","elligible_for_group_insurance_fund","elligible_for_group_insurance_fund","enforce_min_vault_to_deposits_ratio","ensure_perp_position","ensure_token_position","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","event_queue","event_type","event_type","event_type","execute_perp_maker","execute_perp_taker","expand_dynamic_content","expire_buyback_fees","expiry","expiry_timestamp","fast_listing_admin","fee_penalty","fees_accrued","fees_settled","fees_withdrawn","fees_withdrawn","find_earliest_expiry","find_worst","first_bank","first_vault","fixed","fixed_price_data","fixed_price_lots","flash_loan_approved_amount","flash_loan_swap_fee_rate","flash_loan_token_account_initial","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","force_close","force_close","force_close","force_close","free_list_head","free_list_len","free_token_conditional_swap_mut","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_bytes","from_bytes","from_bytes","from_bytes","from_bytes","from_bytes","from_existing_bank","frozen_until","frozen_until","full","funding_last_updated","gen_order_id","group","group","group","group","group","group","group","group","group","group","group_insurance_fund","group_insurance_fund","group_num","group_seeds","group_seeds","handle","has_data","has_data","has_loan","has_open_orders","has_open_orders_or_fills","has_open_taker_fills","head","head","header","header","header_version","header_version","health_region_begin_init_health","health_region_begin_init_health","id","id","impact_price","impact_quantity","in_health_region","in_use_count","incr_event_id","incr_event_id","increment_in_use","index_last_updated","indexed_borrows","indexed_deposits","indexed_position","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init_asset_weight","init_base_asset_weight","init_base_liab_weight","init_liab_weight","init_overall_asset_weight","initialize","initialize","insert_leaf","insert_leaf","inside_price_limit","insurance_mint","insurance_vault","intention","interest_rate_curve_calculator","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_iter","into_iter","invert_side","is_active","is_active","is_active","is_active_for_market","is_active_for_market","is_active_for_market","is_active_for_token","is_delegate","is_empty","is_expired","is_expired","is_force_close","is_force_close","is_force_close","is_force_close","is_full","is_full","is_in_health_region","is_in_use","is_ix_enabled","is_operational","is_owner_or_delegate","is_post_only","is_price_better","is_price_data_better","is_price_within_limit","is_reduce_only","is_reduce_only","is_reduce_only","is_testing","is_valid","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","is_valid_bit_pattern","iter","iter","iter_all_including_invalid","iter_valid","ix_gate","key","key","key","last_delay_interval_index","last_net_borrows_window_start_ts","last_update_slot","last_update_slot","last_update_timestamp","last_update_ts","leaf_count","len","liquidation_fee","load_full","load_full_init","load_full_mut","loan_amount","loan_fee_rate","loan_origination_fee","loan_origination_fee_rate","long_funding","long_settled_funding","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lot_to_native_price","maint_asset_weight","maint_base_asset_weight","maint_base_liab_weight","maint_liab_weight","maint_overall_asset_weight","maker","maker_client_order_id","maker_fee","maker_fee","maker_fee","maker_fee_rate","maker_out","maker_out","maker_price","maker_slot","maker_timestamp","maker_volume","market","market_index","market_index","market_index","market_index","market_index","market_index","max_base_lots","max_buy","max_buy_for_position","max_funding","max_leaf","max_quote_lots","max_rate","max_sell","max_sell_for_position","max_staleness_slots","max_staleness_slots","maybe_node","maybe_recover_from_being_liquidated","min_funding","min_leaf","min_vault_to_deposits_ratio","mint","mint","mint","mint_decimals","mngo_token_index","multiple_banks_supported","multiunzip","name","name","name","name","name","name","name","name","name","name","name","native","native_borrows","native_deposits","native_price_to_lot","needs_penalty_fee","net_borrow_limit_per_window_quote","net_borrow_limit_window_size_ts","net_borrows_in_window","net_deposits","net_deposits","new","new","new","new","new","new","new","new_node_key","new_order","next","next","next_token_conditional_swap_id","next_token_conditional_swap_id","node","node","node","node","node","node_mut","node_mut","nodes","nodes","num_banks","open_interest","open_orders","openbook_v2_market_external","openbook_v2_market_seeds","openbook_v2_market_seeds","openbook_v2_program","openbook_v2_supported","oracle","oracle","oracle","oracle_config","oracle_config","oracle_pegged_price_data","oracle_pegged_price_offset","oracle_price","oracle_price","oracle_state","oracle_state_unchecked","oracle_type","order_tree","order_tree","order_tree_type","order_tree_type","order_type","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner","owner_slot","owner_slot","padding","padding","padding","padding","padding","padding","padding","padding","padding","padding","padding","padding","padding","padding1","padding1","padding1","padding1","padding2","padding2","padding2","padding2","padding2","padding3","padding3","padding3","padding4","padding4","padding4","padding5","padding6","padding7","params","peek","peek_front","peek_front_mut","peg_limit","peg_limit","perp_count","perp_count","perp_find_order_with_client_order_id","perp_find_order_with_order_id","perp_market_index","perp_next_order_slot","perp_oo_count","perp_oo_count","perp_open_orders","perp_order_by_raw_index","perp_order_mut_by_raw_index","perp_position","perp_position_by_raw_index","perp_position_mut","perp_position_mut_by_raw_index","perp_spot_transfers","perp_spot_transfers","perp_spot_transfers","perps","perps_supported","pop_front","position_is_active","positive_pnl_liquidation_fee","post_target","power_of_ten","prefix_len","premium_price","previous_index","price","price","price","price","price_data","price_in_range","price_lots","price_lower_limit","price_premium_rate","price_upper_limit","push_back","quantity","quantity","quantity","quantity_at_price","quote_borrows_without_fee","quote_lot_size","quote_position_native","quote_position_native","quote_running_native","quote_token_index","quote_token_index","quote_token_index","rank_orders","rate0","rate1","realized_other_pnl_native","realized_pnl_for_position_native","realized_trade_pnl_native","record_liquidation_pnl_takeover","record_liquidation_quote_change","record_settle","record_trade","record_trading_fee","reduce_buyback_fees_accrued","reduce_only","reduce_only","reduce_only","reduce_only","reduce_only","registration_time","registration_time","registration_time","registration_time","remaining_buy","remaining_sell","remove_by_key","remove_by_key","remove_one_expired","remove_one_expired","remove_perp_order","remove_taker_trade","remove_worst","remove_worst","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved_roots","reset_on_nonzero_price","reset_to_price","revert_pushes","root","root_mut","roots","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","scaled_init_asset_weight","scaled_init_liab_weight","security_admin","self_trade_behavior","sell_token_index","seq_num","seq_num","seq_num","seq_num","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serum3","serum3_count","serum3_count","serum3_offset","serum3_orders","serum3_orders_by_raw_index","serum3_orders_mut","serum3_orders_mut_by_raw_index","serum3_supported","serum_market_external","serum_market_seeds","serum_market_seeds","serum_program","set_being_liquidated","set_count","set_count","set_elligible_for_group_insurance_fund","set_has_data","set_head","set_head","set_in_health_region","settle_fee_amount_threshold","settle_fee_flat","settle_fee_fraction_low_health","settle_funding","settle_limit","settle_pnl_limit_factor","settle_pnl_limit_factor","settle_pnl_limit_realized_trade","settle_pnl_limit_settled_in_current_window_native","settle_pnl_limit_window","settle_pnl_limit_window_size_ts","settle_token_index","short_funding","short_settled_funding","side","side","side","side","side","side","side","side_and_tree","side_and_tree","socialize_loss","sold","space","stable_growth_limit","stable_price","stable_price","stable_price","stable_price_model","stable_price_model","state","switchboard_v1_devnet_oracle","switchboard_v2_mainnet_oracle","tag","tag","tag","taker","taker_base_lots","taker_client_order_id","taker_fee","taker_fee","taker_fee","taker_fee_rate","taker_price","taker_quote_lots","taker_side","taker_side","taker_volume","temporary_delegate","temporary_delegate_expiry","testing","tif_from_expiry","time_in_force","time_in_force","timestamp","timestamp","timestamp","to_oracle_config","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_post_order_type","token_conditional_swap_by_id","token_conditional_swap_by_index","token_conditional_swap_count","token_conditional_swap_count","token_conditional_swap_free_index","token_conditional_swap_maker_fee_rate","token_conditional_swap_mut_by_index","token_conditional_swap_taker_fee_rate","token_count","token_count","token_decrement_dust_deactivate","token_index","token_index","token_index","token_offset","token_position","token_position_and_raw_index","token_position_by_raw_index","token_position_mut","token_position_mut_by_raw_index","tokens","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_deserialize_unchecked","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_from_primitive","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_serialize","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","ui","unsettled_funding","unsettled_pnl","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","update","update_cumulative_interest","update_funding_and_stable_price","update_net_borrows","update_parent_earliest_expiry","update_settle_limit","util0","util1","vault","vaults","verify","verify_banks_ais","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","withdraw_loan_origination_fee","withdraw_with_fee","withdraw_without_fee","withdraw_without_fee_with_dusting","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","max_oracle_staleness_slots","order_type","order_type","peg_limit","price_lots","price_lots","price_offset_lots","ID","check_id","id","ID","check_id","id","I80F48","PerpMarketIndex","Serum3MarketIndex","TokenIndex","az","az","az","az","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","default","default","default","default","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","from","from","from","from","init","init","init","init","into","into","into","into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","serialize","serialize","serialize","serialize","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","fill_from_str","format_zero_terminated_utf8_bytes"],"q":["mango_v4","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::accounts","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::accounts_ix","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::accounts_ix::compute_budget","","","mango_v4::accounts_ix::jupiter_mainnet_3","","","mango_v4::accounts_ix::jupiter_mainnet_4","","","mango_v4::accounts_zerocopy","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::address_lookup_table_program","","","mango_v4::error","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::events","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::health","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::i80f48","","","","","","mango_v4::instruction","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::logs","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::mango_v4","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::program","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::serum3_cpi","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::state","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::state::OrderParams","","","","","","","mango_v4::state::switchboard_v1_devnet_oracle","","","mango_v4::state::switchboard_v2_mainnet_oracle","","","mango_v4::types","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4::util",""],"d":["The static program ID","","","","An Anchor generated module, providing a set of structs …","","","","","","","","","Confirms that a given pubkey is equivalent to the program …","","","","","","","","","","The Anchor codegen exposes a programming model where a …","","Creates an Error with a particular message, using …","Creates an Error with a particular message, using …","","Returns the argument unchanged.","","","","Returns the program ID","","","An Anchor generated module containing the program’s set …","Calls U::from(self).","","","","","","","","","","Module representing the program.","Like anchor’s require!(), but with a customizable message","Like anchor’s require!(), but with a customizable …","","","","","","","","","","","","","","","","","","Generated client accounts for AccountBuybackFeesWithMngo.","Generated client accounts for AccountClose.","Generated client accounts for AccountCreate.","Generated client accounts for AccountEdit.","Generated client accounts for AccountExpand.","Generated client accounts for AccountToggleFreeze.","Generated client accounts for AdminPerpWithdrawFees.","Generated client accounts for AdminTokenWithdrawFees.","Generated client accounts for AltExtend.","Generated client accounts for AltSet.","Generated client accounts for Benchmark.","Generated client accounts for ComputeAccountData.","Generated client accounts for FlashLoanBegin.","Generated client accounts for FlashLoanEnd.","Generated client accounts for GroupClose.","Generated client accounts for GroupCreate.","Generated client accounts for GroupEdit.","Generated client accounts for GroupWithdrawInsuranceFund.","Generated client accounts for HealthRegionBegin.","Generated client accounts for HealthRegionEnd.","Generated client accounts for IxGateSet.","Generated client accounts for OpenbookV2CancelOrder.","Generated client accounts for OpenbookV2CloseOpenOrders.","Generated client accounts for OpenbookV2CreateOpenOrders.","Generated client accounts for OpenbookV2DeregisterMarket.","Generated client accounts for OpenbookV2EditMarket.","Generated client accounts for …","Generated client accounts for OpenbookV2PlaceOrder.","Generated client accounts for OpenbookV2PlaceTakeOrder.","Generated client accounts for OpenbookV2RegisterMarket.","Generated client accounts for OpenbookV2SettleFunds.","Generated client accounts for PerpCancelAllOrders.","Generated client accounts for PerpCancelAllOrdersBySide.","Generated client accounts for PerpCancelOrder.","Generated client accounts for …","Generated client accounts for PerpCloseMarket.","Generated client accounts for PerpConsumeEvents.","Generated client accounts for PerpCreateMarket.","Generated client accounts for PerpDeactivatePosition.","Generated client accounts for PerpEditMarket.","Generated client accounts for PerpForceClosePosition.","Generated client accounts for PerpLiqBaseOrPositivePnl.","Generated client accounts for PerpLiqForceCancelOrders.","Generated client accounts for …","Generated client accounts for …","Generated client accounts for PerpPlaceOrder.","Generated client accounts for PerpSettleFees.","Generated client accounts for PerpSettlePnl.","Generated client accounts for PerpUpdateFunding.","Generated client accounts for Serum3CancelAllOrders.","Generated client accounts for Serum3CancelOrder.","Generated client accounts for Serum3CloseOpenOrders.","Generated client accounts for Serum3CreateOpenOrders.","Generated client accounts for Serum3DeregisterMarket.","Generated client accounts for Serum3EditMarket.","Generated client accounts for Serum3LiqForceCancelOrders.","Generated client accounts for Serum3PlaceOrder.","Generated client accounts for Serum3RegisterMarket.","Generated client accounts for Serum3SettleFunds.","Generated client accounts for Serum3SettleFunds.","Generated client accounts for Serum3SettleFundsV2.","Generated client accounts for Serum3SettleFundsV2Extra.","Generated client accounts for StubOracleClose.","Generated client accounts for StubOracleCreate.","Generated client accounts for StubOracleSet.","Generated client accounts for TokenAddBank.","Generated client accounts for TokenConditionalSwapCancel.","Generated client accounts for TokenConditionalSwapCreate.","Generated client accounts for TokenConditionalSwapTrigger.","Generated client accounts for TokenDeposit.","Generated client accounts for TokenDepositIntoExisting.","Generated client accounts for TokenDeregister.","Generated client accounts for TokenEdit.","Generated client accounts for …","Generated client accounts for TokenLiqBankruptcy.","Generated client accounts for TokenLiqWithToken.","Generated client accounts for TokenRegister.","Generated client accounts for TokenRegisterTrustless.","Generated client accounts for TokenUpdateIndexAndRate.","Generated client accounts for TokenWithdraw.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Accounts are initialised by client, anchor discriminator …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The bank’s token_index is checked at #1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Instructions Sysvar for instruction introspection","Instructions Sysvar for instruction introspection","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","needed for the automatic settle_funds call","","needed for the automatic settle_funds call","needed for the automatic settle_funds call","needed for the automatic settle_funds call","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The oracle account is optional and only used when …","","","","","","","","","","","","","","The oracle account is optional and only used when …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The bank that pays for the order, if necessary","The bank that pays for the order, if necessary","The bank that pays for the order, if necessary","","","","The bank vault that pays for the order, if necessary","The bank vault that pays for the order, if necessary","The bank vault that pays for the order, if necessary","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Sets up mango vaults for flash loan","Finalizes a flash loan","","","","","","Sets up for a health region","Ends a health region.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Copy paste a bunch of enums so that we could …","","","","","","","","","","","","","","","In addition to these accounts, there must be …","Changes a token’s parameters.","","","","","","Updates token interest and interest rates.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: ALT address is checked inline","CHECK: ALT authority is checked inline","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: asks will be checked by openbook_v2","CHECK: asks will be checked by openbook_v2","CHECK: asks will be checked by openbook_v2","CHECK: Validated by the openbook_v2 cpi call","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: The oracle can be one of several different account …","CHECK: The oracle can be one of several different account …","","","","","CHECK: bids will be checked by openbook_v2","CHECK: bids will be checked by openbook_v2","CHECK: bids will be checked by openbook_v2","CHECK: Validated by the openbook_v2 cpi call","","","","","","Accounts are initialised by client, anchor discriminator …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The bank’s token_index is checked at #1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: unused, exists only because anchor is unhappy in …","","","CHECK: event will be checked by openbook_v2","CHECK: event queue will be checked by openbook_v2","CHECK: Validated by the openbook_v2 cpi call","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: Oracle can have different account types","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","CHECK: Instruction gate will be checked in instruction …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Instructions Sysvar for instruction introspection CHECK: …","Instructions Sysvar for instruction introspection CHECK: …","CHECK: fixed instructions sysvar account","","","","CHECK: Oracle can have different account types","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","","CHECK: base vault will be checked by openbook_v2","CHECK: Validated by the openbook_v2 cpi call","","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","","CHECK: quote vault will be checked by openbook_v2","CHECK: Validated by the openbook_v2 cpi call","","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the openbook_v2 cpi call","CHECK: Validated by the serum cpi call","CHECK: Validated by the openbook_v2 cpi call","CHECK: Validated by the openbook_v2 cpi call","CHECK: Validated by the openbook_v2 cpi call","needed for the automatic settle_funds call CHECK: …","CHECK: Validated by the serum cpi call","needed for the automatic settle_funds call CHECK: …","needed for the automatic settle_funds call CHECK: …","","","","","","","","","","","","","CHECK: Oracle can have different account types","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Will be checked against seeds and will be initiated …","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Newly created by serum cpi call","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","CHECK: Validated inline by checking against the pubkey …","","","","","","","","","","","","","","","","","","","","","","","","CHECK: Can register a market for any openbook_v2 program","","CHECK: The oracle can be one of several different account …","The oracle account is optional and only used when …","CHECK: Oracle can have different account types, …","CHECK: Oracle can have different account types, …","CHECK: Oracle can have different account types, …","CHECK: Oracle can have different account types, …","CHECK: The oracle can be one of several different account …","CHECK: Oracle can have different account types, …","CHECK: Oracle can have different account types, …","CHECK: The oracle can be one of several different account …","","","","CHECK: The oracle can be one of several different account …","CHECK: The oracle can be one of several different account …","The oracle account is optional and only used when …","CHECK: The oracle can be one of several different account …","CHECK: The oracle can be one of several different account …","CHECK: oracle can be one of multiple account types","CHECK: The oracle can be one of several different account …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The bank that pays for the order, if necessary","The bank that pays for the order, if necessary","The bank that pays for the order, if necessary","CHECK: The oracle can be one of several different account …","CHECK: The oracle can be one of several different account …","CHECK: The oracle can be one of several different account …","The bank vault that pays for the order, if necessary","The bank vault that pays for the order, if necessary","The bank vault that pays for the order, if necessary","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: The oracle can be one of several different account …","CHECK: The oracle can be one of several different account …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: Can register any serum market","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: The pubkey is checked and then it’s passed to the …","CHECK: Can register a market for any serum program","CHECK: The pubkey is checked and then it’s passed to the …","","","","","","CHECK: Oracle can have different account types","CHECK: Oracle can have different account types","CHECK: Oracle can have different account types","CHECK: Oracle can have different account types","CHECK: Oracle can have different account types","","","","","","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","CHECK: target for account rent needs no checks","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The static program ID","Confirms that a given pubkey is equivalent to the program …","Returns the program ID","The static program ID","Confirms that a given pubkey is equivalent to the program …","Returns the program ID","The static program ID","Confirms that a given pubkey is equivalent to the program …","Returns the program ID","A Ref to an AccountInfo - makes AccountInfo compatible …","","Functions should prefer to work with AccountReader where …","","Like AccountReader, but can also get the account pubkey","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","Using AccountLoader forces a AccountInfo.clone() and then …","Using AccountLoader forces a AccountInfo.clone() and then …","","","","","Same as load(), but doesn’t check the discriminator or …","Same as load(), but doesn’t check the discriminator or …","","","","","Same as load(), but mut","Same as load(), but mut","","Same as load_fully_unchecked(), but mut","Same as load_fully_unchecked(), but mut","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Add a context string c to a Result or Error","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","Gets the name of this [#enum_name].","","","","","","","","","","","","","","","Like context(), but evaluate the context string lazily","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This trait abstracts how to find accounts needed for the …","Assumes the account infos needed for the health …","Store information needed to compute account health","There are three types of health:","","","","Stores information about perp market positions and their …","Information about prices for a bank or perp market.","","Takes a list of account infos containing","Information about reserved funds on Serum3 open orders …","Temporary value used during health computations","","","","","","","","","","","Changes the cached user account token and serum balances.","Changes the cached user account token balance.","","","The asset price to use for the given health type","","Computes the account assets and liabilities marked to …","","","","","","","","","","","","Freely available spot balance for the token.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Compute health with an arbitrary AccountRetriever","Computes health for a mango account given a set of account …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns token balances that account for spot and perp …","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Liquidatable spot assets mean: actual token deposits and …","Liquidatable spot borrows mean: actual toen borrows plus a …","","","","","","","","Phase1 is spot/perp order cancellation and spot settlement …","Phase2 is for:","Phase3 is bankruptcy:","","","The open orders account has no free or reserved funds","","","","","The health ratio is","The perp-risk (but not token-risk) adjusted upnl. Also …","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Computes the account leverage as ratio of liabs / (assets …","The liability price to use for the given health type","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","NOTE: keep getMaxSourceForTokenSwap in ts/client in sync …","The sum of serum-reserved amounts over all markets","","How many source native tokens may be swapped for target …","","","","","","Generate a HealthCache for an account and its health …","Generate a special HealthCache for an account and its …","","","The current oracle price","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns how much pnl is settleable for a given settle …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","How much of a token can be gained before health increases …","How much of a token can be taken away before health …","Sum of token_info.balance_spot and perp …","A “stable” price, provided by StablePriceModel","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Settle token native provided by perp position and open …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","Instruction.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","benchmark","","","","","","","","","","","","","","","","","","","","","","","OpenbookV2","","","","","","","","Perps","","","","","","","","","","","","","","","","","","","","","","","Serum","Deprecated instruction that used to settles all free funds …","Like Serum3SettleFunds, but fees_to_dao determines if …","","","","","","","","","","","","","","","","","","","","","Type representing the program.","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Copied over from serum dex","","","","","CHECK: cpi","CHECK: cpi","","","","","","","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: cpi","CHECK: cpi","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","","","","","","","","","","","","","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","CHECK: cpi","","CHECK: cpi","CHECK: cpi","CHECK: cpi","","CHECK: cpi","CHECK: cpi","","","","","","","","","","","","","CHECK: cpi","","CHECK: cpi","CHECK: cpi","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","must cover the open_orders and the …","CHECK: cpi","CHECK: cpi","CHECK: cpi","","","","","","","","","","","","","","","","","","","Cancels the whole transaction as soon as a self-matching …","","","","","","","","","","","","","","","","","","","","","","","","Iterates the fixed and oracle_pegged OrderTrees …","","Reference to a node in a book side component","","","Cancels the maker side of the trade, the taker side gets …","","","","Both the maker and taker sides of the matched orders are …","","","","Header is created by scanning and parsing the dynamic …","","","","The token index used in AccountBuybackFeesWithMngo to …","","","","","","","","","","","","","","","The token index used for the insurance fund.","","Take existing orders up to price, max_base_quantity and …","InnerNodes and LeafNodes compose the binary tree of orders.","","","","Enum for lookup into ix gate note: total ix files 56, ix …","","LeafNodes represent an order in the binary tree","","Take existing orders up to price, max_base_quantity and …","Take existing orders up to price, max_base_quantity and …","","","","","","","","","","Useful when loading from bytes","Useful when loading from RefCell, like from AccountInfo","Useful when loading from RefCell, like from AccountInfo","Trait to allow a AccountLoader to create an accessor for …","Full reference type, useful for borrows","Full reference type, useful for borrows","Fully owned MangoAccount, useful for tests","","Ignore price and take orders up to max_base_quantity and …","","","","","","","","","","","","","","","","","","","","","","","","","Perp order parameters","","","Iterate over orders in order (bids=descending, …","A binary tree on AnyNode::key()","","","","","","The token index used for settling perp markets.","","","","","","","","","","","","","","","","","","","","","","Never take any existing orders, post the order on the book …","Never take any existing orders, post the order on the book …","If existing orders match with this order, adjust the price …","If existing orders match with this order, adjust the price …","","","","","This token index is supposed to be the token that oracles …","","Self trade behavior controls how taker orders interact …","","","","","","","","","","","","","","","","","SideAndOrderTree is a storage optimization, so we don’t …","","Maintains a “stable_price” based on the oracle price.","Reducing a position when the price gets worse","","","","","","","","Reducing a position when the price gets better","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Add new fees that are usable with the buyback fees feature.","","","","","","Add taker trade after it has been matched but before it …","","","","","","","","","","may token selling create borrows? (often users just want …","","may token purchases create deposits? (often users just …","Given some pnl, applies the pnl settle limit and returns …","","","","","","","","","","Address of the BookSide account for asks","Base lots in open asks","Returns the (min_pnl, max_pnl) range of quote-native pnl …","Calculate the average entry price of the position, in …","The native average entry price for the base lots of the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Tracks the amount of borrows that have flowed into the …","Number of decimals used for the base token.","Fees Fee for base position liquidation","Number of base native in a base lot. Must be a power of 10.","","Active position size, measured in base lots","","","Store the base/quote token index, so health computations …","","","","","Tracks that this account should be liquidated until …","Return the price of the order closest to the spread","","Address of the BookSide account for bids","Base lots in open bids","Field used to contain the trusted_market flag and is now …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Soft borrow limit in native quote","how many native tokens were already bought/sold","Calculate the break even price of the position, in …","","","","","","","PDA bump","","","indexes of tokens for the swap","","","The total buyback fees amount that the account can make …","Fees usable with the “fees buyback” feature. This …","","Fees buyback amount from the previous expiry interval.","","Number of seconds after which fees that could be used with …","End timestamp of the current expiry interval of the …","","","","Cancels up to limit orders that are listed on the mango …","Cancels an order on a side, removing it from the book and …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Change a position, while taking the loan origination fee …","Change a position without applying the loan origination fee","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The earliest expiry timestamp for the left and right …","indexes into BookSide::nodes","","Arbitrary user-controlled order id.","User defined id for this order, used in FillEvents","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","returns the current interest rate in APR","","","Returns the fee for settling settlement when the …","","","","","","","","","Cumulative long funding in quote native units. If the user …","Cumulative short funding in quote native units If the user …","","","","","","","","","","","","","","","","","","Creates default market for tests","The delay price is based on an average over each …","Accumulating the total time for the above average.","Maximal relative difference between two delay_price in …","","Length of a delay_interval","Stored delay_price for each delay_interval. If we want the …","","","Deposits native_amount.","the index used to scale the value of an IndexedPosition …","Internal function to deposit funds","","","Limit for collateral of deposits in native quote","Like deposit(), but allows dusting of in-use accounts.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The stored prices are always “sell token per buy token”…","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns true if the position remains active","","","","","","","","The lowest timestamp at which one of the contained …","","","","","Prevent borrowing away the full bank vault. Keep some in …","","Creates or retrieves a TokenPosition for the token_index. …","","","","","","","","","","","","","","","","","","","","","","","","","","Address of the EventQueue account","","","","","","","Updates the buyback_fees_* fields for staggered expiry of …","Time at which this order will expire, u64::MAX if never","timestamp until which the conditional swap is valid","","Fee (in quote native) to charge for ioc orders","Fees accrued in native quote currency these are increased …","Fees settled in native quote currency these are increased …","","","Returns the handle of the node with the lowest expiry …","","","","","Creates price data for a fixed order’s price","Retrieves the price (in lots) from a fixed order’s price …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Builds header by scanning and parsing the dynamic portion …","","","","","","","","","","timestamp that funding was last updated in","","","","","","","","","","","","","Is this market covered by the group insurance fund?","","","","","Whether the entry is in use","","","Does the user have any orders on the book?","Are there any open orders or fills that haven’t been …","","","","","","","","Init health as calculated during HealthReginBegin, rounded …","","","","Walk up the book quantity units and return the price at …","For funding, get the impact price this many base lots deep …","The account is currently inside a health region marked by …","incremented when a market requires this position to stay …","","","","","","deposits/borrows for this bank","The deposit_index (if positive) or borrow_index (if …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","initializes a header on the dynamic portion of a new …","","","","Is native_price an acceptable order for the side of this …","","","The intention the user had when placing this order, …","calcualtor function that can be used to compute an interest","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","Returns if the order is expired at now_ts","","","","","","","","","","","","","Is this order required to be posted to the orderbook? It …","Is lhs is a better order for side than rhs?","Is lhs is a better order for side than rhs?","Is price acceptable for a limit order on side?","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Iterate over all entries, including invalid orders","","Iterate over all entries, including invalid orders","Iterate over all entries in the book filtering out invalid …","","","only the top prefix_len bits of key are relevant","The binary tree key, see new_node_key()","The delay_interval_index that update() was last called on.","Timestamp at which the last net borrows window started","","","","","","","","","","","","","","","Current long funding value. Increasing it means that every …","Already settled long funding","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Convert from the price stored on the book to the price …","","These weights apply to the base position. The quote …","","","Weights for full perp market health, if positive","","","","","Fee when matching maker orders. May be negative.","The maker has to pay premium_price * (1 + maker_fee_rate)","","","Premium price adjusted for the maker fee","","","Cumulative maker volume in quote native units","","","","","","","","Max base lots to buy/sell.","maximum amount of native tokens to buy or sell","The remaining buy amount, taking the current buy token …","Maximal funding rate per day, must be >= 0.","","Max quote lots to pay/receive (not taking fees into …","","","The remaining sell amount, taking the current sell token …","","","","","Minimal funding rate per day, must be <= 0.","","Min fraction of deposits that must remain in the vault …","","","","","","","","","","","","","","","","","Name. Trailing zero bytes are ignored.","","","","","","Should this order be penalized with an extra fee?","Net borrow limit per window in quote native; set to -1 to …","Size in seconds of a net borrows window","Sum of all deposits and borrows in the last window, in …","","","","","","","","","","Creates a binary tree node key.","","","","Next id to use when adding a token condition swap","","","","","","","","","","","","Number of base lots currently active in the market. Always …","","","","","","","","","Oracle account address","","Oracle configuration","Creates price data for an oracle pegged order from the …","Retrieves the price offset (in lots) from an oracle pegged …","","","","Returns the price of one native base token, in native …","","","","","","PostOrderType, this was added for TradingView move order","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Address of the owning MangoAccount","","Index into the owning MangoAccount’s PerpOpenOrders","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Order type specific params","","","","pegging limit for oracle peg orders, otherwise -1","If the effective price of an oracle pegged order exceeds …","","","","","Index of this perp market. Other data, like the …","","","","","","","","","","","","","Cumulative number of quote native units transfered from …","","","","","","Order tree that this order should be added to","","number of highest key bits that all children share e.g. if …","Base price adjusted for the premium","","Compute the price_lots this order is currently at, as well …","","","","The order’s price_data as stored in the key","","","The price must exceed this threshold to allow execution.","The premium to pay over oracle price to incentivize …","Parallel to price_lower_limit, but an upper limit.","","Number of base lots to buy or sell, always >=1","","","Return the quantity of orders that can be matched by an …","","Number of quote native in a quote lot. Must be a power of …","","Active position in oracle quote native. At the same time …","Tracks what the position is to calculate average entry & …","","","","Compares the fixed and oracle_pegged order and returns the …","","","Amount of pnl realized from fees, funding and liquidation.","Trade pnl, fees, funding that were added over the current …","Amount of pnl that was realized by bringing the base …","Adds to the quote position and adds a recurring (“…","Adds immediately-settleable realized pnl when a liqor …","Update the perp position for pnl settlement","Change the base and quote positions as the result of a …","Update perp position for a maker/taker fee payment","Reduce the available buyback fees amount because it was …","Reduce only","","","If true, users may no longer increase their market …","","","","Timestamp in seconds that the market was registered at.","","","","","","Remove the order with the lowest expiry timestamp in the …","Remove the order with the lowest expiry timestamp, if that…","","Remove taker trade after it has been processed on …","Remove the overall worst-price order.","","","","","","","","","","","","","","","","","","","","","","","","","","","If set to 1, the stable price will reset on the next …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the init asset weight, adjusted for the number of …","","","Configure how matches with order of the same owner are …","","","","","Total number of orders seen","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Pnl settlement amount needed to be eligible for the flat …","In native units of settlement token, given to each settle …","Fraction of pnl to pay out as fee if +pnl account has low …","Move unrealized funding payments into the quote_position","Returns the (min_pnl, max_pnl) range of quote-native pnl …","","Controls the strictness of the settle limit. Set to a …","Settle limit contribution from realized pnl.","Amount of realized trade pnl and unrealized pnl that was …","Index of the current settle pnl limit window","Window size in seconds for the perp settlement limit","Token index that settlements happen in.","See long_funding.","Already settled short funding","","","","","","","","","","Socialize the loss in this account across all longs and …","","Number of bytes needed for the MangoAccount, including the …","Maximal per-second relative difference of the stable price.","","","Current stable price to use in health","","Maintains a stable price based on the oracle price that is …","","","","","NodeTag","","","Amount of base lots on the EventQueue waiting to be …","","","","Fee for taker orders, may not be negative.","The taker receives only premium_price * (1 - …","Premium price adjusted for the taker fee","Amount of quote lots on the EventQueue waiting to be …","","","Cumulative taker volume in quote native units","","","","Convert an input expiry timestamp to a time_in_force value","Number of seconds the order shall live, 0 meaning forever","Time in seconds after timestamp at which the order expires.","The time the order was placed","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Fees for the token conditional swap feature","","","Decrements the in_use_count for the token position for the …","","index into Group.tokens","","","","Returns","","Returns","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The amount of funding this account still needs to pay, in …","Calculate the PnL of the position for a given price","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Use current order book price and index price to update the …","Update the bank’s net_borrows fields.","When a node changes, the parents’ child_earliest_expiry …","Updates the perp pnl limit time windowing, resetting the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Withdraws native_amount while applying the loan …","Withdraws native_amount without applying the loan …","Like withdraw_without_fee() but allows dusting of in-use …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The static program ID","Confirms that a given pubkey is equivalent to the program …","Returns the program ID","The static program ID","Confirms that a given pubkey is equivalent to the program …","Returns the program ID","","","","Nothing in Rust shall use these types. They only exist so …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,5,0,0,0,0,0,5,0,5,5,5,0,5,5,5,5,5,5,5,5,5,0,0,0,0,0,5,0,0,0,0,5,5,0,5,0,5,5,5,5,0,0,5,5,0,0,0,5,5,0,0,0,5,5,5,5,0,5,5,0,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,12,13,14,15,16,22,23,24,29,30,32,33,34,37,38,39,41,42,43,44,45,49,53,56,57,60,61,62,63,66,67,69,69,76,77,79,80,89,51,58,51,58,19,20,16,17,18,19,20,25,27,28,31,35,36,40,46,48,50,64,65,68,72,73,74,75,81,82,86,87,32,37,38,39,42,43,44,45,46,48,53,56,59,32,33,34,38,39,41,76,77,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,17,18,75,79,80,86,87,89,37,40,41,66,68,69,69,41,70,37,41,66,69,69,32,37,38,39,42,43,44,45,46,48,53,56,59,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,76,77,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,26,10,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,28,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,21,81,37,38,39,46,47,48,56,75,10,10,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,22,25,26,27,28,29,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,69,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,35,40,64,68,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,23,29,88,55,55,26,55,25,26,28,54,55,84,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,84,52,54,55,78,83,84,85,52,54,55,78,83,84,85,78,52,54,55,83,84,85,10,10,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,58,58,59,59,60,60,61,61,62,62,63,63,64,64,65,65,66,66,67,67,68,68,69,69,70,70,71,71,72,72,73,73,74,74,75,75,76,76,77,77,78,78,79,79,80,80,81,81,82,82,83,83,84,84,85,85,86,86,87,87,88,88,89,89,10,10,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,58,58,59,59,60,60,61,61,62,62,63,63,64,64,65,65,66,66,67,67,68,68,69,69,70,70,71,71,72,72,73,73,74,74,75,75,76,76,77,77,78,78,79,79,80,80,81,81,82,82,83,83,84,84,85,85,86,86,87,87,88,88,89,89,36,65,60,61,66,67,37,38,39,41,66,67,69,69,60,61,66,67,60,61,66,67,37,38,39,41,66,67,69,69,39,67,37,38,39,41,66,67,69,69,73,75,86,87,75,81,82,86,87,88,10,10,32,33,34,37,38,41,60,61,62,63,66,67,69,69,32,33,34,35,37,38,39,40,41,32,33,34,37,38,39,40,41,32,33,34,37,38,39,40,41,48,50,51,52,54,55,56,57,58,59,72,73,74,79,80,82,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,23,24,42,43,44,45,49,56,60,61,62,63,67,69,69,80,89,13,15,19,26,34,40,48,63,68,73,75,86,87,38,39,67,38,39,67,38,39,67,17,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,37,40,41,66,68,69,69,41,70,37,41,66,69,69,84,26,34,63,75,86,87,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,76,77,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,60,61,62,63,64,66,67,68,69,69,60,61,62,63,66,67,68,69,69,60,61,62,63,66,67,68,69,69,52,54,55,57,58,52,54,55,57,58,52,54,55,58,58,12,25,33,35,46,62,64,72,81,13,15,26,34,40,48,63,68,73,75,86,87,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,17,18,79,80,89,79,80,12,17,18,23,24,25,26,28,35,37,38,39,41,46,54,55,64,66,67,69,69,72,75,79,80,81,84,86,87,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,71,71,17,18,75,79,80,86,87,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,93,0,0,0,0,0,0,0,0,0,0,95,0,95,93,0,93,0,0,0,0,0,0,0,0,0,94,0,0,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,92,93,94,95,97,99,100,101,102,103,109,110,111,116,117,119,120,121,124,125,126,128,129,130,131,132,136,140,143,144,147,148,149,150,153,154,156,163,164,166,167,176,138,145,138,145,106,107,96,103,104,105,106,107,112,114,115,118,122,123,127,133,135,137,151,152,155,159,160,161,162,168,169,173,174,119,124,125,126,129,130,131,132,133,135,140,143,146,119,120,121,125,126,128,163,164,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,104,105,162,166,167,173,174,176,124,127,128,153,155,156,128,157,124,128,153,156,119,124,125,126,129,130,131,132,133,135,140,143,146,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,163,164,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,92,93,94,95,92,93,94,95,0,113,97,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,92,93,94,95,96,115,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,108,168,92,124,125,126,133,134,135,143,162,97,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,97,97,92,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,109,112,113,114,115,116,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,122,127,151,155,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,110,116,175,142,142,113,142,112,113,115,141,142,171,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,0,0,171,139,141,142,165,170,171,172,139,141,142,165,170,171,172,165,139,141,142,170,171,172,97,97,99,99,100,100,101,101,102,102,103,103,104,104,105,105,106,106,107,107,108,108,109,109,110,110,111,111,92,92,112,112,113,113,114,114,115,115,116,116,117,117,118,118,119,119,120,120,121,121,122,122,123,123,124,124,125,125,126,126,127,127,128,128,129,129,130,130,131,131,132,132,133,133,134,134,135,135,136,136,137,137,138,138,139,139,140,140,141,141,142,142,143,143,144,144,145,145,146,146,147,147,148,148,149,149,150,150,151,151,152,152,153,153,93,93,94,94,95,95,154,154,155,155,156,156,157,157,158,158,159,159,160,160,161,161,162,162,163,163,164,164,165,165,166,166,167,167,168,168,169,169,170,170,171,171,172,172,173,173,96,96,174,174,175,175,176,176,97,97,99,99,100,100,101,101,102,102,103,103,104,104,105,105,106,106,107,107,108,108,109,109,110,110,111,111,92,92,112,112,113,113,114,114,115,115,116,116,117,117,118,118,119,119,120,120,121,121,122,122,123,123,124,124,125,125,126,126,127,127,128,128,129,129,130,130,131,131,132,132,133,133,134,134,135,135,136,136,137,137,138,138,139,139,140,140,141,141,142,142,143,143,144,144,145,145,146,146,147,147,148,148,149,149,150,150,151,151,152,152,153,153,93,93,94,94,95,95,154,154,155,155,156,156,157,157,158,158,159,159,160,160,161,161,162,162,163,163,164,164,165,165,166,166,167,167,168,168,169,169,170,170,171,171,172,172,173,173,96,96,174,174,175,175,176,176,123,152,147,148,153,154,124,125,126,128,153,154,156,147,148,153,154,147,148,153,154,124,125,126,128,153,154,156,126,154,124,125,126,128,153,154,156,96,160,162,173,174,162,168,169,173,174,175,97,97,119,120,121,124,125,128,147,148,149,150,153,154,156,119,120,121,122,124,125,126,127,128,119,120,121,124,125,126,127,128,119,120,121,124,125,126,127,128,135,137,138,139,141,142,143,144,145,146,159,160,161,166,167,169,173,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,110,111,129,130,131,132,136,143,147,148,149,150,154,156,167,176,100,102,106,113,121,127,135,150,155,160,162,173,174,125,126,154,125,126,154,125,126,154,104,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,124,127,128,153,155,156,128,157,124,128,153,156,171,96,96,113,121,150,162,173,174,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,163,164,92,93,94,95,96,147,148,149,150,151,153,154,155,156,147,148,149,150,153,154,155,156,147,148,149,150,153,154,155,156,139,141,142,144,145,139,141,142,144,145,139,141,142,145,145,99,112,120,122,133,149,151,159,168,100,102,113,121,127,135,150,155,160,162,173,174,97,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,92,93,94,95,104,105,166,167,176,166,167,99,104,105,110,111,112,113,115,122,124,125,126,128,133,141,142,151,153,154,156,159,162,166,167,168,171,173,174,176,104,105,115,142,171,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,93,94,94,95,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,93,94,95,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,96,96,158,158,104,105,162,166,167,173,174,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,97,99,100,101,102,103,104,105,106,107,108,109,110,111,92,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,93,94,95,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,96,174,175,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,189,188,186,187,188,189,186,186,187,187,188,189,186,187,188,189,186,187,186,187,188,189,186,187,188,189,186,187,188,189,188,189,188,189,446,186,187,188,189,186,187,189,186,187,188,189,186,187,188,189,186,187,188,189,186,187,188,189,186,187,188,189,186,187,188,189,186,187,188,189,186,187,188,189,214,186,187,188,189,186,187,188,189,447,448,186,187,188,189,447,448,186,187,188,189,449,450,187,449,450,187,186,186,187,187,188,188,189,189,186,186,187,187,188,188,189,189,189,186,187,188,189,186,187,188,189,446,186,187,188,189,186,187,186,187,188,189,186,187,188,189,188,189,186,187,188,189,186,187,188,189,186,187,188,189,186,187,188,189,186,187,188,189,186,187,188,189,186,187,188,189,186,187,188,189,0,0,0,197,197,197,197,197,0,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,0,197,197,197,0,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,451,197,197,197,197,197,197,0,0,197,197,197,197,197,452,452,197,197,197,197,197,197,197,0,0,197,197,197,197,197,197,197,197,197,197,451,197,197,0,0,0,0,202,203,204,205,202,203,204,205,202,203,204,205,202,203,204,205,202,203,204,205,202,203,204,205,202,202,203,204,205,202,203,204,205,202,203,204,205,202,203,204,205,202,203,204,205,202,203,204,205,202,203,204,205,202,203,204,205,202,202,203,204,205,202,202,203,204,205,202,202,203,203,204,204,205,205,202,202,203,203,204,204,205,205,202,202,203,204,205,202,203,204,205,205,203,202,203,204,205,202,203,204,205,202,203,204,205,204,203,202,203,204,205,202,203,204,205,202,203,204,205,202,203,204,205,202,203,204,205,204,202,203,204,205,202,203,204,205,202,203,204,205,0,0,0,0,212,212,212,0,0,0,0,0,0,0,0,211,212,213,218,219,220,221,206,206,206,215,221,211,213,206,215,217,216,211,212,213,218,219,220,221,206,213,453,215,216,217,216,220,221,221,221,215,215,221,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,211,212,213,218,219,220,221,206,211,212,213,218,219,220,221,206,0,0,218,219,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,211,212,213,220,221,206,215,217,216,211,212,213,218,219,220,221,206,206,212,211,213,220,221,206,215,217,216,211,212,213,218,219,220,221,206,206,206,221,221,206,206,206,206,206,206,206,206,206,206,220,206,206,206,213,206,221,206,206,206,215,217,216,211,212,213,218,219,220,221,206,213,221,221,213,221,213,213,215,217,216,211,212,213,218,219,220,221,206,216,206,206,211,213,215,215,217,217,216,216,211,211,212,212,213,213,218,218,219,219,220,220,221,221,206,206,215,215,217,217,216,216,211,211,212,212,213,213,218,218,219,219,220,220,221,221,206,206,213,221,221,213,221,220,206,206,219,206,206,206,215,215,216,0,0,0,211,216,211,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,206,453,215,216,221,206,213,221,220,206,206,206,220,220,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,217,216,216,216,211,212,213,220,221,206,453,215,216,221,0,0,218,211,215,211,212,213,218,219,220,221,206,213,206,206,206,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,221,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,215,217,216,211,212,213,218,219,220,221,206,0,0,454,454,455,455,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,305,315,292,248,249,248,249,292,293,294,314,272,273,275,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,308,270,269,270,269,270,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,311,309,315,315,315,315,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,236,237,261,263,264,265,266,281,302,315,311,309,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,295,248,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,248,249,263,264,265,266,315,270,269,234,277,311,309,289,290,300,241,269,285,309,301,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,270,269,309,316,270,269,244,245,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,311,309,270,269,270,269,311,309,270,269,248,311,309,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,313,295,272,273,275,232,233,236,237,252,258,259,260,263,264,265,266,276,279,281,236,237,281,311,309,291,311,309,311,309,231,231,232,232,233,233,234,234,235,235,236,236,237,237,238,238,239,239,240,240,241,241,242,242,243,243,244,244,245,245,246,246,247,247,248,248,249,249,250,250,251,251,252,252,253,253,254,254,255,255,256,256,257,257,258,258,259,259,260,260,261,261,262,262,263,263,264,264,265,265,266,266,267,267,268,268,269,269,270,270,271,271,272,272,273,273,274,274,275,275,276,276,277,277,278,278,279,279,280,280,281,281,282,282,283,283,284,284,285,285,286,286,287,287,288,288,289,289,290,290,291,291,292,292,293,293,294,294,295,295,296,296,297,297,298,298,299,299,300,300,301,301,302,302,303,303,304,304,305,305,306,306,307,307,308,308,309,309,310,310,311,311,312,312,313,313,314,314,315,315,316,316,317,317,318,318,231,231,232,232,233,233,234,234,235,235,236,236,237,237,238,238,239,239,240,240,241,241,242,242,243,243,244,244,245,245,246,246,247,247,248,248,249,249,250,250,251,251,252,252,253,253,254,254,255,255,256,256,257,257,258,258,259,259,260,260,261,261,262,262,263,263,264,264,265,265,266,266,267,267,268,268,269,269,270,270,271,271,272,272,273,273,274,274,275,275,276,276,277,277,278,278,279,279,280,280,281,281,282,282,283,283,284,284,285,285,286,286,287,287,288,288,289,289,290,290,291,291,292,292,293,293,294,294,295,295,296,296,297,297,298,298,299,299,300,300,301,301,302,302,303,303,304,304,305,305,306,306,307,307,308,308,309,309,310,310,311,311,312,312,313,313,314,314,315,315,316,316,317,317,318,318,311,309,270,269,270,269,311,309,270,269,270,269,242,286,263,264,265,266,236,237,281,253,248,249,246,299,270,269,250,251,271,272,273,274,275,236,237,281,263,264,253,263,264,265,266,248,249,246,254,270,269,311,309,315,242,270,286,305,310,311,269,285,302,309,311,309,311,309,244,289,270,311,269,309,269,309,235,262,280,237,263,264,265,266,281,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,263,264,303,304,305,270,303,304,305,270,269,295,296,298,265,266,248,249,263,264,248,249,248,249,270,263,264,265,266,293,294,311,241,269,285,309,309,269,309,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,315,236,237,263,265,281,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,303,304,305,270,269,270,269,270,269,270,269,270,269,270,235,236,237,263,264,265,266,280,281,259,311,269,309,311,269,309,311,269,309,270,269,302,302,316,315,303,246,247,246,247,311,309,311,309,303,304,305,308,310,311,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,316,315,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,0,0,0,0,0,0,0,0,0,0,0,0,319,319,0,0,0,0,0,0,0,0,0,0,0,0,319,0,0,319,0,319,0,0,0,0,319,0,0,0,0,0,0,319,319,0,0,0,0,0,319,352,352,354,355,354,355,333,353,333,353,333,353,331,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,333,342,334,335,342,320,334,335,343,334,335,344,352,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,321,359,360,331,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,331,356,357,354,355,356,357,356,357,349,349,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,319,319,356,357,331,339,339,340,340,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,321,359,360,331,331,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,355,357,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,0,338,345,345,319,354,355,347,353,351,329,330,329,330,322,323,319,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,354,355,358,321,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,338,329,330,336,337,338,338,345,355,357,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,333,338,353,333,338,353,333,353,333,338,344,345,346,353,356,357,333,338,344,345,346,353,356,357,359,360,337,331,359,360,336,337,320,329,330,320,320,320,321,321,359,359,360,360,322,322,323,323,324,324,325,325,326,326,327,327,328,328,329,329,330,330,331,331,332,332,333,333,334,334,335,335,319,319,336,336,337,337,338,338,339,339,340,340,341,341,342,342,343,343,344,344,345,345,346,346,347,347,348,348,349,349,350,350,351,351,352,352,353,353,354,354,355,355,356,356,357,357,358,358,320,320,321,321,359,359,360,360,322,322,323,323,324,324,325,325,326,326,327,327,328,328,329,329,330,330,331,331,332,332,333,333,334,334,335,335,319,319,336,336,337,337,338,338,339,339,340,340,341,341,342,342,343,343,344,344,345,345,346,346,347,347,348,348,349,349,350,350,351,351,352,352,353,353,354,354,355,355,356,356,357,357,358,358,326,327,328,327,328,328,326,327,328,356,357,354,355,326,326,327,328,326,327,328,326,327,328,340,320,321,322,323,324,325,334,335,336,337,339,340,348,349,351,354,355,358,347,347,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,326,327,328,329,330,335,340,343,354,355,332,354,355,341,341,341,349,329,330,341,342,330,349,329,330,330,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,342,342,344,345,346,347,348,350,351,352,340,344,344,359,360,324,325,326,327,328,329,330,331,337,344,352,354,355,354,355,354,355,324,325,326,327,328,334,335,342,320,334,335,343,334,335,344,352,332,332,334,335,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,356,357,354,355,356,357,356,357,326,327,328,350,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,343,343,343,346,347,348,347,320,329,330,320,324,325,338,345,329,330,331,338,345,345,360,326,327,328,326,327,328,328,326,327,328,356,357,354,355,351,326,326,327,328,351,340,326,327,328,319,356,357,321,359,360,324,325,331,332,336,337,339,341,322,323,351,351,331,331,351,351,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,320,321,359,360,322,323,324,325,326,327,328,329,330,331,332,333,334,335,319,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,373,0,0,0,0,0,0,382,382,378,380,374,376,377,378,380,382,377,378,378,380,374,376,377,378,380,382,374,376,377,378,380,382,374,376,377,378,380,380,374,376,377,378,380,382,374,376,377,378,380,382,374,376,377,378,380,382,382,382,374,376,377,378,380,382,374,376,377,378,380,382,374,376,377,378,380,382,374,376,377,378,380,382,374,376,377,378,380,382,378,380,374,376,377,378,380,382,374,376,377,378,380,382,374,376,377,378,380,382,382,0,0,0,0,0,0,374,374,376,376,377,377,378,378,380,380,382,382,374,374,376,376,377,377,378,378,380,380,382,382,374,376,377,378,380,374,376,377,378,380,374,376,377,380,378,374,376,377,378,380,382,374,376,377,378,380,382,374,376,377,378,380,0,377,378,377,0,374,378,374,376,377,378,380,382,374,376,377,378,380,382,376,382,377,378,374,376,377,378,380,382,374,376,377,378,380,382,374,376,377,378,380,382,374,376,377,378,380,382,374,376,377,378,380,382,378,377,377,377,374,376,377,378,380,382,374,376,377,378,380,382,374,376,377,378,380,382,369,408,408,408,408,408,408,408,408,408,408,0,0,225,401,401,419,0,406,225,401,401,419,0,0,0,0,0,371,369,0,0,0,369,0,0,0,0,0,0,0,0,0,425,0,456,391,408,0,441,0,408,408,408,0,408,0,456,367,0,441,416,457,0,441,0,441,367,418,406,425,0,0,0,0,0,0,0,0,0,0,0,0,0,0,456,367,0,0,0,406,0,408,408,408,408,408,408,0,0,0,408,408,408,408,0,0,456,391,0,0,0,0,0,0,0,0,0,0,425,0,0,408,408,408,408,408,408,408,408,408,408,408,408,0,0,0,408,0,408,408,408,0,367,418,367,418,0,414,0,0,0,0,0,371,408,408,408,408,408,408,408,0,0,0,0,408,408,408,0,0,416,0,372,414,0,408,408,408,414,414,372,408,0,408,408,0,0,408,408,408,408,0,408,408,0,408,408,408,408,441,372,416,0,0,210,388,375,408,409,385,386,402,410,228,411,396,412,413,405,414,415,391,398,416,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,409,385,0,0,385,388,388,388,388,388,228,375,210,375,388,388,388,388,388,393,393,393,393,228,210,210,394,394,394,394,395,392,399,229,228,228,228,228,210,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,210,210,0,0,396,396,410,229,229,229,228,228,228,397,410,412,427,388,385,409,398,399,229,228,229,399,399,403,404,399,458,433,435,432,456,434,210,388,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,210,403,404,399,458,433,435,432,456,434,210,388,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,210,393,228,422,210,375,409,385,412,229,427,421,393,375,375,385,409,385,409,385,375,409,385,375,375,399,399,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,210,210,404,404,388,388,388,388,388,210,404,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,395,395,411,432,392,210,388,375,408,409,385,386,402,410,228,411,396,412,413,405,414,415,391,398,416,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,210,388,375,408,409,385,386,402,410,228,411,396,412,413,405,414,415,391,398,416,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,210,0,210,210,210,210,229,405,366,457,423,388,375,402,402,228,228,394,388,388,388,388,388,457,423,402,402,410,228,411,369,429,393,409,229,429,429,429,429,429,429,409,385,210,210,210,210,375,210,210,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,387,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,390,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,409,402,410,228,411,405,366,414,391,395,392,367,418,369,225,401,419,397,426,371,372,393,0,404,415,393,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,210,210,388,409,409,409,409,409,409,395,394,228,396,229,210,388,388,406,414,391,416,392,367,418,369,225,401,419,425,371,372,391,392,367,418,369,225,401,419,425,371,372,229,424,397,426,388,388,388,385,392,393,375,229,229,229,210,229,421,421,396,396,388,0,0,210,210,210,210,375,408,402,410,228,411,396,412,413,405,366,391,392,367,418,369,225,401,419,424,397,426,229,427,428,429,393,210,412,229,427,421,421,388,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,459,223,430,388,388,386,210,409,385,422,229,229,210,409,385,396,412,413,415,229,427,428,396,229,375,0,0,433,393,393,403,228,228,228,457,423,388,422,388,409,409,385,411,393,398,229,409,402,457,423,402,210,210,210,402,403,404,399,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,210,229,229,210,229,459,386,398,421,229,375,375,393,210,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,435,434,225,402,410,228,410,228,411,402,385,422,392,393,210,412,229,427,398,421,385,402,375,385,385,432,225,225,225,412,229,427,375,433,210,375,385,402,410,228,411,396,412,413,405,415,398,395,392,417,394,420,421,422,423,424,397,426,229,427,428,429,393,421,422,398,398,375,394,395,392,429,210,404,415,429,415,420,422,210,460,460,460,403,210,403,210,229,228,403,403,404,404,399,399,458,458,433,433,435,435,432,432,456,456,434,434,210,210,388,388,375,375,408,408,406,406,409,409,385,385,386,386,402,402,410,410,228,228,411,411,396,396,412,412,413,413,405,405,366,366,414,414,415,415,391,391,398,398,416,416,441,441,395,395,392,392,417,417,394,394,367,367,418,418,369,369,225,225,401,401,419,419,420,420,421,421,422,422,423,423,424,424,425,425,397,397,426,426,229,229,427,427,428,428,429,429,371,371,372,372,393,393,403,403,404,404,399,399,458,458,433,433,435,435,432,432,456,456,434,434,210,210,388,388,375,375,408,408,406,406,409,409,385,385,386,386,402,402,410,410,228,228,411,411,396,396,412,412,413,413,405,405,366,366,414,414,415,415,391,391,398,398,416,416,441,441,395,395,392,392,417,417,394,394,367,367,418,418,369,369,225,225,401,401,419,419,420,420,421,421,422,422,423,423,424,424,425,425,397,397,426,426,229,229,427,427,428,428,429,429,371,371,372,372,393,393,229,210,229,229,210,229,397,397,393,397,229,393,397,397,393,397,397,228,411,410,228,412,413,427,428,432,393,393,229,421,432,210,393,393,405,366,420,385,229,421,210,210,396,415,210,375,375,434,210,385,412,229,427,210,409,385,412,229,427,402,210,210,229,432,210,210,210,409,385,435,434,395,392,401,397,426,0,399,435,434,409,385,398,420,421,458,433,398,421,398,421,396,229,410,412,0,0,412,375,210,396,229,210,229,0,0,210,229,229,0,404,401,458,421,421,392,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,210,375,409,385,396,412,413,415,398,422,229,427,428,409,385,392,426,392,426,210,375,409,385,402,410,228,395,392,421,424,397,429,411,396,412,427,411,412,392,397,427,409,397,229,409,397,229,409,409,409,432,434,422,422,432,392,386,386,388,388,229,388,386,386,409,388,388,388,388,388,388,409,385,228,409,375,422,403,229,432,0,395,393,402,432,404,415,397,392,393,433,393,393,393,422,392,397,426,398,410,229,228,228,228,410,412,427,0,210,210,228,228,228,228,228,228,228,228,385,432,210,412,229,427,396,412,229,427,393,393,398,421,398,421,388,228,398,421,210,375,409,385,402,410,228,411,396,412,413,405,415,398,395,392,421,422,397,229,427,428,429,393,398,429,429,422,398,398,398,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,210,210,375,432,393,423,397,426,229,409,402,410,228,411,405,366,414,391,395,392,367,418,369,225,401,419,397,426,371,372,393,409,386,386,386,388,388,388,388,375,427,0,0,427,385,457,423,229,393,457,423,385,229,229,229,228,228,229,229,228,228,228,229,229,229,228,434,398,401,419,426,432,426,411,411,229,393,409,429,210,229,429,210,229,433,0,0,395,392,394,397,228,397,393,397,229,393,393,228,397,397,228,385,385,375,432,432,392,392,397,426,366,210,388,375,408,409,385,386,402,410,228,411,396,412,413,405,414,415,391,398,416,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,367,388,388,386,386,388,210,388,210,386,386,388,210,402,396,386,388,388,388,388,388,409,210,375,409,396,412,413,415,398,422,229,427,428,210,375,409,396,412,413,415,398,422,229,427,428,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,391,398,416,441,441,395,392,417,394,367,367,418,418,369,369,225,225,401,401,419,419,420,421,422,423,424,425,425,397,397,397,426,426,426,229,427,428,429,371,371,372,372,393,391,441,367,418,369,225,401,419,425,371,372,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,409,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,402,228,228,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,429,210,229,210,421,228,210,210,210,396,210,396,375,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,210,210,210,210,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,403,404,399,458,433,435,432,456,434,210,388,375,408,406,409,385,386,402,410,228,411,396,412,413,405,366,414,415,391,398,416,441,395,392,417,394,367,418,369,225,401,419,420,421,422,423,424,425,397,426,229,427,428,429,371,372,393,461,462,461,461,463,462,461,0,0,0,0,0,0,0,0,0,0,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,442,443,443,444,444,445,445,442,442,443,443,444,444,445,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,442,443,444,445,0,0],"f":[0,0,[1],0,0,0,0,0,[[]],0,[[]],[[]],[[]],[2,3],[[],4],[[],4],[5,5],[[]],[6],[6],[[]],[[]],[6],[2,7],0,0,0,0,[[]],0,0,0,[[],2],[[],2],[[],6],0,[[]],0,[[],4],[[],4],[[]],[[]],0,0,[[]],[[]],0,0,0,[[]],[[]],0,0,0,[[]],[[],8],[[],8],[[],9],0,[[]],[[]],0,[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[10,[[8,[11]]]],[12,[[8,[11]]]],[13,[[8,[11]]]],[14,[[8,[11]]]],[15,[[8,[11]]]],[16,[[8,[11]]]],[17,[[8,[11]]]],[18,[[8,[11]]]],[19,[[8,[11]]]],[20,[[8,[11]]]],[21,[[8,[11]]]],[22,[[8,[11]]]],[23,[[8,[11]]]],[24,[[8,[11]]]],[25,[[8,[11]]]],[26,[[8,[11]]]],[27,[[8,[11]]]],[28,[[8,[11]]]],[29,[[8,[11]]]],[30,[[8,[11]]]],[31,[[8,[11]]]],[32,[[8,[11]]]],[33,[[8,[11]]]],[34,[[8,[11]]]],[35,[[8,[11]]]],[36,[[8,[11]]]],[37,[[8,[11]]]],[38,[[8,[11]]]],[39,[[8,[11]]]],[40,[[8,[11]]]],[41,[[8,[11]]]],[42,[[8,[11]]]],[43,[[8,[11]]]],[44,[[8,[11]]]],[45,[[8,[11]]]],[46,[[8,[11]]]],[47,[[8,[11]]]],[48,[[8,[11]]]],[49,[[8,[11]]]],[50,[[8,[11]]]],[51,[[8,[11]]]],[52,[[8,[11]]]],[53,[[8,[11]]]],[54,[[8,[11]]]],[55,[[8,[11]]]],[56,[[8,[11]]]],[57,[[8,[11]]]],[58,[[8,[11]]]],[59,[[8,[11]]]],[60,[[8,[11]]]],[61,[[8,[11]]]],[62,[[8,[11]]]],[63,[[8,[11]]]],[64,[[8,[11]]]],[65,[[8,[11]]]],[66,[[8,[11]]]],[67,[[8,[11]]]],[68,[[8,[11]]]],[69,[[8,[11]]]],[70,[[8,[11]]]],[71,[[8,[11]]]],[72,[[8,[11]]]],[73,[[8,[11]]]],[74,[[8,[11]]]],[75,[[8,[11]]]],[76,[[8,[11]]]],[77,[[8,[11]]]],[78,[[8,[11]]]],[79,[[8,[11]]]],[80,[[8,[11]]]],[81,[[8,[11]]]],[82,[[8,[11]]]],[83,[[8,[11]]]],[84,[[8,[11]]]],[85,[[8,[11]]]],[86,[[8,[11]]]],[87,[[8,[11]]]],[88,[[8,[11]]]],[89,[[8,[11]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[10,[4,[3]]],[[91,[90]]]],[[12,[4,[3]]],[[91,[90]]]],[[13,[4,[3]]],[[91,[90]]]],[[14,[4,[3]]],[[91,[90]]]],[[15,[4,[3]]],[[91,[90]]]],[[16,[4,[3]]],[[91,[90]]]],[[17,[4,[3]]],[[91,[90]]]],[[18,[4,[3]]],[[91,[90]]]],[[19,[4,[3]]],[[91,[90]]]],[[20,[4,[3]]],[[91,[90]]]],[[21,[4,[3]]],[[91,[90]]]],[[22,[4,[3]]],[[91,[90]]]],[[23,[4,[3]]],[[91,[90]]]],[[24,[4,[3]]],[[91,[90]]]],[[25,[4,[3]]],[[91,[90]]]],[[26,[4,[3]]],[[91,[90]]]],[[27,[4,[3]]],[[91,[90]]]],[[28,[4,[3]]],[[91,[90]]]],[[29,[4,[3]]],[[91,[90]]]],[[30,[4,[3]]],[[91,[90]]]],[[31,[4,[3]]],[[91,[90]]]],[[32,[4,[3]]],[[91,[90]]]],[[33,[4,[3]]],[[91,[90]]]],[[34,[4,[3]]],[[91,[90]]]],[[35,[4,[3]]],[[91,[90]]]],[[36,[4,[3]]],[[91,[90]]]],[[37,[4,[3]]],[[91,[90]]]],[[38,[4,[3]]],[[91,[90]]]],[[39,[4,[3]]],[[91,[90]]]],[[40,[4,[3]]],[[91,[90]]]],[[41,[4,[3]]],[[91,[90]]]],[[42,[4,[3]]],[[91,[90]]]],[[43,[4,[3]]],[[91,[90]]]],[[44,[4,[3]]],[[91,[90]]]],[[45,[4,[3]]],[[91,[90]]]],[[46,[4,[3]]],[[91,[90]]]],[[47,[4,[3]]],[[91,[90]]]],[[48,[4,[3]]],[[91,[90]]]],[[49,[4,[3]]],[[91,[90]]]],[[50,[4,[3]]],[[91,[90]]]],[[51,[4,[3]]],[[91,[90]]]],[[52,[4,[3]]],[[91,[90]]]],[[53,[4,[3]]],[[91,[90]]]],[[54,[4,[3]]],[[91,[90]]]],[[55,[4,[3]]],[[91,[90]]]],[[56,[4,[3]]],[[91,[90]]]],[[57,[4,[3]]],[[91,[90]]]],[[58,[4,[3]]],[[91,[90]]]],[[59,[4,[3]]],[[91,[90]]]],[[60,[4,[3]]],[[91,[90]]]],[[61,[4,[3]]],[[91,[90]]]],[[62,[4,[3]]],[[91,[90]]]],[[63,[4,[3]]],[[91,[90]]]],[[64,[4,[3]]],[[91,[90]]]],[[65,[4,[3]]],[[91,[90]]]],[[66,[4,[3]]],[[91,[90]]]],[[67,[4,[3]]],[[91,[90]]]],[[68,[4,[3]]],[[91,[90]]]],[[69,[4,[3]]],[[91,[90]]]],[[70,[4,[3]]],[[91,[90]]]],[[71,[4,[3]]],[[91,[90]]]],[[72,[4,[3]]],[[91,[90]]]],[[73,[4,[3]]],[[91,[90]]]],[[74,[4,[3]]],[[91,[90]]]],[[75,[4,[3]]],[[91,[90]]]],[[76,[4,[3]]],[[91,[90]]]],[[77,[4,[3]]],[[91,[90]]]],[[78,[4,[3]]],[[91,[90]]]],[[79,[4,[3]]],[[91,[90]]]],[[80,[4,[3]]],[[91,[90]]]],[[81,[4,[3]]],[[91,[90]]]],[[82,[4,[3]]],[[91,[90]]]],[[83,[4,[3]]],[[91,[90]]]],[[84,[4,[3]]],[[91,[90]]]],[[85,[4,[3]]],[[91,[90]]]],[[86,[4,[3]]],[[91,[90]]]],[[87,[4,[3]]],[[91,[90]]]],[[88,[4,[3]]],[[91,[90]]]],[[89,[4,[3]]],[[91,[90]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1],[1],[1],[1],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[92,92],[93,93],[94,94],[95,95],[[]],[[]],[[]],[[]],0,0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[8,[92,11]]]],[[],[[8,[93,11]]]],[[],[[8,[94,11]]]],[[],[[8,[95,11]]]],[[],[[8,[96,11]]]],0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],0,0,[[92,92],3],0,0,0,0,0,0,0,0,[[97,2],98],[[99,2],98],[[100,2],98],[[101,2],98],[[102,2],98],[[103,2],98],[[104,2],98],[[105,2],98],[[106,2],98],[[107,2],98],[[108,2],98],[[109,2],98],[[110,2],98],[[111,2],98],[[112,2],98],[[113,2],98],[[114,2],98],[[115,2],98],[[116,2],98],[[117,2],98],[[118,2],98],[[119,2],98],[[120,2],98],[[121,2],98],[[122,2],98],[[123,2],98],[[124,2],98],[[125,2],98],[[126,2],98],[[127,2],98],[[128,2],98],[[129,2],98],[[130,2],98],[[131,2],98],[[132,2],98],[[133,2],98],[[134,2],98],[[135,2],98],[[136,2],98],[[137,2],98],[[138,2],98],[[139,2],98],[[140,2],98],[[141,2],98],[[142,2],98],[[143,2],98],[[144,2],98],[[145,2],98],[[146,2],98],[[147,2],98],[[148,2],98],[[149,2],98],[[150,2],98],[[151,2],98],[[152,2],98],[[153,2],98],[[154,2],98],[[155,2],98],[[156,2],98],[[157,2],98],[[158,2],98],[[159,2],98],[[160,2],98],[[161,2],98],[[162,2],98],[[163,2],98],[[164,2],98],[[165,2],98],[[166,2],98],[[167,2],98],[[168,2],98],[[169,2],98],[[170,2],98],[[171,2],98],[[172,2],98],[[173,2],98],[[174,2],98],[[175,2],98],[[176,2],98],0,0,[[92,177],178],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[92,[[8,[11]]]],[93,[[8,[11]]]],[94,[[8,[11]]]],[95,[[8,[11]]]],[96,[[8,[11]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[97,[[91,[179]]]],[99,[[91,[179]]]],[100,[[91,[179]]]],[101,[[91,[179]]]],[102,[[91,[179]]]],[103,[[91,[179]]]],[104,[[91,[179]]]],[105,[[91,[179]]]],[106,[[91,[179]]]],[107,[[91,[179]]]],[108,[[91,[179]]]],[109,[[91,[179]]]],[110,[[91,[179]]]],[111,[[91,[179]]]],[112,[[91,[179]]]],[113,[[91,[179]]]],[114,[[91,[179]]]],[115,[[91,[179]]]],[116,[[91,[179]]]],[117,[[91,[179]]]],[118,[[91,[179]]]],[119,[[91,[179]]]],[120,[[91,[179]]]],[121,[[91,[179]]]],[122,[[91,[179]]]],[123,[[91,[179]]]],[124,[[91,[179]]]],[125,[[91,[179]]]],[126,[[91,[179]]]],[127,[[91,[179]]]],[128,[[91,[179]]]],[129,[[91,[179]]]],[130,[[91,[179]]]],[131,[[91,[179]]]],[132,[[91,[179]]]],[133,[[91,[179]]]],[134,[[91,[179]]]],[135,[[91,[179]]]],[136,[[91,[179]]]],[137,[[91,[179]]]],[138,[[91,[179]]]],[139,[[91,[179]]]],[140,[[91,[179]]]],[141,[[91,[179]]]],[142,[[91,[179]]]],[143,[[91,[179]]]],[144,[[91,[179]]]],[145,[[91,[179]]]],[146,[[91,[179]]]],[147,[[91,[179]]]],[148,[[91,[179]]]],[149,[[91,[179]]]],[150,[[91,[179]]]],[151,[[91,[179]]]],[152,[[91,[179]]]],[153,[[91,[179]]]],[154,[[91,[179]]]],[155,[[91,[179]]]],[156,[[91,[179]]]],[157,[[91,[179]]]],[158,[[91,[179]]]],[159,[[91,[179]]]],[160,[[91,[179]]]],[161,[[91,[179]]]],[162,[[91,[179]]]],[163,[[91,[179]]]],[164,[[91,[179]]]],[165,[[91,[179]]]],[166,[[91,[179]]]],[167,[[91,[179]]]],[168,[[91,[179]]]],[169,[[91,[179]]]],[170,[[91,[179]]]],[171,[[91,[179]]]],[172,[[91,[179]]]],[173,[[91,[179]]]],[174,[[91,[179]]]],[175,[[91,[179]]]],[176,[[91,[179]]]],[[97,[4,[3]]],[[91,[90]]]],[[99,[4,[3]]],[[91,[90]]]],[[100,[4,[3]]],[[91,[90]]]],[[101,[4,[3]]],[[91,[90]]]],[[102,[4,[3]]],[[91,[90]]]],[[103,[4,[3]]],[[91,[90]]]],[[104,[4,[3]]],[[91,[90]]]],[[105,[4,[3]]],[[91,[90]]]],[[106,[4,[3]]],[[91,[90]]]],[[107,[4,[3]]],[[91,[90]]]],[[108,[4,[3]]],[[91,[90]]]],[[109,[4,[3]]],[[91,[90]]]],[[110,[4,[3]]],[[91,[90]]]],[[111,[4,[3]]],[[91,[90]]]],[[112,[4,[3]]],[[91,[90]]]],[[113,[4,[3]]],[[91,[90]]]],[[114,[4,[3]]],[[91,[90]]]],[[115,[4,[3]]],[[91,[90]]]],[[116,[4,[3]]],[[91,[90]]]],[[117,[4,[3]]],[[91,[90]]]],[[118,[4,[3]]],[[91,[90]]]],[[119,[4,[3]]],[[91,[90]]]],[[120,[4,[3]]],[[91,[90]]]],[[121,[4,[3]]],[[91,[90]]]],[[122,[4,[3]]],[[91,[90]]]],[[123,[4,[3]]],[[91,[90]]]],[[124,[4,[3]]],[[91,[90]]]],[[125,[4,[3]]],[[91,[90]]]],[[126,[4,[3]]],[[91,[90]]]],[[127,[4,[3]]],[[91,[90]]]],[[128,[4,[3]]],[[91,[90]]]],[[129,[4,[3]]],[[91,[90]]]],[[130,[4,[3]]],[[91,[90]]]],[[131,[4,[3]]],[[91,[90]]]],[[132,[4,[3]]],[[91,[90]]]],[[133,[4,[3]]],[[91,[90]]]],[[134,[4,[3]]],[[91,[90]]]],[[135,[4,[3]]],[[91,[90]]]],[[136,[4,[3]]],[[91,[90]]]],[[137,[4,[3]]],[[91,[90]]]],[[138,[4,[3]]],[[91,[90]]]],[[139,[4,[3]]],[[91,[90]]]],[[140,[4,[3]]],[[91,[90]]]],[[141,[4,[3]]],[[91,[90]]]],[[142,[4,[3]]],[[91,[90]]]],[[143,[4,[3]]],[[91,[90]]]],[[144,[4,[3]]],[[91,[90]]]],[[145,[4,[3]]],[[91,[90]]]],[[146,[4,[3]]],[[91,[90]]]],[[147,[4,[3]]],[[91,[90]]]],[[148,[4,[3]]],[[91,[90]]]],[[149,[4,[3]]],[[91,[90]]]],[[150,[4,[3]]],[[91,[90]]]],[[151,[4,[3]]],[[91,[90]]]],[[152,[4,[3]]],[[91,[90]]]],[[153,[4,[3]]],[[91,[90]]]],[[154,[4,[3]]],[[91,[90]]]],[[155,[4,[3]]],[[91,[90]]]],[[156,[4,[3]]],[[91,[90]]]],[[157,[4,[3]]],[[91,[90]]]],[[158,[4,[3]]],[[91,[90]]]],[[159,[4,[3]]],[[91,[90]]]],[[160,[4,[3]]],[[91,[90]]]],[[161,[4,[3]]],[[91,[90]]]],[[162,[4,[3]]],[[91,[90]]]],[[163,[4,[3]]],[[91,[90]]]],[[164,[4,[3]]],[[91,[90]]]],[[165,[4,[3]]],[[91,[90]]]],[[166,[4,[3]]],[[91,[90]]]],[[167,[4,[3]]],[[91,[90]]]],[[168,[4,[3]]],[[91,[90]]]],[[169,[4,[3]]],[[91,[90]]]],[[170,[4,[3]]],[[91,[90]]]],[[171,[4,[3]]],[[91,[90]]]],[[172,[4,[3]]],[[91,[90]]]],[[173,[4,[3]]],[[91,[90]]]],[[174,[4,[3]]],[[91,[90]]]],[[175,[4,[3]]],[[91,[90]]]],[[176,[4,[3]]],[[91,[90]]]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[104,[[181,[180]]]],[105,[[181,[180]]]],[115,[[181,[180]]]],[142,[[181,[180]]]],[171,[[181,[180]]]],[176,[[181,[180]]]],[[2,182,183],[[98,[97]]]],[[2,182,183],[[98,[99]]]],[[2,182,183],[[98,[100]]]],[[2,182,183],[[98,[101]]]],[[2,182,183],[[98,[102]]]],[[2,182,183],[[98,[103]]]],[[2,182,183],[[98,[104]]]],[[2,182,183],[[98,[105]]]],[[2,182,183],[[98,[106]]]],[[2,182,183],[[98,[107]]]],[[2,182,183],[[98,[108]]]],[[2,182,183],[[98,[109]]]],[[2,182,183],[[98,[110]]]],[[2,182,183],[[98,[111]]]],[[2,182,183],[[98,[112]]]],[[2,182,183],[[98,[113]]]],[[2,182,183],[[98,[114]]]],[[2,182,183],[[98,[115]]]],[[2,182,183],[[98,[116]]]],[[2,182,183],[[98,[117]]]],[[2,182,183],[[98,[118]]]],[[2,182,183],[[98,[119]]]],[[2,182,183],[[98,[120]]]],[[2,182,183],[[98,[121]]]],[[2,182,183],[[98,[122]]]],[[2,182,183],[[98,[123]]]],[[2,182,183],[[98,[124]]]],[[2,182,183],[[98,[125]]]],[[2,182,183],[[98,[126]]]],[[2,182,183],[[98,[127]]]],[[2,182,183],[[98,[128]]]],[[2,182,183],[[98,[129]]]],[[2,182,183],[[98,[130]]]],[[2,182,183],[[98,[131]]]],[[2,182,183],[[98,[132]]]],[[2,182,183],[[98,[133]]]],[[2,182,183],[[98,[134]]]],[[2,182,183],[[98,[135]]]],[[2,182,183],[[98,[136]]]],[[2,182,183],[[98,[137]]]],[[2,182,183],[[98,[138]]]],[[2,182,183],[[98,[139]]]],[[2,182,183],[[98,[140]]]],[[2,182,183],[[98,[141]]]],[[2,182,183],[[98,[142]]]],[[2,182,183],[[98,[143]]]],[[2,182,183],[[98,[144]]]],[[2,182,183],[[98,[145]]]],[[2,182,183],[[98,[146]]]],[[2,182,183],[[98,[147]]]],[[2,182,183],[[98,[148]]]],[[2,182,183],[[98,[149]]]],[[2,182,183],[[98,[150]]]],[[2,182,183],[[98,[151]]]],[[2,182,183],[[98,[152]]]],[[2,182,183],[[98,[153]]]],[[2,182,183],[[98,[154]]]],[[2,182,183],[[98,[155]]]],[[2,182,183],[[98,[156]]]],[[2,182,183],[[98,[157]]]],[[2,182,183],[[98,[158]]]],[[2,182,183],[[98,[159]]]],[[2,182,183],[[98,[160]]]],[[2,182,183],[[98,[161]]]],[[2,182,183],[[98,[162]]]],[[2,182,183],[[98,[163]]]],[[2,182,183],[[98,[164]]]],[[2,182,183],[[98,[165]]]],[[2,182,183],[[98,[166]]]],[[2,182,183],[[98,[167]]]],[[2,182,183],[[98,[168]]]],[[2,182,183],[[98,[169]]]],[[2,182,183],[[98,[170]]]],[[2,182,183],[[98,[171]]]],[[2,182,183],[[98,[172]]]],[[2,182,183],[[98,[173]]]],[[2,182,183],[[98,[174]]]],[[2,182,183],[[98,[175]]]],[[2,182,183],[[98,[176]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[184,[[8,[93,[185,[93]]]]]],[[],8],[184,[[8,[94,[185,[94]]]]]],[184,[[8,[95,[185,[95]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],[[8,[93,[185,[93]]]]]],[[],[[8,[94,[185,[94]]]]]],[[],[[8,[95,[185,[95]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[2,3],[[],2],0,[2,3],[[],2],0,[2,3],[[],2],0,0,0,0,0,0,0,0,0,0,[1],[1],0,[[]],[[]],[[]],[[]],[[]],[179,[[98,[186]]]],[179,[[98,[187]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[98,[[91,[186]]]]]],[[],[[98,[[91,[187]]]]]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[188,188],[189,189],[[]],[[]],[[]],[186],[187],[188],[189],0,0,0,[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[],2],[186,2],[187,2],[188,2],[189,2],0,0,0,0,[[],98],[[],[[98,[[192,[[0,[190,191]]]]]]]],[[],[[8,[193]]]],[[],[[8,[193]]]],[[],[[8,[193]]]],[[],[[8,[193]]]],[[],98],[[],[[98,[[192,[[0,[190,191]]]]]]]],[[],[[8,[193]]]],[[],[[8,[193]]]],[[],[[8,[193]]]],[[],[[8,[193]]]],[[],98],[[],[[98,[[194,[[0,[190,191]]]]]]]],[187,98],[[],98],[[],[[98,[[194,[[0,[190,191]]]]]]]],[187,98],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[2,195],189],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],2],[186,2],[187,2],[188,2],[189,2],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[2,3],[[179,179,179,[91,[2]]],[[8,[196]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1],[[]],[[]],[[]],[[]],[[],4],[[],4],[197,197],[[]],[198],[6],[6],[[]],[[]],[6],[197,199],0,0,[[197,177],[[8,[200]]]],[[197,177],178],[[]],[[],6],[[]],[199,3],[[],3],[[],4],[[],4],[[]],[[]],[197,201],[[]],[[]],0,0,[[]],[[]],[[]],[[],201],[[],8],[[],8],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[202,[[91,[184]]]],[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[8,[202,11]]]],[[],[[8,[203,11]]]],[[],[[8,[204,11]]]],[[],[[8,[205,11]]]],[6],[6],[6],[6],0,[[203,177],178],[[204,177],178],[[205,177],178],[[]],[[]],[[]],[[]],0,[[],6],[[],6],[[],6],[[],6],0,[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[202,[[8,[11]]]],[203,[[8,[11]]]],[204,[[8,[11]]]],[205,[[8,[11]]]],0,0,[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1],[1],[1],[1],[1],[1],[1],[1],[[206,207,208,209,209,208,209,209],98],[[206,210,209],98],0,0,[[211,212],209],[[213,212],209],[206],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[2,6,208],98],[[[215,[214]],2,6,208],98],[[216,2,6,208],98],[[217,208,208],98],[[216,208,208],98],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[211,211],[212,212],[213,213],[218,218],[219,219],[220,220],[221,221],[206,206],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[222,212],[[98,[209]]]],[[222,212],[[98,[209]]]],[[],218],[[],219],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[8,[211,11]]]],[[],[[8,[212,11]]]],[[],[[8,[213,11]]]],[[],[[8,[220,11]]]],[[],[[8,[221,11]]]],[[],[[8,[206,11]]]],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[206,212],[[91,[218]]]],[[212,212],3],[[211,177],178],[[213,177],178],[[220,177],178],[[221,177],178],[[206,177],178],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[206,3],[206,3],0,0,[206,3],[206,3],[206,3],[206,3],[206,3],[206,3],[206,3],[206,3],[206,3],[206,3],0,[[206,212],209],[[206,212]],[[206,212]],[[213,212,209],209],[[206,212],209],[[221,212],209],[206,3],[206,3],[206,3],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[216,217],[206,3],[206,209],[[211,212],209],[[213,212],209],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[206,223,210,209],[[98,[209]]]],[[206,224,209,225,209],[[98,[226]]]],0,[[206,223,210,209,210,209,209],[[98,[209]]]],[[206,223,210,209,210,209,209],[[98,[209]]]],[[206,223,210,209,210,209,209],[[98,[209]]]],0,0,[2,[[98,[216]]]],[222,[[98,[[215,[186]]]]]],[222,[[98,[206]]]],[222,[[98,[206]]]],[209,211],[[2,[4,[227]]],[[98,[216]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[206,224],[[98,[221]]]],[[2,6,224],98],[[[215,[214]],2,6,224],98],[[216,2,6,224],98],0,[[206,208],[[98,[209]]]],0,0,0,[[206,228,229],98],[206,98],[206,98],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[217,208],98],[[216,208],98],[[216,224],98],[[216,2],[[98,[230]]]],[211,[[8,[11]]]],[212,[[8,[11]]]],[213,[[8,[11]]]],[220,[[8,[11]]]],[221,[[8,[11]]]],[206,[[8,[11]]]],[[6,2],[[98,[230]]]],[[[215,[214]],6,2],[[98,[230]]]],[[216,6,2],[[98,[230]]]],0,[[209,209,209,209],[[98,[209]]]],[[209,209,209,209],[[98,[209]]]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[206,208],[[98,[213]]]],[[206,208],[[98,[6]]]],[[206,212,208],[[98,[209]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[221,212],209],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[209,[[4,[209]]]],[209,[[4,[209]]]],[[],226],[[],227],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],0,0,0,0,0,0,0,0,0,0,0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[8,[231,11]]]],[[],[[8,[232,11]]]],[[],[[8,[233,11]]]],[[],[[8,[234,11]]]],[[],[[8,[235,11]]]],[[],[[8,[236,11]]]],[[],[[8,[237,11]]]],[[],[[8,[238,11]]]],[[],[[8,[239,11]]]],[[],[[8,[240,11]]]],[[],[[8,[241,11]]]],[[],[[8,[242,11]]]],[[],[[8,[243,11]]]],[[],[[8,[244,11]]]],[[],[[8,[245,11]]]],[[],[[8,[246,11]]]],[[],[[8,[247,11]]]],[[],[[8,[248,11]]]],[[],[[8,[249,11]]]],[[],[[8,[250,11]]]],[[],[[8,[251,11]]]],[[],[[8,[252,11]]]],[[],[[8,[253,11]]]],[[],[[8,[254,11]]]],[[],[[8,[255,11]]]],[[],[[8,[256,11]]]],[[],[[8,[257,11]]]],[[],[[8,[258,11]]]],[[],[[8,[259,11]]]],[[],[[8,[260,11]]]],[[],[[8,[261,11]]]],[[],[[8,[262,11]]]],[[],[[8,[263,11]]]],[[],[[8,[264,11]]]],[[],[[8,[265,11]]]],[[],[[8,[266,11]]]],[[],[[8,[267,11]]]],[[],[[8,[268,11]]]],[[],[[8,[269,11]]]],[[],[[8,[270,11]]]],[[],[[8,[271,11]]]],[[],[[8,[272,11]]]],[[],[[8,[273,11]]]],[[],[[8,[274,11]]]],[[],[[8,[275,11]]]],[[],[[8,[276,11]]]],[[],[[8,[277,11]]]],[[],[[8,[278,11]]]],[[],[[8,[279,11]]]],[[],[[8,[280,11]]]],[[],[[8,[281,11]]]],[[],[[8,[282,11]]]],[[],[[8,[283,11]]]],[[],[[8,[284,11]]]],[[],[[8,[285,11]]]],[[],[[8,[286,11]]]],[[],[[8,[287,11]]]],[[],[[8,[288,11]]]],[[],[[8,[289,11]]]],[[],[[8,[290,11]]]],[[],[[8,[291,11]]]],[[],[[8,[292,11]]]],[[],[[8,[293,11]]]],[[],[[8,[294,11]]]],[[],[[8,[295,11]]]],[[],[[8,[296,11]]]],[[],[[8,[297,11]]]],[[],[[8,[298,11]]]],[[],[[8,[299,11]]]],[[],[[8,[300,11]]]],[[],[[8,[301,11]]]],[[],[[8,[302,11]]]],[[],[[8,[303,11]]]],[[],[[8,[304,11]]]],[[],[[8,[305,11]]]],[[],[[8,[306,11]]]],[[],[[8,[307,11]]]],[[],[[8,[308,11]]]],[[],[[8,[309,11]]]],[[],[[8,[310,11]]]],[[],[[8,[311,11]]]],[[],[[8,[312,11]]]],[[],[[8,[313,11]]]],[[],[[8,[314,11]]]],[[],[[8,[315,11]]]],[[],[[8,[316,11]]]],[[],[[8,[317,11]]]],[[],[[8,[318,11]]]],0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[231,[[8,[11]]]],[232,[[8,[11]]]],[233,[[8,[11]]]],[234,[[8,[11]]]],[235,[[8,[11]]]],[236,[[8,[11]]]],[237,[[8,[11]]]],[238,[[8,[11]]]],[239,[[8,[11]]]],[240,[[8,[11]]]],[241,[[8,[11]]]],[242,[[8,[11]]]],[243,[[8,[11]]]],[244,[[8,[11]]]],[245,[[8,[11]]]],[246,[[8,[11]]]],[247,[[8,[11]]]],[248,[[8,[11]]]],[249,[[8,[11]]]],[250,[[8,[11]]]],[251,[[8,[11]]]],[252,[[8,[11]]]],[253,[[8,[11]]]],[254,[[8,[11]]]],[255,[[8,[11]]]],[256,[[8,[11]]]],[257,[[8,[11]]]],[258,[[8,[11]]]],[259,[[8,[11]]]],[260,[[8,[11]]]],[261,[[8,[11]]]],[262,[[8,[11]]]],[263,[[8,[11]]]],[264,[[8,[11]]]],[265,[[8,[11]]]],[266,[[8,[11]]]],[267,[[8,[11]]]],[268,[[8,[11]]]],[269,[[8,[11]]]],[270,[[8,[11]]]],[271,[[8,[11]]]],[272,[[8,[11]]]],[273,[[8,[11]]]],[274,[[8,[11]]]],[275,[[8,[11]]]],[276,[[8,[11]]]],[277,[[8,[11]]]],[278,[[8,[11]]]],[279,[[8,[11]]]],[280,[[8,[11]]]],[281,[[8,[11]]]],[282,[[8,[11]]]],[283,[[8,[11]]]],[284,[[8,[11]]]],[285,[[8,[11]]]],[286,[[8,[11]]]],[287,[[8,[11]]]],[288,[[8,[11]]]],[289,[[8,[11]]]],[290,[[8,[11]]]],[291,[[8,[11]]]],[292,[[8,[11]]]],[293,[[8,[11]]]],[294,[[8,[11]]]],[295,[[8,[11]]]],[296,[[8,[11]]]],[297,[[8,[11]]]],[298,[[8,[11]]]],[299,[[8,[11]]]],[300,[[8,[11]]]],[301,[[8,[11]]]],[302,[[8,[11]]]],[303,[[8,[11]]]],[304,[[8,[11]]]],[305,[[8,[11]]]],[306,[[8,[11]]]],[307,[[8,[11]]]],[308,[[8,[11]]]],[309,[[8,[11]]]],[310,[[8,[11]]]],[311,[[8,[11]]]],[312,[[8,[11]]]],[313,[[8,[11]]]],[314,[[8,[11]]]],[315,[[8,[11]]]],[316,[[8,[11]]]],[317,[[8,[11]]]],[318,[[8,[11]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1],0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[319,319],[[]],0,0,0,0,0,0,0,[320,[[91,[184]]]],[321,[[91,[184]]]],[322,[[91,[184]]]],[323,[[91,[184]]]],[324,[[91,[184]]]],[325,[[91,[184]]]],[326,[[91,[184]]]],[327,[[91,[184]]]],[328,[[91,[184]]]],[329,[[91,[184]]]],[330,[[91,[184]]]],[331,[[91,[184]]]],[332,[[91,[184]]]],[333,[[91,[184]]]],[334,[[91,[184]]]],[335,[[91,[184]]]],[336,[[91,[184]]]],[337,[[91,[184]]]],[338,[[91,[184]]]],[339,[[91,[184]]]],[340,[[91,[184]]]],[341,[[91,[184]]]],[342,[[91,[184]]]],[343,[[91,[184]]]],[344,[[91,[184]]]],[345,[[91,[184]]]],[346,[[91,[184]]]],[347,[[91,[184]]]],[348,[[91,[184]]]],[349,[[91,[184]]]],[350,[[91,[184]]]],[351,[[91,[184]]]],[352,[[91,[184]]]],[353,[[91,[184]]]],[354,[[91,[184]]]],[355,[[91,[184]]]],[356,[[91,[184]]]],[357,[[91,[184]]]],[358,[[91,[184]]]],0,0,0,0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[8,[320,11]]]],[[],[[8,[321,11]]]],[[],[[8,[359,11]]]],[[],[[8,[360,11]]]],[[],[[8,[322,11]]]],[[],[[8,[323,11]]]],[[],[[8,[324,11]]]],[[],[[8,[325,11]]]],[[],[[8,[326,11]]]],[[],[[8,[327,11]]]],[[],[[8,[328,11]]]],[[],[[8,[329,11]]]],[[],[[8,[330,11]]]],[[],[[8,[331,11]]]],[[],[[8,[332,11]]]],[[],[[8,[333,11]]]],[[],[[8,[334,11]]]],[[],[[8,[335,11]]]],[[],[[8,[319,11]]]],[[],[[8,[336,11]]]],[[],[[8,[337,11]]]],[[],[[8,[338,11]]]],[[],[[8,[339,11]]]],[[],[[8,[340,11]]]],[[],[[8,[341,11]]]],[[],[[8,[342,11]]]],[[],[[8,[343,11]]]],[[],[[8,[344,11]]]],[[],[[8,[345,11]]]],[[],[[8,[346,11]]]],[[],[[8,[347,11]]]],[[],[[8,[348,11]]]],[[],[[8,[349,11]]]],[[],[[8,[350,11]]]],[[],[[8,[351,11]]]],[[],[[8,[352,11]]]],[[],[[8,[353,11]]]],[[],[[8,[354,11]]]],[[],[[8,[355,11]]]],[[],[[8,[356,11]]]],[[],[[8,[357,11]]]],[[],[[8,[358,11]]]],0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[2,2,228,229]],0,0,0,[[319,319],3],0,0,0,0,0,0,0,0,0,0,0,[[319,177],178],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,[320,[[8,[11]]]],[321,[[8,[11]]]],[359,[[8,[11]]]],[360,[[8,[11]]]],[322,[[8,[11]]]],[323,[[8,[11]]]],[324,[[8,[11]]]],[325,[[8,[11]]]],[326,[[8,[11]]]],[327,[[8,[11]]]],[328,[[8,[11]]]],[329,[[8,[11]]]],[330,[[8,[11]]]],[331,[[8,[11]]]],[332,[[8,[11]]]],[333,[[8,[11]]]],[334,[[8,[11]]]],[335,[[8,[11]]]],[319,[[8,[11]]]],[336,[[8,[11]]]],[337,[[8,[11]]]],[338,[[8,[11]]]],[339,[[8,[11]]]],[340,[[8,[11]]]],[341,[[8,[11]]]],[342,[[8,[11]]]],[343,[[8,[11]]]],[344,[[8,[11]]]],[345,[[8,[11]]]],[346,[[8,[11]]]],[347,[[8,[11]]]],[348,[[8,[11]]]],[349,[[8,[11]]]],[350,[[8,[11]]]],[351,[[8,[11]]]],[352,[[8,[11]]]],[353,[[8,[11]]]],[354,[[8,[11]]]],[355,[[8,[11]]]],[356,[[8,[11]]]],[357,[[8,[11]]]],[358,[[8,[11]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[361,[97]],227],98],[[[361,[99]],3],98],[[[361,[100]],199,184,184,184,184,201],98],[[[361,[101]],[4,[201]],[4,[2]],[4,[2]],[4,[227]]],98],[[[361,[102]],184,184,184,184],98],[[[361,[102]],184,184,184,184,184],98],[[[361,[103]],3],98],[[[361,[104]]],98],[[[361,[105]]],98],[[[361,[106]],184,[91,[2]]],98],[[[361,[107]],184],98],[[[361,[108]]],98],[[[361,[109]]],98],[[[361,[110]],[91,[227]]],98],[[[361,[111]],92],98],[[[361,[111]],184,92],98],[[[361,[112]]],98],[[[361,[113]],199,184,184],98],[[[361,[114]],[4,[2]],[4,[2]],[4,[2]],[4,[184]],[4,[184]],[4,[227]],[4,[3]],[4,[362]],[4,[2]],[4,[208]],[4,[227]]],98],[[[361,[115]],227],98],[[[361,[116]]],98],[[[361,[117]]],98],[[[361,[118]],363],98],[[[361,[171]],209],98],[[[361,[172]],208,208,209],98],[[[361,[119]],184],98],[[[361,[119]],184,363],98],[[[361,[120]]],98],[[[361,[121]],199],98],[[[361,[122]]],98],[[[361,[123]],[4,[3]],[4,[3]]],98],[[[361,[124]],184],98],[[[361,[125]],184,227,227,227,184,184,227,364],98],[[[361,[126]],184,227,227,227,184,227,364],98],[[[361,[127]],365,201],98],[[[361,[128]],3],98],[[[361,[129]],184],98],[[[361,[130]],[4,[225]],184],98],[[[361,[131]],363],98],[[[361,[132]],227],98],[[[361,[133]]],98],[[[361,[134]],6],98],[[[361,[135]],224,201,366,184,226,226,362,362,362,362,362,362,362,362,362,362,362,226,3,362,362,362,362,208,362,227,362],98],[[[361,[136]]],98],[[[361,[137]],[4,[2]],[4,[366]],[4,[184]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[226]],[4,[3]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[199]],[4,[362]],[4,[362]],[4,[362]],[4,[227]],[4,[3]],3,[4,[362]],[4,[201]],[4,[3]]],98],[[[361,[138]]],98],[[[361,[139]],226,227],98],[[[361,[140]],184],98],[[[361,[141]],227],98],[[[361,[142]],227],98],[[[361,[143]],225,226,226,226,227,367,3,227,184],[[98,[[4,[363]]]]]],[[[361,[143]],225,226,226,226,226,227,367,3,227,184,368],[[98,[[4,[363]]]]]],[[[361,[143]],225,226,226,226,226,227,367,369,3,227,184,368],[[98,[[4,[363]]]]]],[[[361,[143]],225,226,226,226,227,367,369,3,227,184],[[98,[[4,[363]]]]]],[[[361,[144]],227],98],[[[361,[145]]],98],[[[361,[146]]],98],[[[361,[147]],184],98],[[[361,[148]],95,363],98],[[[361,[149]]],98],[[[361,[150]]],98],[[[361,[151]]],98],[[[361,[152]],[4,[3]],[4,[3]],[4,[201]]],98],[[[361,[153]],184],98],[[[361,[154]],95,227,227,227,93,94,227,364],98],[[[361,[155]],207,201],98],[[[361,[156]]],98],[[[361,[158]],3],98],[[[361,[159]]],98],[[[361,[160]],209],98],[[[361,[161]],209],98],[[[361,[161]],209,227,209],98],[[[361,[162]],208,199],98],[[[361,[163]],184,227],98],[[[361,[164]],227,227,227,370,370,370,3,3],98],[[[361,[164]],227,227,227,370,370,370,3,3,371,372],98],[[[361,[165]],184,227,227,227],98],[[[361,[167]],227,3],98],[[[361,[166]],227,3],98],[[[361,[168]]],98],[[[361,[169]],[4,[2]],[4,[366]],[4,[3]],[4,[96]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[362]],[4,[199]],[4,[362]],[4,[362]],[4,[370]],[4,[226]],[4,[227]],[4,[370]],[4,[370]],3,3,[4,[184]],[4,[201]],[4,[3]],[4,[362]],[4,[362]],[4,[362]]],98],[[[361,[170]],208,208,227],98],[[[361,[171]],209],98],[[[361,[172]],208,208,209],98],[[[361,[173]],208,201,366,96,362,362,362,362,362,362,362,199,362,362,370,227,226,370,370,184,362,362,362],98],[[[361,[174]],208,201],98],[[[361,[175]]],98],[[[361,[176]],227,3],98],0,[1],[[]],[[]],[[]],[[]],[[],4],[[],4],[373,373],[[]],[6],[6],[[]],[[]],[6],[[]],[[],2],[[],6],[[]],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],8],[[],8],[[],9],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[1],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[374,375],98],[[376,375],98],[[377,375],98],[[378,375,379],98],[[380,375,184],98],[[380,375,381],98],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[382,382],[[]],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[6],[6],[6],[6],[6],[6],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[],3],[[383,179],[[98,[[194,[384]]]]]],[[383,179],[[98,[[194,[384]]]]]],[[179,2],[[98,[[192,[383]]]]]],[[],[[98,[230]]]],[[],[[98,[230]]]],[179,[[98,[[192,[230]]]]]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[],2],0,0,0,[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],0,0,[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],0,0,0,0,[[385,227]],[[[388,[[387,[386]],[387,[385]],387]]],389],[[[388,[[387,[386]],[387,[385]],387]]],389],[[[388,[[387,[386]],[387,[385]],387]]],389],[[[388,[[387,[386]],[387,[385]],387]]],389],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],224,225,391,392,227],98],[[228,225,226,226]],0,0,0,[[[388,[[387,[386]],[387,[385]],387]]],389],[[[388,[[387,[386]],[387,[385]],387]]],389],[[[388,[[387,[386]],[387,[385]],387]]],389],[[[388,[[387,[386]],[387,[385]],387]]],389],[[[388,[[387,[386]],[387,[385]],387]]],389],[393,3],0,[393,3],0,[[228,229,209],209],[210,3],[210,3],[394,[[4,[395]]]],[394,[[4,[395]]]],[394,[[4,[392]]]],[394,[[4,[392]]]],[395,394],[392,394],0,0,0,[[228,229]],[[228,229],370],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[396],0,0,0,0,0,[228,226],0,[[228,229],209],[[397,225]],0,0,0,[[[388,[[387,[386]],[387,[385]],387]]],3],[385,3],0,[[398,227,226],[[4,[226]]]],0,0,0,0,[[399,225],398],[[399,225],398],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[388,[[387,[386]],[387,[385]],387]]],222],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]]],400],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[228,229],370],0,0,0,0,0,0,0,0,0,0,[375,3],0,[385,227],0,0,0,0,0,0,0,0,0,[[399,400,229,184,[4,[225]]],98],[[399,400,363,401,[4,[2]]],[[98,[392]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[210,402,209,227],[[98,[403]]]],[[210,402,209,227],[[98,[3]]]],[[404,2,405],98],[[404,2,405,[4,[227]]],98],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],206,209],[[98,[209]]]],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],209,209],98],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],206],[[98,[209]]]],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],206,209],98],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],206],[[98,[406]]]],[[210,209],98],[[404,2,405,227],98],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],0,0,0,0,0,[210,210],[[[388,[407,407,407]]],[[388,[407,407,407]]]],[375,375],[408,408],[409,409],[385,385],[386,386],[402,402],[410,410],[228,228],[411,411],[396,396],[412,412],[413,413],[405,405],[414,414],[415,415],[391,391],[398,398],[416,416],[395,395],[392,392],[417,417],[394,394],[367,367],[418,418],[369,369],[225,225],[401,401],[419,419],[420,420],[421,421],[422,422],[423,423],[424,424],[425,425],[397,397],[426,426],[229,229],[427,427],[428,428],[429,429],[371,371],[372,372],[393,393],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[222,216],[[98,[203]]]],[[210,209,209,209],98],[[210,209],209],[[210,209,209,227],209],[210],[[229,209,209,209],[[98,[209]]]],0,0,[[],6],[423,6],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],207],[[98,[410]]]],0,0,0,0,0,0,[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],224,208],98],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],224,208,2],98],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],207],98],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],6]],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],6,2]],[227],[[423,227]],[402],[[],402],[[],410],[[],228],[[],411],[[],369],[[],429],[[],393],[[],409],[[],229],0,0,0,[[429,227],184],0,0,0,0,[[210,402,209,227],[[98,[3]]]],0,[[210,402,209,3,227],[[98,[3]]]],[[210,402,209,3,227],[[98,[3]]]],0,0,[[210,402,209,227],[[98,[3]]]],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[8,[409,11]]]],[[],[[8,[402,11]]]],[[],[[8,[410,11]]]],[[],[[8,[228,11]]]],[[],[[8,[411,11]]]],[[],[[8,[405,11]]]],[[],[[8,[366,11]]]],[[],[[8,[414,11]]]],[[],[[8,[391,11]]]],[[],[[8,[395,11]]]],[[],[[8,[392,11]]]],[[],[[8,[367,11]]]],[[],[[8,[418,11]]]],[[],[[8,[369,11]]]],[[],[[8,[225,11]]]],[[],[[8,[401,11]]]],[[],[[8,[419,11]]]],[[],[[8,[397,11]]]],[[],[[8,[426,11]]]],[[],[[8,[371,11]]]],[[],[[8,[372,11]]]],[[],[[8,[393,11]]]],[[],[[98,[414]]]],0,0,0,[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],[6],0,[[210,402,227],[[98,[3]]]],0,[[184,184,184],6],[[184,184],6],[184,6],[[184,184,184,184,184],6],[[184,184,184,184],6],[[],6],[395,227],[394,227],[228,226],[396,3],[229,3],[[210,179],98],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],224,208],98],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],208],98],[[406,406],3],[[414,414],3],[[391,391],3],[[416,416],3],[[392,392],3],[[367,367],3],[[418,418],3],[[369,369],3],[[225,225],3],[[401,401],3],[[419,419],3],[[425,425],3],[[371,371],3],[[372,372],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],0,0,0,0,[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],224,229,397,375],98],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],224,229,397],98],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],184,184,184,184,184],98],[[385,227,227]],[392,227],0,0,0,0,0,0,0,[[421,420],4],[[421,420],4],[396,2],[396,2],0,[226,[[98,[227]]]],[227,226],0,0,0,[[210,177],178],[[375,177],178],[[408,177],178],[[402,177],178],[[410,177],178],[[228,177],178],[[411,177],178],[[396,177],178],[[412,177],178],[[413,177],178],[[405,177],178],[[366,177],178],[[391,177],178],[[392,177],178],[[367,177],178],[[418,177],178],[[369,177],178],[[225,177],178],[[401,177],178],[[419,177],178],[[424,177],178],[[397,177],178],[[426,177],178],[[229,177],178],[[427,177],178],[[428,177],178],[[429,177],178],[[393,177],178],0,0,0,0,0,0,[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]]],[[98,[393]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],98],[[],[[98,[223]]]],[[],[[98,[430]]]],[[],[[98,[[388,[386,385]]]]]],[[],[[98,[[388,[386,385,[91,[184,431]]]]]]]],[[],[[98,[386]]]],[[210,2,199,184],210],0,0,[422,3],0,[[229,225,227],363],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[393,3],0,[403,3],[228,3],[228,3],[228,3],[[],6],[423,6],0,0,[[[388,[[387,[386]],[387,[385]],387]]],184],0,0,0,0,0,[[398,226,227,226],[[4,[226]]]],0,0,0,[[]],[423],[402],0,0,0,0,[[],6],[[],6],[[],6],[399],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],0,0,0,0,0,[[],98],[[],98],[[398,391,392],98],[[421,420,392],98],[[229,225,209,209],3],0,0,0,[[209,209,209,209,209,209],209],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[225,225],[402,3],[410,3],[228,3],[[410,207],3],[[228,224],3],[[411,224],3],[[402,208],3],[[385,2],3],[422,3],[[392,227],3],[[393,227],3],[210,3],[412,3],[229,3],[427,3],[398,3],[421,3],[385,3],[402,3],[[375,408],3],[385,3],[[385,2],3],[432,3],[[225,226,226],3],[[225,227,227],3],[[225,226,226],3],[412,3],[229,3],[427,3],[375,3],[433,3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[],3],[[421,420],434],[422,389],[[398,227,226],435],[[398,227,226],389],0,[394,[[4,[363]]]],0,0,0,0,0,0,0,0,0,[422,6],0,[[],[[98,[436]]]],[[],[[98,[437]]]],[[],[[98,[437]]]],0,0,0,0,0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[229,226],209],0,0,0,0,0,0,0,[[393,209],227],0,0,0,[397,3],0,[[393,370],370],0,0,0,0,0,0,0,0,0,0,0,0,[[393,209,210],227],0,[[421,420],4],0,0,0,[[393,209,210],227],0,0,0,[[385,209],3],0,[[421,420],4],0,0,0,0,0,0,[375,3],[[]],[210,438],[385,438],[412,438],[229,438],[427,438],0,0,0,0,0,0,[[402,210],209],[210,209],[210,209],[[229,209],226],[432,3],0,0,0,0,0,[[398,227,226],435],[[421,420],434],[[199,363],395],[[184,363,2,226,227,418,364,226,227],392],[[225,391],401],[[225,3,184,227,227,2,227,209,227,2,227,209,226,226],397],[[225,184,227,227,2,226],426],[[225,227,227],363],[[399,432,229,422,209,400,2,227,184],[[8,[[4,[363]],193]]]],[435,4],[434,4],0,0,[[398,439],[[4,[394]]]],[420,[[4,[439]]]],[[421,439],[[4,[394]]]],0,0,[[398,439],[[4,[394]]]],[[421,439],[[4,[394]]]],0,0,[396,6],0,0,0,0,0,0,[375,3],0,0,0,0,0,[226,227],[227,226],[[210,[4,[227]]],[[98,[209]]]],[[229,[4,[227]]],[[98,[209]]]],[[229,[4,[227]]],[[98,[404]]]],[184,[[98,[404]]]],0,[401,391],0,[421,419],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],[[],2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[434,4],[422,[[4,[424]]]],[422,[[4,[424]]]],[432,226],0,[386,6],0,[[[388,[[387,[386]],[387,[385]],387]],224,227],[[4,[411]]]],[[[388,[[387,[386]],[387,[385]],387]],224,363],[[4,[411]]]],0,[[[388,[[387,[386]],[387,[385]],387]]],[[98,[6]]]],[386,6],0,0,[[[388,[[387,[386]],[387,[385]],387]],6],[[98,[411]]]],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],6],411],[[[388,[[387,[386]],[387,[385]],387]],224],[[98,[228]]]],[[[388,[[387,[386]],[387,[385]],387]],6],[[98,[228]]]],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],224],[[98,[228]]]],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],6],228],0,0,0,0,[375,3],[422,[[98,[424]]]],0,0,[432,[[4,[391]]]],[440,209],0,[[393,370],370],0,[[432,227,226,399],98],0,0,0,[392,227],[[393,370],3],0,0,0,0,[[422,424],[[8,[424]]]],0,0,0,[[398,226,227,226],226],0,0,[228,209],0,0,0,0,0,[[225,4,4,3,227,226],[[4,[433]]]],0,0,0,0,0,[[228,209,209]],[[228,209]],[[228,209]],[[228,229,226,209]],[[228,209]],[[385,227]],0,0,0,0,0,0,0,0,0,[393,227],[393,227],[[398,391,363],[[4,[392]]]],[[421,420,363],[[4,[392]]]],[[398,391,227],[[4,[392]]]],[[421,420,227],[[4,[392]]]],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],6,226],98],[[228,226,226]],[[398,227,226],4],[[421,420],[[4,[392]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[429,370,227]],[[422,6],98],[[398,391],420],[[398,391],420],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[210,209],209],[[210,209],209],0,0,0,0,0,0,0,[409,[[8,[11]]]],[402,[[8,[11]]]],[410,[[8,[11]]]],[228,[[8,[11]]]],[411,[[8,[11]]]],[405,[[8,[11]]]],[366,[[8,[11]]]],[414,[[8,[11]]]],[391,[[8,[11]]]],[395,[[8,[11]]]],[392,[[8,[11]]]],[367,[[8,[11]]]],[418,[[8,[11]]]],[369,[[8,[11]]]],[225,[[8,[11]]]],[401,[[8,[11]]]],[419,[[8,[11]]]],[397,[[8,[11]]]],[426,[[8,[11]]]],[371,[[8,[11]]]],[372,[[8,[11]]]],[393,[[8,[11]]]],0,[386,6],0,[[386,6],6],[[[388,[[387,[386]],[387,[385]],387]],207],[[98,[410]]]],[[[388,[[387,[386]],[387,[385]],387]],6],[[98,[410]]]],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],207],[[98,[410]]]],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],6],410],[375,3],0,0,0,0,[[385,3]],[199],[[423,199]],[[229,3]],[[393,3]],[199],[[423,199]],[[385,3]],0,0,0,[[228,229]],[[228,229]],[229,209],0,0,0,0,0,0,0,0,[434,225],[398,225],[401,225],[419,225],[426,225],0,0,[411,401],0,[[229,209],[[98,[209]]]],0,[[184,184,184,184,184],[[98,[6]]]],0,[210,209],[229,209],0,0,0,0,0,0,0,0,0,0,0,0,[[393,209],227],0,0,0,[[393,370],370],0,[397,225],0,0,0,0,0,[227,[[4,[364]]]],0,0,0,0,0,[366,405],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[367,[[98,[418]]]],[[[388,[[387,[386]],[387,[385]],387]],227],98],[[[388,[[387,[386]],[387,[385]],387]],6],[[98,[393]]]],[386,6],0,[[[388,[[387,[386]],[387,[385]],387]]],[[98,[6]]]],0,[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],6],[[98,[393]]]],0,[386,6],0,[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],210,227,2],98],0,0,0,[[386,6],6],[[[388,[[387,[386]],[387,[385]],387]],208],[[98,[402]]]],[[[388,[[387,[386]],[387,[385]],387]],208],98],[[[388,[[387,[386]],[387,[385]],387]],6],[[98,[402]]]],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],208],98],[[[388,[[0,[[390,[386]],[387,[386]]]],[0,[[390,[385]],[387,[385]]]],[0,[390,387]]]],6],402],0,[[],[[98,[210]]]],[[],[[98,[375]]]],[[],[[98,[409]]]],[[],[[98,[396]]]],[[],[[98,[412]]]],[[],[[98,[413]]]],[[],[[98,[415]]]],[[],[[98,[398]]]],[[],[[98,[422]]]],[[],[[98,[229]]]],[[],[[98,[427]]]],[[],[[98,[428]]]],[[],[[98,[210]]]],[[],[[98,[375]]]],[[],[[98,[409]]]],[[],[[98,[396]]]],[[],[[98,[412]]]],[[],[[98,[413]]]],[[],[[98,[415]]]],[[],[[98,[398]]]],[[],[[98,[422]]]],[[],[[98,[229]]]],[[],[[98,[427]]]],[[],[[98,[428]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[184,[[8,[391,[185,[391]]]]]],[[],8],[[],8],[184,[[8,[441,[185,[441]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[184,[[8,[367,[185,[367]]]]]],[[],8],[184,[[8,[418,[185,[418]]]]]],[184,[[8,[369,[185,[369]]]]]],[[],8],[[],8],[184,[[8,[225,[185,[225]]]]]],[[],8],[184,[[8,[401,[185,[401]]]]]],[[],8],[184,[[8,[419,[185,[419]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[184,[[8,[425,[185,[425]]]]]],[[],8],[[],8],[424,[[98,[397]]]],[424,[[98,[397]]]],[[],8],[424,[[98,[426]]]],[424,[[98,[426]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[184,[[8,[371,[185,[371]]]]]],[184,[[8,[372,[185,[372]]]]]],[[],8],[[],8],[[],[[8,[391,[185,[391]]]]]],[[],[[8,[441,[185,[441]]]]]],[[],[[8,[367,[185,[367]]]]]],[[],[[8,[418,[185,[418]]]]]],[[],[[8,[369,[185,[369]]]]]],[[],[[8,[225,[185,[225]]]]]],[[],[[8,[401,[185,[401]]]]]],[[],[[8,[419,[185,[419]]]]]],[[],[[8,[425,[185,[425]]]]]],[[],[[8,[371,[185,[371]]]]]],[[],[[8,[372,[185,[372]]]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[409,98],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[402,210],209],[[228,229],209],[[228,229,209],[[98,[209]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[429,227,370]],[[210,402,209]],[[229,399,404,227],98],[[210,209,227]],[[421,227,227]],[[228,229,227]],0,0,0,0,[210,98],[396,98],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[210,402,209,227],[[98,[403]]]],[[210,402,209,227],[[98,[403]]]],[[210,402,209,227],[[98,[3]]]],[[210,402,209,227],[[98,[3]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,[2,3],[[],2],0,[2,3],[[],2],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],442],[[],443],[[],444],[[],445],[6],[6],[6],[6],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[8,[442,11]]]],[[],[[8,[443,11]]]],[[],[[8,[444,11]]]],[[],[[8,[445,11]]]],[6],[6],[6],[6],[[]],[[]],[[]],[[]],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[442,[[8,[11]]]],[443,[[8,[11]]]],[444,[[8,[11]]]],[445,[[8,[11]]]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[],9],[[],9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[438,98],[177,[[8,[200]]]]],"p":[[3,"Private"],[3,"Pubkey"],[15,"bool"],[4,"Option"],[3,"Mango"],[15,"usize"],[6,"ProgramResult"],[4,"Result"],[3,"TypeId"],[3,"AccountBuybackFeesWithMngo"],[3,"Error"],[3,"AccountClose"],[3,"AccountCreate"],[3,"AccountEdit"],[3,"AccountExpand"],[3,"AccountToggleFreeze"],[3,"AdminPerpWithdrawFees"],[3,"AdminTokenWithdrawFees"],[3,"AltExtend"],[3,"AltSet"],[3,"Benchmark"],[3,"ComputeAccountData"],[3,"FlashLoanBegin"],[3,"FlashLoanEnd"],[3,"GroupClose"],[3,"GroupCreate"],[3,"GroupEdit"],[3,"GroupWithdrawInsuranceFund"],[3,"HealthRegionBegin"],[3,"HealthRegionEnd"],[3,"IxGateSet"],[3,"OpenbookV2CancelOrder"],[3,"OpenbookV2CloseOpenOrders"],[3,"OpenbookV2CreateOpenOrders"],[3,"OpenbookV2DeregisterMarket"],[3,"OpenbookV2EditMarket"],[3,"OpenbookV2LiqForceCancelOrders"],[3,"OpenbookV2PlaceOrder"],[3,"OpenbookV2PlaceTakeOrder"],[3,"OpenbookV2RegisterMarket"],[3,"OpenbookV2SettleFunds"],[3,"PerpCancelAllOrders"],[3,"PerpCancelAllOrdersBySide"],[3,"PerpCancelOrder"],[3,"PerpCancelOrderByClientOrderId"],[3,"PerpCloseMarket"],[3,"PerpConsumeEvents"],[3,"PerpCreateMarket"],[3,"PerpDeactivatePosition"],[3,"PerpEditMarket"],[3,"PerpForceClosePosition"],[3,"PerpLiqBaseOrPositivePnl"],[3,"PerpLiqForceCancelOrders"],[3,"PerpLiqNegativePnlOrBankruptcy"],[3,"PerpLiqNegativePnlOrBankruptcyV2"],[3,"PerpPlaceOrder"],[3,"PerpSettleFees"],[3,"PerpSettlePnl"],[3,"PerpUpdateFunding"],[3,"Serum3CancelAllOrders"],[3,"Serum3CancelOrder"],[3,"Serum3CloseOpenOrders"],[3,"Serum3CreateOpenOrders"],[3,"Serum3DeregisterMarket"],[3,"Serum3EditMarket"],[3,"Serum3LiqForceCancelOrders"],[3,"Serum3PlaceOrder"],[3,"Serum3RegisterMarket"],[3,"Serum3SettleFunds"],[3,"Serum3SettleFundsV2Extra"],[3,"Serum3SettleFundsV2"],[3,"StubOracleClose"],[3,"StubOracleCreate"],[3,"StubOracleSet"],[3,"TokenAddBank"],[3,"TokenConditionalSwapCancel"],[3,"TokenConditionalSwapCreate"],[3,"TokenConditionalSwapTrigger"],[3,"TokenDepositIntoExisting"],[3,"TokenDeposit"],[3,"TokenDeregister"],[3,"TokenEdit"],[3,"TokenForceCloseBorrowsWithToken"],[3,"TokenLiqBankruptcy"],[3,"TokenLiqWithToken"],[3,"TokenRegister"],[3,"TokenRegisterTrustless"],[3,"TokenUpdateIndexAndRate"],[3,"TokenWithdraw"],[3,"AccountMeta"],[3,"Vec"],[4,"FlashLoanType"],[4,"Serum3SelfTradeBehavior"],[4,"Serum3OrderType"],[4,"Serum3Side"],[3,"InterestRateParams"],[3,"AccountBuybackFeesWithMngo"],[6,"Result"],[3,"AccountClose"],[3,"AccountCreate"],[3,"AccountEdit"],[3,"AccountExpand"],[3,"AccountToggleFreeze"],[3,"AdminPerpWithdrawFees"],[3,"AdminTokenWithdrawFees"],[3,"AltExtend"],[3,"AltSet"],[3,"Benchmark"],[3,"ComputeAccountData"],[3,"FlashLoanBegin"],[3,"FlashLoanEnd"],[3,"GroupClose"],[3,"GroupCreate"],[3,"GroupEdit"],[3,"GroupWithdrawInsuranceFund"],[3,"HealthRegionBegin"],[3,"HealthRegionEnd"],[3,"IxGateSet"],[3,"OpenbookV2CancelOrder"],[3,"OpenbookV2CloseOpenOrders"],[3,"OpenbookV2CreateOpenOrders"],[3,"OpenbookV2DeregisterMarket"],[3,"OpenbookV2EditMarket"],[3,"OpenbookV2LiqForceCancelOrders"],[3,"OpenbookV2PlaceOrder"],[3,"OpenbookV2PlaceTakeOrder"],[3,"OpenbookV2RegisterMarket"],[3,"OpenbookV2SettleFunds"],[3,"PerpCancelAllOrders"],[3,"PerpCancelAllOrdersBySide"],[3,"PerpCancelOrder"],[3,"PerpCancelOrderByClientOrderId"],[3,"PerpCloseMarket"],[3,"PerpConsumeEvents"],[3,"PerpCreateMarket"],[3,"PerpDeactivatePosition"],[3,"PerpEditMarket"],[3,"PerpForceClosePosition"],[3,"PerpLiqBaseOrPositivePnl"],[3,"PerpLiqForceCancelOrders"],[3,"PerpLiqNegativePnlOrBankruptcy"],[3,"PerpLiqNegativePnlOrBankruptcyV2"],[3,"PerpPlaceOrder"],[3,"PerpSettleFees"],[3,"PerpSettlePnl"],[3,"PerpUpdateFunding"],[3,"Serum3CancelAllOrders"],[3,"Serum3CancelOrder"],[3,"Serum3CloseOpenOrders"],[3,"Serum3CreateOpenOrders"],[3,"Serum3DeregisterMarket"],[3,"Serum3EditMarket"],[3,"Serum3LiqForceCancelOrders"],[3,"Serum3PlaceOrder"],[3,"Serum3RegisterMarket"],[3,"Serum3SettleFunds"],[3,"Serum3SettleFundsV2Extra"],[3,"Serum3SettleFundsV2"],[3,"StubOracleClose"],[3,"StubOracleCreate"],[3,"StubOracleSet"],[3,"TokenAddBank"],[3,"TokenConditionalSwapCancel"],[3,"TokenConditionalSwapCreate"],[3,"TokenConditionalSwapTrigger"],[3,"TokenDepositIntoExisting"],[3,"TokenDeposit"],[3,"TokenDeregister"],[3,"TokenEdit"],[3,"TokenForceCloseBorrowsWithToken"],[3,"TokenLiqBankruptcy"],[3,"TokenLiqWithToken"],[3,"TokenRegister"],[3,"TokenRegisterTrustless"],[3,"TokenUpdateIndexAndRate"],[3,"TokenWithdraw"],[3,"Formatter"],[6,"Result"],[3,"AccountInfo"],[3,"Transfer"],[3,"CpiContext"],[3,"BTreeMap"],[3,"BTreeSet"],[15,"u8"],[3,"TryFromPrimitiveError"],[3,"AccountInfoRef"],[3,"AccountInfoRefMut"],[3,"KeyedAccount"],[3,"KeyedAccountSharedData"],[8,"ZeroCopy"],[8,"Owner"],[3,"Ref"],[4,"Error"],[3,"RefMut"],[3,"AccountSharedData"],[4,"ProgramError"],[4,"MangoError"],[8,"Display"],[15,"u32"],[3,"Error"],[3,"String"],[3,"MangoAccountData"],[3,"Equity"],[3,"TokenEquity"],[3,"PerpEquity"],[3,"HealthCache"],[6,"Serum3MarketIndex"],[6,"TokenIndex"],[6,"I80F48"],[3,"Bank"],[3,"Prices"],[4,"HealthType"],[3,"TokenInfo"],[8,"KeyedAccountReader"],[3,"FixedOrderAccountRetriever"],[3,"ScanningAccountRetriever"],[3,"ScannedBanksAndOracles"],[3,"TokenBalance"],[3,"TokenMaxReserved"],[3,"Serum3Info"],[3,"PerpInfo"],[6,"MangoAccountRef"],[6,"MangoAccountValue"],[6,"PerpMarketIndex"],[4,"Side"],[15,"i64"],[15,"u64"],[3,"PerpPosition"],[3,"PerpMarket"],[3,"OpenOrders"],[3,"Benchmark"],[3,"OpenbookV2CancelAllOrders"],[3,"OpenbookV2LiqForceCancelOrders"],[3,"OpenbookV2SettleFunds"],[3,"OpenbookV2CancelOrder"],[3,"OpenbookV2PlaceTakerOrder"],[3,"OpenbookV2PlaceOrder"],[3,"OpenbookV2CloseOpenOrders"],[3,"OpenbookV2CreateOpenOrders"],[3,"OpenbookV2DeregisterMarket"],[3,"OpenbookV2EditMarket"],[3,"OpenbookV2RegisterMarket"],[3,"ComputeAccountData"],[3,"AltExtend"],[3,"AltSet"],[3,"TokenConditionalSwapTrigger"],[3,"TokenConditionalSwapCancel"],[3,"TokenConditionalSwapCreateV2"],[3,"TokenConditionalSwapCreate"],[3,"PerpLiqNegativePnlOrBankruptcyV2"],[3,"PerpLiqNegativePnlOrBankruptcy"],[3,"PerpLiqForceCancelOrders"],[3,"PerpLiqBaseOrPositivePnl"],[3,"PerpSettleFees"],[3,"PerpForceClosePosition"],[3,"PerpSettlePnl"],[3,"PerpUpdateFunding"],[3,"PerpConsumeEvents"],[3,"PerpCancelAllOrdersBySide"],[3,"PerpCancelAllOrders"],[3,"PerpCancelOrderByClientOrderId"],[3,"PerpCancelOrder"],[3,"PerpPlaceOrderPeggedV2"],[3,"PerpPlaceOrderPegged"],[3,"PerpPlaceOrderV2"],[3,"PerpPlaceOrder"],[3,"PerpDeactivatePosition"],[3,"PerpCloseMarket"],[3,"PerpEditMarket"],[3,"PerpCreateMarket"],[3,"TokenLiqBankruptcy"],[3,"TokenForceCloseBorrowsWithToken"],[3,"TokenLiqWithToken"],[3,"LiqTokenBankruptcy"],[3,"LiqTokenWithToken"],[3,"Serum3LiqForceCancelOrders"],[3,"Serum3SettleFundsV2"],[3,"Serum3SettleFunds"],[3,"Serum3CancelAllOrders"],[3,"Serum3CancelOrder"],[3,"Serum3PlaceOrder"],[3,"Serum3CloseOpenOrders"],[3,"Serum3CreateOpenOrders"],[3,"Serum3DeregisterMarket"],[3,"Serum3EditMarket"],[3,"Serum3RegisterMarket"],[3,"HealthRegionEnd"],[3,"HealthRegionBegin"],[3,"FlashLoanEndV2"],[3,"FlashLoanEnd"],[3,"FlashLoanBegin"],[3,"TokenWithdraw"],[3,"TokenDepositIntoExisting"],[3,"TokenDeposit"],[3,"StubOracleSetTest"],[3,"StubOracleSet"],[3,"StubOracleClose"],[3,"StubOracleCreate"],[3,"AccountBuybackFeesWithMngo"],[3,"AccountClose"],[3,"AccountToggleFreeze"],[3,"AccountEdit"],[3,"AccountExpandV2"],[3,"AccountExpand"],[3,"AccountCreate"],[3,"TokenUpdateIndexAndRate"],[3,"TokenDeregister"],[3,"TokenAddBank"],[3,"TokenEdit"],[3,"TokenRegisterTrustless"],[3,"TokenRegister"],[3,"GroupClose"],[3,"IxGateSet"],[3,"GroupWithdrawInsuranceFund"],[3,"GroupEdit"],[3,"GroupCreate"],[3,"AdminPerpWithdrawFees"],[3,"AdminTokenWithdrawFees"],[4,"LoanOriginationFeeInstruction"],[3,"PerpBalanceLog"],[3,"TokenBalanceLog"],[3,"FlashLoanLog"],[3,"FlashLoanLogV2"],[3,"WithdrawLog"],[3,"DepositLog"],[3,"FillLog"],[3,"FillLogV2"],[3,"FillLogV3"],[3,"PerpUpdateFundingLog"],[3,"PerpUpdateFundingLogV2"],[3,"UpdateIndexLog"],[3,"UpdateRateLog"],[3,"TokenLiqWithTokenLog"],[3,"Serum3OpenOrdersBalanceLog"],[3,"Serum3OpenOrdersBalanceLogV2"],[3,"WithdrawLoanOriginationFeeLog"],[3,"WithdrawLoanLog"],[3,"TokenLiqBankruptcyLog"],[3,"DeactivateTokenPositionLog"],[3,"DeactivatePerpPositionLog"],[3,"TokenMetaDataLog"],[3,"PerpMarketMetaDataLog"],[3,"Serum3RegisterMarketLog"],[3,"PerpLiqBaseOrPositivePnlLog"],[3,"PerpLiqBankruptcyLog"],[3,"PerpLiqNegativePnlOrBankruptcyLog"],[3,"PerpSettlePnlLog"],[3,"PerpSettleFeesLog"],[3,"AccountBuybackFeesWithMngoLog"],[3,"FilledPerpOrderLog"],[3,"PerpTakerTradeLog"],[3,"PerpForceClosePositionLog"],[3,"TokenForceCloseBorrowsWithTokenLog"],[3,"TokenConditionalSwapCreateLog"],[3,"TokenConditionalSwapCreateLogV2"],[3,"TokenConditionalSwapTriggerLog"],[3,"TokenConditionalSwapTriggerLogV2"],[3,"TokenConditionalSwapCancelLog"],[3,"FlashLoanTokenDetail"],[3,"FlashLoanTokenDetailV2"],[3,"Context"],[15,"f32"],[15,"u128"],[15,"u16"],[6,"OpenbookV2MarketIndex"],[3,"OracleConfigParams"],[4,"PlaceOrderType"],[15,"i32"],[4,"SelfTradeBehavior"],[15,"f64"],[4,"TokenConditionalSwapDisplayPriceStyle"],[4,"TokenConditionalSwapIntention"],[3,"MangoV4"],[3,"InitOpenOrders"],[3,"Group"],[3,"CloseOpenOrders"],[3,"SettleFunds"],[3,"PlaceOrder"],[3,"NewOrderInstructionV3"],[3,"CancelOrder"],[3,"CancelOrderInstructionV2"],[3,"OrderBookStateHeader"],[3,"MarketState"],[3,"Slab"],[3,"MangoAccountFixed"],[3,"MangoAccountDynamicHeader"],[8,"DerefOrBorrow"],[3,"DynamicAccount"],[8,"Iterator"],[8,"DerefOrBorrowMut"],[4,"BookSideOrderTree"],[3,"LeafNode"],[3,"TokenConditionalSwap"],[3,"AnyNode"],[3,"InnerNode"],[3,"MintInfo"],[3,"FillEvent"],[3,"BookSide"],[3,"Orderbook"],[6,"MangoAccountRefMut"],[4,"SideAndOrderTree"],[3,"TokenPosition"],[3,"WithdrawResult"],[3,"OracleState"],[3,"OracleConfig"],[4,"CheckLiquidatable"],[8,"Clone"],[4,"IxGate"],[3,"MangoAccount"],[3,"Serum3Orders"],[3,"PerpOpenOrder"],[3,"OpenbookV2Market"],[3,"OpenbookV2MarketIndexReservation"],[4,"OracleType"],[3,"StubOracle"],[4,"OrderState"],[3,"FreeNode"],[4,"PostOrderType"],[4,"OrderTreeType"],[3,"OrderTreeRoot"],[3,"OrderTreeNodes"],[3,"EventQueue"],[3,"EventQueueHeader"],[3,"AnyEvent"],[4,"EventType"],[3,"OutEvent"],[3,"Serum3Market"],[3,"Serum3MarketIndexReservation"],[3,"StablePriceModel"],[6,"MangoAccountLoadedRef"],[3,"Global"],[3,"Order"],[3,"BookSideIterItem"],[3,"OrderTreeIter"],[3,"BookSideIter"],[6,"MangoAccountLoadedRefCell"],[6,"MangoAccountLoadedRefCellMut"],[15,"str"],[6,"NodeHandle"],[15,"i8"],[4,"NodeTag"],[3,"TokenIndex"],[3,"Serum3MarketIndex"],[3,"PerpMarketIndex"],[3,"I80F48"],[8,"AccountReader"],[8,"LoadZeroCopy"],[8,"LoadZeroCopyRef"],[8,"LoadMutZeroCopy"],[8,"LoadMutZeroCopyRef"],[8,"Contextable"],[8,"IsAnchorErrorWithCode"],[8,"AccountRetriever"],[8,"LowPrecisionDivision"],[8,"ClampToInt"],[4,"OrderParams"],[8,"QueueHeader"],[3,"BookSideOrderHandle"],[8,"DynamicHeader"],[8,"MangoAccountLoader"],[13,"OraclePegged"],[13,"Fixed"],[13,"ImmediateOrCancel"]]},\ +"mango_v4_client":{"doc":"","t":[8,8,8,3,3,13,13,4,3,4,3,3,3,13,3,3,3,3,16,11,11,11,11,11,12,5,5,0,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,10,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,10,12,12,11,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,12,12,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,12,11,5,12,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,10,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,12,0,12,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,5,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,13,3,4,13,13,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,3,3,3,3,13,13,13,3,4,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,5,5,3,3,3,3,3,3,3,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,5,11,11,11,11,12,12,11,11,12,11,11,11,11,12,11,11,12,5,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,11,11,12,5,11,11,11,11,11,11,11,11],"n":["AccountFetcher","AnyhowWrap","AsyncChannelSendUnlessFull","CachedAccountFetcher","Client","ExactIn","ExactOut","JupiterSwapMode","MangoClient","MangoClientError","MangoGroupContext","PerpMarketContext","RpcAccountFetcher","SendTransactionPreflightFailure","Serum3MarketContext","TokenContext","TransactionBuilder","TransactionBuilderConfig","Value","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","account_fetcher","account_fetcher_fetch_anchor_account","account_fetcher_fetch_mango_account","account_update_stream","address","address","address_lookup_tables","address_lookup_tables","asks","az","az","az","az","az","az","az","az","az","az","az","az","bank","bank_oracle_price","bids","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","chain_data","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clear_cache","client","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cluster","coin_lot_size","coin_vault","commitment","config","context","create_account","decimals","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","derive_health_check_remaining_account_metas","derive_health_check_remaining_account_metas","derive_health_check_remaining_account_metas_two_accounts","derive_liquidation_health_check_remaining_account_metas","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","descendants","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","event_q","fee_payer","fetch_program_accounts","fetch_program_accounts","fetch_program_accounts","fetch_raw_account","fetch_raw_account","fetch_raw_account","fetch_raw_account_lookup_table","fetch_raw_account_lookup_table","find_accounts","find_or_create_account","first_bank","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_ref","group","group","group_for_admin","health_cache","health_region_begin_instruction","health_region_end_instruction","height","height","height","height","height","height","height","height","height","height","height","height","http_client","init","init","init","init","init","init","init","init","init","init","init","init","instructions","into","into","into","into","into","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","into_request","jupiter","jupiter_route","jupiter_swap","keypair_from_cli","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","mango_account","mango_account_address","mango_address_lookup_tables","map_err_anyhow","market","market","mint_info","mint_info","mint_info_address","mint_info_address","name","native_to_ui","new","new","new_detail","new_for_existing_account","new_from_rpc","new_perp_markets_listed","new_serum3_markets_listed","new_tokens_listed","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","owner","owner","payer","pc_lot_size","pc_vault","perp","perp_cancel_all_orders_instruction","perp_deactivate_position","perp_liq_base_or_positive_pnl_instruction","perp_liq_force_cancel_orders","perp_liq_negative_pnl_or_bankruptcy_instruction","perp_market_address","perp_market_indexes_by_name","perp_markets","perp_oracle_price","perp_place_order","perp_place_order_instruction","perp_pnl","perp_settle_pnl","perp_settle_pnl_instruction","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","prepare_jupiter_swap_transaction","prettify_client_error","prettify_solana_client_error","prioritization_micro_lamports","provide","pubkey_from_cli","req_q","rpc","rpc_anchor_account","rpc_async","rpc_send_transaction_config","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","send","send_and_confirm","send_and_confirm_owner_tx","send_and_confirm_permissionless_tx","send_and_confirm_transaction","send_unless_full","serum3","serum3_base_token","serum3_cancel_all_orders","serum3_cancel_all_orders_instruction","serum3_cancel_order","serum3_create_open_orders","serum3_create_open_orders_instruction","serum3_liq_force_cancel_orders","serum3_market_index","serum3_market_indexes_by_name","serum3_markets","serum3_place_order","serum3_place_order_instruction","serum3_quote_token","serum3_settle_funds","signers","snapshot_source","timeout","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","token","token_by_mint","token_conditional_swap_trigger","token_deposit","token_index","token_indexes_by_name","token_liq_bankruptcy_instruction","token_liq_with_token_instruction","token_withdraw","tokens","tracing_subscriber_init","transaction","transaction_builder_config","transaction_size_ok","transaction_with_blockhash","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","vault_signer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","websocket_source","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","err","logs","Account","AccountUpdate","Message","Slot","Snapshot","__clone_box","__clone_box","account","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","clone","clone","clone_into","clone_into","deref","deref","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","descendants","descendants","drop","drop","from","from","from_ref","from_ref","from_rpc","height","height","init","init","into","into","into_request","into_request","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","postorder","postorder","postorder_with_size_hint","postorder_with_size_hint","preorder","preorder","preorder_with_size_hint","preorder_with_size_hint","pubkey","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","slot","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","update_chain_data","vzip","vzip","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","0","0","0","AccountData","AccountFetcher","ChainData","ChainDataMetrics","Confirmed","Processed","Rooted","SlotData","SlotStatus","__clone_box","__clone_box","__clone_box","account","account","account_bytes","account_writes_count","accounts_count","accounts_snapshot","az","az","az","az","az","az","best_chain_slot","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","chain","chain_data","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone_into","clone_into","clone_into","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","descendants","descendants","descendants","descendants","descendants","descendants","drop","drop","drop","drop","drop","drop","eq","fetch","fetch_bank_price","fetch_fresh","fetch_fresh_mango_account","fetch_mango_account","fetch_program_accounts","fetch_raw","fetch_raw_account","fetch_raw_account_lookup_table","fmt","fmt","fmt","from","from","from","from","from","from","from_ref","from_ref","from_ref","height","height","height","height","height","height","init","init","init","init","init","init","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","iter_accounts","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","new","new","newest_rooted_slot","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","parent","postorder","postorder","postorder","postorder","postorder","postorder","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","preorder","preorder","preorder","preorder","preorder","preorder","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","refresh_account_via_rpc","refresh_accounts_via_rpc_until_slot","report","rpc","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","slot","slot","slots_count","spawn_report_job","status","to_owned","to_owned","to_owned","transaction_max_slot","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","update_account","update_slot","vzip","vzip","vzip","vzip","vzip","vzip","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","write_version","new","new_sync","QueryFee","QueryMarketInfo","QueryResult","QueryRoute","QueryRouteFees","SwapRequest","SwapResponse","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","amount","amount","ata_deposits","az","az","az","az","az","az","az","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","cleanup_transaction","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","compute_unit_price_micro_lamports","context_slot","data","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","deref_or_borrow_mut","descendants","descendants","descendants","descendants","descendants","descendants","descendants","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","fees","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","from_ref","height","height","height","height","height","height","height","id","in_amount","in_amount","init","init","init","init","init","init","init","input_mint","into","into","into","into","into","into","into","into_request","into_request","into_request","into_request","into_request","into_request","into_request","label","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossless_try_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lossy_into","lp_fee","market_infos","min_in_amount","min_out_amount","minimal_sol_for_transaction","mint","not_enough_liquidity","open_orders_deposits","other_amount_threshold","out_amount","out_amount","output_mint","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","pct","platform_fee","postorder","postorder","postorder","postorder","postorder","postorder","postorder","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","postorder_with_size_hint","preorder","preorder","preorder","preorder","preorder","preorder","preorder","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","preorder_with_size_hint","price_impact_pct","price_impact_pct","route","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","serialize","serialize","serialize","serialize","serialize","serialize","serialize","setup_transaction","signature_fee","slippage_bps","swap_mode","swap_transaction","time_taken","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","total_fee_and_deposits","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","user_public_key","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wrap_unwrap_sol","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","Direction","MaxNegative","MaxPositive","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","deref","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","descendants","drop","eq","fetch_top","fmt","from","height","init","into","into_request","lossless_try_into","lossless_try_into","lossy_into","lossy_into","overflowing_as","overflowing_cast_from","postorder","postorder_with_size_hint","preorder","preorder_with_size_hint","saturating_as","saturating_cast_from","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","vzip","wrapping_as","wrapping_cast_from","Config","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","deref","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","descendants","drop","from","get_multiple_accounts_count","height","init","into","into_request","is_mango_account","lossless_try_into","lossless_try_into","lossy_into","lossy_into","mango_group","min_slot","overflowing_as","overflowing_cast_from","parallel_rpc_requests","postorder","postorder_with_size_hint","preorder","preorder_with_size_hint","rpc_http_url","saturating_as","saturating_cast_from","snapshot_interval","start","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","vzip","wrapping_as","wrapping_cast_from","Config","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","deref","deref_mut","deref_or_borrow","deref_or_borrow","deref_or_borrow_mut","deref_or_borrow_mut","descendants","drop","from","get_next_create_bank_slot","height","init","into","into_request","lossless_try_into","lossless_try_into","lossy_into","lossy_into","open_orders_authority","overflowing_as","overflowing_cast_from","postorder","postorder_with_size_hint","preorder","preorder_with_size_hint","rpc_ws_url","saturating_as","saturating_cast_from","serum_program","start","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","vzip","wrapping_as","wrapping_cast_from"],"q":["mango_v4_client","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4_client::MangoClientError","","mango_v4_client::account_update_stream","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4_client::account_update_stream::Message","","","mango_v4_client::chain_data","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4_client::health_cache","","mango_v4_client::jupiter","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4_client::perp_pnl","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4_client::snapshot_source","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mango_v4_client::websocket_source","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","Some Result<> types don’t convert to anyhow::Result …","Push to an async_channel::Sender and ignore if the channel …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Bank snapshot is never updated, only use static parts!","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","PerpMarket snapshot is never updated, only use static …","","","","","","","","","Allows control of AccountFetcher and externally created …","Conveniently creates a RPC based client","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Find the instructions and account lookup tables for a …","Do some manual unpacking on some ClientErrors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A copy of RpcClient::send_and_confirm_transaction that …","Send a message if the channel isn’t full","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Convenience function used in binaries to set up the fmt …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A complex account fetcher that mostly depends on an …","Track slots and account writes","","","","","","","","","","Ref to the most recent live write of the pubkey","","","","","Cloned snapshot of all the most recent live writes per …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Return success once all addresses have data >= min_slot","","","","","","","","","","","","","","","","","","","","","","","Return the maximum slot reported for the processing of the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns up to count accounts with highest abs pnl (by …","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,14,14,0,0,0,0,0,0,33,0,0,0,0,106,11,12,13,14,15,7,0,0,0,64,47,53,24,64,29,11,7,53,64,47,24,12,33,13,14,15,15,7,64,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,0,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,11,7,11,12,13,14,15,11,12,13,14,15,12,64,64,12,53,7,7,15,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,29,29,11,11,7,7,53,53,64,64,47,47,24,24,12,12,33,33,13,13,14,14,15,15,29,29,11,11,7,7,53,53,64,64,47,47,24,24,12,12,33,33,13,13,14,14,15,15,7,24,24,7,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,64,12,2,29,11,2,29,11,2,2,7,7,7,12,33,33,13,29,11,7,53,64,47,24,12,33,13,14,15,11,12,13,14,15,7,24,7,0,7,7,29,11,7,53,64,47,24,12,33,13,14,15,7,29,11,7,53,64,47,24,12,33,13,14,15,53,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,0,7,7,0,29,29,11,11,7,7,53,53,64,64,47,47,24,24,12,12,33,33,13,13,14,14,15,15,29,29,11,11,7,7,53,53,64,64,47,47,24,24,12,12,33,33,13,13,14,14,15,15,7,7,7,106,64,47,24,15,24,15,15,15,11,12,7,7,24,24,24,24,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,7,7,53,64,64,24,7,7,7,7,7,24,24,24,7,7,7,0,7,7,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,7,0,0,13,33,0,64,29,12,12,12,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,53,53,7,7,0,107,24,24,7,7,7,7,7,7,24,24,24,7,7,24,7,53,0,12,11,12,13,14,15,33,24,24,7,7,15,24,7,7,7,24,0,53,12,53,53,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,64,29,11,7,53,64,47,24,12,33,13,14,15,0,29,11,7,53,64,47,24,12,33,13,14,15,29,11,7,53,64,47,24,12,33,13,14,15,108,108,74,0,0,74,74,73,74,73,73,74,73,74,73,74,73,74,73,74,73,74,73,74,73,74,73,74,73,74,73,73,74,74,73,73,74,74,73,74,73,74,73,74,73,74,73,73,74,73,74,73,74,73,74,73,73,74,74,73,73,74,74,73,74,73,74,73,74,73,74,73,74,73,74,73,73,74,73,74,73,73,74,73,74,73,74,73,74,73,74,73,74,74,73,74,73,74,73,74,109,110,111,0,0,0,0,81,81,81,0,0,81,82,78,77,78,77,77,77,77,77,90,83,81,82,78,77,77,90,83,81,82,78,77,90,83,81,82,78,77,90,83,81,82,78,82,83,77,90,83,81,82,78,77,90,83,81,82,78,81,82,78,81,82,78,77,90,83,81,82,78,77,90,83,81,82,78,77,77,90,90,83,83,81,81,82,82,78,78,77,77,90,90,83,83,81,81,82,82,78,78,77,90,83,81,82,78,77,90,83,81,82,78,81,83,83,83,83,83,83,83,83,83,81,82,78,77,90,83,81,82,78,81,82,78,77,90,83,81,82,78,77,90,83,81,82,78,77,90,83,81,82,78,77,90,83,81,82,78,77,77,77,90,90,83,83,81,81,82,82,78,78,77,77,90,90,83,83,81,81,82,82,78,78,77,90,77,77,90,83,81,82,78,77,90,83,81,82,78,82,77,90,83,81,82,78,77,90,83,81,82,78,77,90,83,81,82,78,77,90,83,81,82,78,83,83,90,83,77,90,83,81,82,78,77,90,83,81,82,78,82,78,77,90,82,81,82,78,83,77,90,83,81,82,78,77,90,83,81,82,78,77,90,83,81,82,78,77,90,83,81,82,78,77,90,83,81,82,78,77,77,77,90,83,81,82,78,77,90,83,81,82,78,77,90,83,81,82,78,78,0,0,0,0,0,0,0,0,0,94,38,95,96,97,98,99,38,96,97,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,98,94,94,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,94,38,38,95,95,96,96,97,97,98,98,99,99,94,94,38,38,95,95,96,96,97,97,98,98,99,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,38,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,95,38,95,94,38,95,96,97,98,99,95,94,38,95,96,97,98,99,94,38,95,96,97,98,99,95,94,94,38,38,95,95,96,96,97,97,98,98,99,99,94,94,38,38,95,95,96,96,97,97,98,98,99,99,95,38,95,95,97,96,95,97,38,38,95,95,94,38,95,96,97,98,99,94,38,95,96,97,98,99,96,95,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,38,95,98,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,99,97,38,38,99,94,94,38,95,96,97,98,99,97,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,94,38,95,96,97,98,99,98,94,38,95,96,97,98,99,98,94,38,95,96,97,98,99,94,38,95,96,97,98,99,0,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,0,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,0,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,102,102,102,102,102,102,102,102,0,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,0,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,0,105,105,105,105,105,105,105,105],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1],[1],[1],[1],[1],0,[[2,3],[[5,[4]]]],[[2,3],[[5,[6]]]],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[7,8],[[5,[9]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[[11,[2]]]],0,[[[11,[2]]],[[11,[2]]]],[12,12],[13,13],[14,14],[15,15],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[12,3,[17,[16]],[17,[16]],18,19],5],0,[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[7,[21,[8]],[21,[8]],[21,[22]]],[[5,[[21,[23]]]]]],[[24,6,[21,[8]],[21,[8]],[21,[22]]],[[5,[[21,[23]]]]]],[[24,6,6],[[5,[[21,[23]]]]]],[[7,6,[21,[25]]],[[5,[[21,[23]]]]]],[20,20],[20,20],[20,20],[20,20],[20,20],[20,20],[20,20],[20,20],[20,20],[20,20],[20,20],[20,20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],0,0,[3,[[28,[[27,[26]]]]]],[[29,3],[[28,[[27,[26]]]]]],[[[11,[2]],3],[[28,[[27,[26]]]]]],[3,[[28,[[27,[26]]]]]],[[29,3],[[28,[[27,[26]]]]]],[[[11,[2]],3],[[28,[[27,[26]]]]]],[3,[[28,[[27,[26]]]]]],[3,[[28,[[27,[26]]]]]],[[12,3,16],[[5,[21]]]],[[12,3,[17,[16]],[17,[16]],19],[[5,[3]]]],[[7,8],[[5,[30]]]],[[12,31],32],[[33,31],32],[[33,31],32],[[13,31],32],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[7,3],0,[[3,18],3],0,[[7,6,[21,[8]],[21,[8]],[21,[22]]],[[5,[34]]]],[[7,6,[21,[8]],[21,[8]],[21,[22]]],[[5,[34]]]],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],0,[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],0,[[7,3,3,36,36,14,37],[[5,[38]]]],[[7,3,3,36,36,14,37],[[5,[39]]]],[19,16],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[7,[[5,[6]]]],0,[7,[[5,[[21,[40]]]]]],[[],5],0,0,[[24,8],41],0,[[24,8],3],0,0,[[15,9],42],[[[17,[2]]],[[11,[2]]]],[[43,44,[17,[16]],[10,[45]],13],12],[[12,3,[17,[16]],24,[17,[2]]],[[5,[7]]]],[[12,3,[17,[16]]],[[5,[7]]]],[[46,3],[[5,[24]]]],[[24,46],[[5,[37]]]],[[24,46],[[5,[37]]]],[[24,46],[[5,[37]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[7,3],0,0,0,0,[[24,22],47],[[7,22,48],[[5,[34]]]],[[7,22],[[5,[39]]]],[[7,22,49,36],[[5,[34]]]],[[7,22],[[5,[39]]]],[[7,22,36],[[5,[34]]]],[[24,22],3],0,0,[[7,22],[[5,[9]]]],[[7,22,50,49,49,49,36,51,37,36,48,52],[[5,[39]]]],[[7,6,22,50,49,49,49,36,51,37,36,48,52],[[5,[34]]]],0,[[7,22],[[5,[39]]]],[[7,22],[[5,[34]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[7,3,3,38],[[5,[53]]]],[54,55],[56,55],0,[57],[19,3],0,0,[[12,3],[[5,[4]]]],[12,46],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[53,12],[[5,[39]]]],[[53,12],[[5,[39]]]],[[7,[21,[34]]],[[5,[39]]]],[[7,[21,[34]]],[[5,[39]]]],[[58,59],60],[[],[[62,[61]]]],[[24,63],64],[[24,63],15],[[7,19],[[62,[[21,[65]],55]]]],[[7,6,63,48],[[5,[34]]]],[[7,19,66,65],[[5,[39]]]],[[7,19],[[5,[39]]]],[[7,63],34],[[7,63,3],[[5,[39]]]],[[24,19],63],0,0,[[7,19,66,36,36,36,67,68,36,25],[[5,[39]]]],[[7,6,63,66,36,36,36,67,68,36,25],[[5,[34]]]],[[24,63],15],[[7,19],[[5,[39]]]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[],69],[[24,8],15],[[24,3],[[5,[15]]]],[[7,36,36,36],[[5,[39]]]],[[7,3,36,37],[[5,[39]]]],0,0,[[7,8,9],[[5,[34]]]],[[7,8,8,9],[[5,[34]]]],[[7,3,36,37],[[5,[39]]]],0,[[]],[[53,46],[[5,[70]]]],0,[53,[[5,[37]]]],[[53,71],[[5,[70]]]],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],72],[[],72],[[],72],[[],72],[[],72],[[],72],[[],72],[[],72],[[],72],[[],72],[[],72],[[],72],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,[1],[1],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],10],[[],10],[[],10],[[],10],[73,73],[74,74],[[]],[[]],[20],[20],[20],[20],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[20,20],[20,20],[20],[20],[[]],[[]],[[]],[[]],[[[76,[75]]],[[5,[73]]]],[[],20],[[],20],[[],20],[[],20],[[]],[[]],[[],35],[[],35],[[],10],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],0,[[]],[[]],[[],62],[[],62],[[],62],[[],62],[[],72],[[],72],[[]],[[]],[[]],[[]],[[74,77]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,[1],[1],[1],[[77,3],[[62,[78,55]]]],0,[77,20],[77,20],[77,20],[77,[[80,[3,78,79]]]],[[]],[[]],[[]],[[]],[[]],[[]],[77,36],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[81,81],[82,82],[78,78],[[]],[[]],[[]],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[20,20],[20,20],[20,20],[20,20],[20,20],[20,20],[20],[20],[20],[20],[20],[20],[[81,81],37],[[83,3],[[5,[[0,[84,85]]]]]],[[83,3],[[5,[9]]]],[[83,3],[[5,[[0,[84,85]]]]]],[[83,3],[[5,[6]]]],[[83,3],[[5,[6]]]],[[83,3],[[28,[[27,[26]]]]]],[[83,3],[[5,[86]]]],[[83,3],[[28,[[27,[26]]]]]],[[83,3],[[28,[[27,[26]]]]]],[[81,31],[[62,[87]]]],[[82,31],[[62,[87]]]],[[78,31],[[62,[87]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[]],[[]],[[]],[[]],[[]],[[]],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[77,88],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],77],[89,90],[77,36],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[83,3],[[5,[91]]]],[[83,91,45],5],[[90,77]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[77,20],[[[17,[[92,[77]]]],89,45]],0,[[]],[[]],[[]],[83,[[5,[91]]]],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],72],[[],72],[[],72],[[],72],[[],72],[[],72],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[77,3,78]],[[77,82]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[24,6],[[5,[93]]]],[[24,83,6],[[5,[93]]]],0,0,0,0,0,0,0,[1],[1],[1],[1],[1],[1],[1],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],0,[94,94],[38,38],[95,95],[96,96],[97,97],[98,98],[99,99],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[20],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[20,20],[20,20],[20,20],[20,20],[20,20],[20,20],[20,20],[[],[[62,[94]]]],[[],[[62,[38]]]],[[],[[62,[95]]]],[[],[[62,[96]]]],[[],[[62,[97]]]],[[],[[62,[98]]]],[[],[[62,[99]]]],[20],[20],[20],[20],[20],[20],[20],0,[[94,31],32],[[38,31],32],[[95,31],32],[[96,31],32],[[97,31],32],[[98,31],32],[[99,31],32],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],0,0,0,[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],[[],35],0,[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[94,62],[38,62],[95,62],[96,62],[97,62],[98,62],[99,62],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],62],[[],72],[[],72],[[],72],[[],72],[[],72],[[],72],[[],72],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[],10],[[],10],[20],[20],[[]],[[]],[[]],[[]],[20,20],[20],[[100,100],37],[[24,22,100,20],[[5,[21]]]],[[100,31],32],[[]],[[],20],[[],20],[[]],[[],35],[[],10],[[],10],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],62],[[],62],[[],72],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[],10],[[],10],[20],[20],[[]],[[]],[[]],[[]],[20,20],[20],[[]],0,[[],20],[[],20],[[]],[[],35],[[86,3],[[10,[101]]]],[[],10],[[],10],[[]],[[]],0,0,[[]],[[]],0,[[]],[[]],[[]],[[]],0,[[]],[[]],0,[[102,[21,[3]],[103,[74]]]],[[],62],[[],62],[[],72],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[],10],[[],10],[20],[20],[[]],[[]],[[]],[[]],[20,20],[20],[[]],[[[104,[74]],45],[[5,[36]]]],[[],20],[[],20],[[]],[[],35],[[],10],[[],10],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],0,[[105,[21,[3]],[103,[74]]]],[[],62],[[],62],[[],72],[[]],[[]],[[]],[[]],[[]]],"p":[[3,"Private"],[8,"AccountFetcher"],[3,"Pubkey"],[8,"AccountDeserialize"],[6,"Result"],[6,"MangoAccountValue"],[3,"MangoClient"],[6,"TokenIndex"],[6,"I80F48"],[4,"Option"],[3,"CachedAccountFetcher"],[3,"Client"],[3,"TransactionBuilderConfig"],[4,"JupiterSwapMode"],[3,"TokenContext"],[3,"Keypair"],[3,"Arc"],[15,"u32"],[15,"str"],[15,"usize"],[3,"Vec"],[6,"PerpMarketIndex"],[3,"AccountMeta"],[3,"MangoGroupContext"],[15,"u16"],[8,"Future"],[3,"Box"],[3,"Pin"],[3,"RpcAccountFetcher"],[3,"Bank"],[3,"Formatter"],[6,"Result"],[4,"MangoClientError"],[3,"Instruction"],[3,"Request"],[15,"u64"],[15,"bool"],[3,"QueryRoute"],[3,"Signature"],[3,"AddressLookupTableAccount"],[3,"MintInfo"],[15,"f64"],[4,"Cluster"],[3,"CommitmentConfig"],[3,"Duration"],[3,"RpcClient"],[3,"PerpMarketContext"],[15,"u8"],[15,"i64"],[4,"Side"],[4,"PlaceOrderType"],[4,"SelfTradeBehavior"],[3,"TransactionBuilder"],[4,"ClientError"],[3,"Error"],[3,"ClientError"],[3,"Demand"],[3,"RpcClient"],[3,"Transaction"],[6,"Result"],[3,"SendError"],[4,"Result"],[6,"Serum3MarketIndex"],[3,"Serum3MarketContext"],[15,"u128"],[4,"Serum3Side"],[4,"Serum3SelfTradeBehavior"],[4,"Serum3OrderType"],[3,"String"],[3,"VersionedTransaction"],[3,"Hash"],[3,"TypeId"],[3,"AccountUpdate"],[4,"Message"],[3,"RpcKeyedAccount"],[3,"Response"],[3,"ChainData"],[3,"AccountData"],[3,"RandomState"],[3,"HashMap"],[4,"SlotStatus"],[3,"SlotData"],[3,"AccountFetcher"],[8,"ZeroCopy"],[8,"Owner"],[3,"AccountSharedData"],[3,"Error"],[8,"Iterator"],[3,"Metrics"],[3,"ChainDataMetrics"],[6,"Slot"],[3,"RwLock"],[3,"HealthCache"],[3,"QueryResult"],[3,"QueryMarketInfo"],[3,"QueryFee"],[3,"QueryRouteFees"],[3,"SwapRequest"],[3,"SwapResponse"],[4,"Direction"],[6,"MangoAccountLoadedRef"],[3,"Config"],[3,"Sender"],[3,"Receiver"],[3,"Config"],[8,"AnyhowWrap"],[8,"AsyncChannelSendUnlessFull"],[13,"SendTransactionPreflightFailure"],[13,"Account"],[13,"Snapshot"],[13,"Slot"]]}\ }'); if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)}; if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex}; diff --git a/rs/doc/src/mango_v4/state/token_conditional_swap.rs.html b/rs/doc/src/mango_v4/state/token_conditional_swap.rs.html index 164541177..358f39a98 100644 --- a/rs/doc/src/mango_v4/state/token_conditional_swap.rs.html +++ b/rs/doc/src/mango_v4/state/token_conditional_swap.rs.html @@ -200,6 +200,37 @@ 200 201 202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233
use anchor_lang::prelude::*;
 
 use derivative::Derivative;
@@ -208,6 +239,7 @@
 use static_assertions::const_assert_eq;
 use std::mem::size_of;
 
+use crate::i80f48::ClampToInt;
 use crate::state::*;
 
 #[derive(
@@ -401,6 +433,36 @@
     pub fn price_in_range(&self, price: f64) -> bool {
         price >= self.price_lower_limit && price <= self.price_upper_limit
     }
+
+    /// The remaining buy amount, taking the current buy token position and
+    /// buy bank's reduce-only status into account.
+    ///
+    /// Note that the account health might further restrict execution.
+    pub fn max_buy_for_position(&self, buy_position: I80F48, buy_bank: &Bank) -> u64 {
+        self.remaining_buy().min(
+            if self.allow_creating_deposits() && !buy_bank.are_deposits_reduce_only() {
+                u64::MAX
+            } else {
+                // ceil() because we're ok reaching 0..1 deposited native tokens
+                (-buy_position).ceil().clamp_to_u64()
+            },
+        )
+    }
+
+    /// The remaining sell amount, taking the current sell token position and
+    /// sell bank's reduce-only status into account.
+    ///
+    /// Note that the account health might further restrict execution.
+    pub fn max_sell_for_position(&self, sell_position: I80F48, sell_bank: &Bank) -> u64 {
+        self.remaining_sell().min(
+            if self.allow_creating_borrows() && !sell_bank.are_borrows_reduce_only() {
+                u64::MAX
+            } else {
+                // floor() so we never go below 0
+                sell_position.floor().clamp_to_u64()
+            },
+        )
+    }
 }
 
\ No newline at end of file diff --git a/rs/doc/src/mango_v4_client/chain_data_fetcher.rs.html b/rs/doc/src/mango_v4_client/chain_data_fetcher.rs.html index c3b3c8c82..68820c28a 100644 --- a/rs/doc/src/mango_v4_client/chain_data_fetcher.rs.html +++ b/rs/doc/src/mango_v4_client/chain_data_fetcher.rs.html @@ -198,6 +198,21 @@ 198 199 200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215
use std::sync::{Arc, RwLock};
 use std::thread;
 use std::time::{Duration, Instant};
@@ -206,8 +221,9 @@
 
 use anchor_lang::Discriminator;
 
-use mango_v4::accounts_zerocopy::LoadZeroCopy;
-use mango_v4::state::{MangoAccount, MangoAccountValue};
+use fixed::types::I80F48;
+use mango_v4::accounts_zerocopy::{KeyedAccountSharedData, LoadZeroCopy};
+use mango_v4::state::{Bank, MangoAccount, MangoAccountValue};
 
 use anyhow::Context;
 
@@ -217,7 +233,14 @@
 use solana_sdk::pubkey::Pubkey;
 use solana_sdk::signature::Signature;
 
-pub struct AccountFetcher {
+/// A complex account fetcher that mostly depends on an external job keeping
+/// the chain_data up to date.
+///
+/// In addition to the usual async fetching interface, it also has synchronous
+/// functions to access some kinds of data with less overhead.
+///
+/// Also, there's functions for fetching up to date data via rpc.
+pub struct AccountFetcher {
     pub chain_data: Arc<RwLock<ChainData>>,
     pub rpc: RpcClientAsync,
 }
@@ -254,6 +277,13 @@
             .with_context(|| format!("loading mango account {}", address))
     }
 
+    pub fn fetch_bank_price(&self, bank: &Pubkey) -> anyhow::Result<I80F48> {
+        let bank: Bank = self.fetch(bank)?;
+        let oracle = self.fetch_raw(&bank.oracle)?;
+        let price = bank.oracle_price(&KeyedAccountSharedData::new(bank.oracle, oracle), None)?;
+        Ok(price)
+    }
+
     // fetches via RPC, stores in ChainData, returns new version
     pub async fn fetch_fresh<T: anchor_lang::ZeroCopy + anchor_lang::Owner>(
         &self,
diff --git a/rs/doc/src/mango_v4_client/health_cache.rs.html b/rs/doc/src/mango_v4_client/health_cache.rs.html
index 23b37bc08..ae66da047 100644
--- a/rs/doc/src/mango_v4_client/health_cache.rs.html
+++ b/rs/doc/src/mango_v4_client/health_cache.rs.html
@@ -35,6 +35,37 @@
 35
 36
 37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
 
use crate::{AccountFetcher, MangoGroupContext};
 use anyhow::Context;
 use futures::{stream, StreamExt, TryStreamExt};
@@ -72,5 +103,36 @@
     };
     mango_v4::health::new_health_cache(&account.borrow(), &retriever).context("make health cache")
 }
+
+pub fn new_sync(
+    context: &MangoGroupContext,
+    account_fetcher: &crate::chain_data::AccountFetcher,
+    account: &MangoAccountValue,
+) -> anyhow::Result<HealthCache> {
+    let active_token_len = account.active_token_positions().count();
+    let active_perp_len = account.active_perp_positions().count();
+
+    let metas =
+        context.derive_health_check_remaining_account_metas(account, vec![], vec![], vec![])?;
+    let accounts = metas
+        .iter()
+        .map(|meta| {
+            Ok(KeyedAccountSharedData::new(
+                meta.pubkey,
+                account_fetcher.fetch_raw(&meta.pubkey)?,
+            ))
+        })
+        .collect::<anyhow::Result<Vec<_>>>()?;
+
+    let retriever = FixedOrderAccountRetriever {
+        ais: accounts,
+        n_banks: active_token_len,
+        n_perps: active_perp_len,
+        begin_perp: active_token_len * 2,
+        begin_serum3: active_token_len * 2 + active_perp_len * 2,
+        staleness_slot: None,
+    };
+    mango_v4::health::new_health_cache(&account.borrow(), &retriever).context("make health cache")
+}
 
\ No newline at end of file diff --git a/ts/client/classes/As.html b/ts/client/classes/As.html index 8b59fdd49..7950ef3e5 100644 --- a/ts/client/classes/As.html +++ b/ts/client/classes/As.html @@ -1 +1 @@ -As | @blockworks-foundation/mango-v4
Options
All
  • Public
  • Public/Protected
  • All
Menu

Type parameters

  • Tag: keyof never

Hierarchy

  • As

Index

Constructors

Properties

Constructors

  • new As<Tag>(): As<Tag>
  • Type parameters

    • Tag: string | number | symbol

    Returns As<Tag>

Properties

[$as$]: Record<Tag, true>
$as$: typeof $as$

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +As | @blockworks-foundation/mango-v4
Options
All
  • Public
  • Public/Protected
  • All
Menu

Type parameters

  • Tag: keyof never

Hierarchy

  • As

Index

Constructors

Properties

Constructors

  • new As<Tag>(): As<Tag>
  • Type parameters

    • Tag: string | number | symbol

    Returns As<Tag>

Properties

[$as$]: Record<Tag, true>
$as$: typeof $as$

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/ts/client/classes/Bank.html b/ts/client/classes/Bank.html index f6292870d..c36a57d8b 100644 --- a/ts/client/classes/Bank.html +++ b/ts/client/classes/Bank.html @@ -1,6 +1,6 @@ -Bank | @blockworks-foundation/mango-v4
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Bank

Implements

Index

Constructors

  • new Bank(publicKey: PublicKey, group: PublicKey, name: number[], mint: PublicKey, vault: PublicKey, oracle: PublicKey, oracleConfig: OracleConfigDto, stablePriceModel: StablePriceModel, depositIndex: I80F48Dto, borrowIndex: I80F48Dto, indexedDeposits: I80F48Dto, indexedBorrows: I80F48Dto, indexLastUpdated: BN, bankRateLastUpdated: BN, avgUtilization: I80F48Dto, adjustmentFactor: I80F48Dto, util0: I80F48Dto, rate0: I80F48Dto, util1: I80F48Dto, rate1: I80F48Dto, maxRate: I80F48Dto, collectedFeesNative: I80F48Dto, loanOriginationFeeRate: I80F48Dto, loanFeeRate: I80F48Dto, maintAssetWeight: I80F48Dto, initAssetWeight: I80F48Dto, maintLiabWeight: I80F48Dto, initLiabWeight: I80F48Dto, liquidationFee: I80F48Dto, dust: I80F48Dto, flashLoanTokenAccountInitial: BN, flashLoanApprovedAmount: BN, tokenIndex: TokenIndex, mintDecimals: number, bankNum: number, minVaultToDepositsRatio: number, netBorrowLimitWindowSizeTs: BN, lastNetBorrowsWindowStartTs: BN, netBorrowLimitPerWindowQuote: BN, netBorrowsInWindow: BN, borrowWeightScaleStartQuote: number, depositWeightScaleStartQuote: number, reduceOnly: number, forceClose: boolean, feesWithdrawn: BN, tokenConditionalSwapTakerFeeRate: number, tokenConditionalSwapMakerFeeRate: number, flashLoanSwapFeeRate: number): Bank

Properties

_oracleLastUpdatedSlot: undefined | number
_oracleProvider: undefined | OracleProvider
_price: undefined | I80F48
_uiPrice: undefined | number
adjustmentFactor: I80F48
avgUtilization: I80F48
bankNum: number
bankRateLastUpdated: BN
borrowIndex: I80F48
borrowWeightScaleStartQuote: number
collectedFeesNative: I80F48
depositIndex: I80F48
depositWeightScaleStartQuote: number
dust: I80F48
feesWithdrawn: BN
flashLoanApprovedAmount: BN
flashLoanSwapFeeRate: number
flashLoanTokenAccountInitial: BN
forceClose: boolean
group: PublicKey
indexLastUpdated: BN
indexedBorrows: I80F48
indexedDeposits: I80F48
initAssetWeight: I80F48
initLiabWeight: I80F48
lastNetBorrowsWindowStartTs: BN
liquidationFee: I80F48
loanFeeRate: I80F48
loanOriginationFeeRate: I80F48
maintAssetWeight: I80F48
maintLiabWeight: I80F48
maxRate: I80F48
minVaultToDepositsRatio: number
mint: PublicKey
mintDecimals: number
name: string
netBorrowLimitPerWindowQuote: BN
netBorrowLimitWindowSizeTs: BN
netBorrowsInWindow: BN
oracle: PublicKey
oracleConfig: OracleConfig
publicKey: PublicKey
rate0: I80F48
rate1: I80F48
reduceOnly: number
stablePriceModel: StablePriceModel
tokenConditionalSwapMakerFeeRate: number
tokenConditionalSwapTakerFeeRate: number
tokenIndex: TokenIndex
util0: I80F48
util1: I80F48
vault: PublicKey

Accessors

  • get oracleLastUpdatedSlot(): number
  • get uiPrice(): number

Methods

  • areBorrowsReduceOnly(): boolean
  • areDepositsReduceOnly(): boolean
  • getBorrowLimitLeftInWindow(): I80F48
  • getBorrowRateUi(): number
  • Returns number

    total borrow rate percentage (including loan upkeep rate)

    -
  • getBorrowRateWithoutUpkeepRate(): I80F48
  • getDepositRateUi(): number
  • getMaxWithdraw(vaultBalance: BN, userDeposits?: I80F48): I80F48
  • getNetBorrowLimitPerWindow(): I80F48
  • getNetBorrowLimitPerWindowUi(): number
  • getTimeToNextBorrowLimitWindowStartsTs(): number
  • toString(): string
  • uiBorrows(): number
  • uiDeposits(): number
  • from(publicKey: PublicKey, obj: { adjustmentFactor: I80F48Dto; avgUtilization: I80F48Dto; bankNum: number; bankRateLastUpdated: BN; borrowIndex: I80F48Dto; borrowWeightScaleStartQuote: number; collectedFeesNative: I80F48Dto; depositIndex: I80F48Dto; depositWeightScaleStartQuote: number; dust: I80F48Dto; feesWithdrawn: BN; flashLoanApprovedAmount: BN; flashLoanSwapFeeRate: number; flashLoanTokenAccountInitial: BN; forceClose: number; group: PublicKey; indexLastUpdated: BN; indexedBorrows: I80F48Dto; indexedDeposits: I80F48Dto; initAssetWeight: I80F48Dto; initLiabWeight: I80F48Dto; lastNetBorrowsWindowStartTs: BN; liquidationFee: I80F48Dto; loanFeeRate: I80F48Dto; loanOriginationFeeRate: I80F48Dto; maintAssetWeight: I80F48Dto; maintLiabWeight: I80F48Dto; maxRate: I80F48Dto; minVaultToDepositsRatio: number; mint: PublicKey; mintDecimals: number; name: number[]; netBorrowLimitPerWindowQuote: BN; netBorrowLimitWindowSizeTs: BN; netBorrowsInWindow: BN; oracle: PublicKey; oracleConfig: OracleConfigDto; rate0: I80F48Dto; rate1: I80F48Dto; reduceOnly: number; stablePriceModel: StablePriceModel; tokenConditionalSwapMakerFeeRate: number; tokenConditionalSwapTakerFeeRate: number; tokenIndex: number; util0: I80F48Dto; util1: I80F48Dto; vault: PublicKey }): Bank
  • Parameters

    • publicKey: PublicKey
    • obj: { adjustmentFactor: I80F48Dto; avgUtilization: I80F48Dto; bankNum: number; bankRateLastUpdated: BN; borrowIndex: I80F48Dto; borrowWeightScaleStartQuote: number; collectedFeesNative: I80F48Dto; depositIndex: I80F48Dto; depositWeightScaleStartQuote: number; dust: I80F48Dto; feesWithdrawn: BN; flashLoanApprovedAmount: BN; flashLoanSwapFeeRate: number; flashLoanTokenAccountInitial: BN; forceClose: number; group: PublicKey; indexLastUpdated: BN; indexedBorrows: I80F48Dto; indexedDeposits: I80F48Dto; initAssetWeight: I80F48Dto; initLiabWeight: I80F48Dto; lastNetBorrowsWindowStartTs: BN; liquidationFee: I80F48Dto; loanFeeRate: I80F48Dto; loanOriginationFeeRate: I80F48Dto; maintAssetWeight: I80F48Dto; maintLiabWeight: I80F48Dto; maxRate: I80F48Dto; minVaultToDepositsRatio: number; mint: PublicKey; mintDecimals: number; name: number[]; netBorrowLimitPerWindowQuote: BN; netBorrowLimitWindowSizeTs: BN; netBorrowsInWindow: BN; oracle: PublicKey; oracleConfig: OracleConfigDto; rate0: I80F48Dto; rate1: I80F48Dto; reduceOnly: number; stablePriceModel: StablePriceModel; tokenConditionalSwapMakerFeeRate: number; tokenConditionalSwapTakerFeeRate: number; tokenIndex: number; util0: I80F48Dto; util1: I80F48Dto; vault: PublicKey }
      • adjustmentFactor: I80F48Dto
      • avgUtilization: I80F48Dto
      • bankNum: number
      • bankRateLastUpdated: BN
      • borrowIndex: I80F48Dto
      • borrowWeightScaleStartQuote: number
      • collectedFeesNative: I80F48Dto
      • depositIndex: I80F48Dto
      • depositWeightScaleStartQuote: number
      • dust: I80F48Dto
      • feesWithdrawn: BN
      • flashLoanApprovedAmount: BN
      • flashLoanSwapFeeRate: number
      • flashLoanTokenAccountInitial: BN
      • forceClose: number
      • group: PublicKey
      • indexLastUpdated: BN
      • indexedBorrows: I80F48Dto
      • indexedDeposits: I80F48Dto
      • initAssetWeight: I80F48Dto
      • initLiabWeight: I80F48Dto
      • lastNetBorrowsWindowStartTs: BN
      • liquidationFee: I80F48Dto
      • loanFeeRate: I80F48Dto
      • loanOriginationFeeRate: I80F48Dto
      • maintAssetWeight: I80F48Dto
      • maintLiabWeight: I80F48Dto
      • maxRate: I80F48Dto
      • minVaultToDepositsRatio: number
      • mint: PublicKey
      • mintDecimals: number
      • name: number[]
      • netBorrowLimitPerWindowQuote: BN
      • netBorrowLimitWindowSizeTs: BN
      • netBorrowsInWindow: BN
      • oracle: PublicKey
      • oracleConfig: OracleConfigDto
      • rate0: I80F48Dto
      • rate1: I80F48Dto
      • reduceOnly: number
      • stablePriceModel: StablePriceModel
      • tokenConditionalSwapMakerFeeRate: number
      • tokenConditionalSwapTakerFeeRate: number
      • tokenIndex: number
      • util0: I80F48Dto
      • util1: I80F48Dto
      • vault: PublicKey

    Returns Bank

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +Bank | @blockworks-foundation/mango-v4
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Bank

Implements

Index

Constructors

  • new Bank(publicKey: PublicKey, group: PublicKey, name: number[], mint: PublicKey, vault: PublicKey, oracle: PublicKey, oracleConfig: OracleConfigDto, stablePriceModel: StablePriceModel, depositIndex: I80F48Dto, borrowIndex: I80F48Dto, indexedDeposits: I80F48Dto, indexedBorrows: I80F48Dto, indexLastUpdated: BN, bankRateLastUpdated: BN, avgUtilization: I80F48Dto, adjustmentFactor: I80F48Dto, util0: I80F48Dto, rate0: I80F48Dto, util1: I80F48Dto, rate1: I80F48Dto, maxRate: I80F48Dto, collectedFeesNative: I80F48Dto, loanOriginationFeeRate: I80F48Dto, loanFeeRate: I80F48Dto, maintAssetWeight: I80F48Dto, initAssetWeight: I80F48Dto, maintLiabWeight: I80F48Dto, initLiabWeight: I80F48Dto, liquidationFee: I80F48Dto, dust: I80F48Dto, flashLoanTokenAccountInitial: BN, flashLoanApprovedAmount: BN, tokenIndex: TokenIndex, mintDecimals: number, bankNum: number, minVaultToDepositsRatio: number, netBorrowLimitWindowSizeTs: BN, lastNetBorrowsWindowStartTs: BN, netBorrowLimitPerWindowQuote: BN, netBorrowsInWindow: BN, borrowWeightScaleStartQuote: number, depositWeightScaleStartQuote: number, reduceOnly: number, forceClose: boolean, feesWithdrawn: BN, tokenConditionalSwapTakerFeeRate: number, tokenConditionalSwapMakerFeeRate: number, flashLoanSwapFeeRate: number): Bank

Properties

_oracleLastUpdatedSlot: undefined | number
_oracleProvider: undefined | OracleProvider
_price: undefined | I80F48
_uiPrice: undefined | number
adjustmentFactor: I80F48
avgUtilization: I80F48
bankNum: number
bankRateLastUpdated: BN
borrowIndex: I80F48
borrowWeightScaleStartQuote: number
collectedFeesNative: I80F48
depositIndex: I80F48
depositWeightScaleStartQuote: number
dust: I80F48
feesWithdrawn: BN
flashLoanApprovedAmount: BN
flashLoanSwapFeeRate: number
flashLoanTokenAccountInitial: BN
forceClose: boolean
group: PublicKey
indexLastUpdated: BN
indexedBorrows: I80F48
indexedDeposits: I80F48
initAssetWeight: I80F48
initLiabWeight: I80F48
lastNetBorrowsWindowStartTs: BN
liquidationFee: I80F48
loanFeeRate: I80F48
loanOriginationFeeRate: I80F48
maintAssetWeight: I80F48
maintLiabWeight: I80F48
maxRate: I80F48
minVaultToDepositsRatio: number
mint: PublicKey
mintDecimals: number
name: string
netBorrowLimitPerWindowQuote: BN
netBorrowLimitWindowSizeTs: BN
netBorrowsInWindow: BN
oracle: PublicKey
oracleConfig: OracleConfig
publicKey: PublicKey
rate0: I80F48
rate1: I80F48
reduceOnly: number
stablePriceModel: StablePriceModel
tokenConditionalSwapMakerFeeRate: number
tokenConditionalSwapTakerFeeRate: number
tokenIndex: TokenIndex
util0: I80F48
util1: I80F48
vault: PublicKey

Accessors

  • get oracleLastUpdatedSlot(): number
  • get uiPrice(): number

Methods

  • areBorrowsReduceOnly(): boolean
  • areDepositsReduceOnly(): boolean
  • getBorrowLimitLeftInWindow(): I80F48
  • getBorrowRateUi(): number
  • Returns number

    total borrow rate percentage (including loan upkeep rate)

    +
  • getBorrowRateWithoutUpkeepRate(): I80F48
  • getDepositRateUi(): number
  • getMaxWithdraw(vaultBalance: BN, userDeposits?: I80F48): I80F48
  • getNetBorrowLimitPerWindow(): I80F48
  • getNetBorrowLimitPerWindowUi(): number
  • getTimeToNextBorrowLimitWindowStartsTs(): number
  • toString(): string
  • uiBorrows(): number
  • uiDeposits(): number
  • from(publicKey: PublicKey, obj: { adjustmentFactor: I80F48Dto; avgUtilization: I80F48Dto; bankNum: number; bankRateLastUpdated: BN; borrowIndex: I80F48Dto; borrowWeightScaleStartQuote: number; collectedFeesNative: I80F48Dto; depositIndex: I80F48Dto; depositWeightScaleStartQuote: number; dust: I80F48Dto; feesWithdrawn: BN; flashLoanApprovedAmount: BN; flashLoanSwapFeeRate: number; flashLoanTokenAccountInitial: BN; forceClose: number; group: PublicKey; indexLastUpdated: BN; indexedBorrows: I80F48Dto; indexedDeposits: I80F48Dto; initAssetWeight: I80F48Dto; initLiabWeight: I80F48Dto; lastNetBorrowsWindowStartTs: BN; liquidationFee: I80F48Dto; loanFeeRate: I80F48Dto; loanOriginationFeeRate: I80F48Dto; maintAssetWeight: I80F48Dto; maintLiabWeight: I80F48Dto; maxRate: I80F48Dto; minVaultToDepositsRatio: number; mint: PublicKey; mintDecimals: number; name: number[]; netBorrowLimitPerWindowQuote: BN; netBorrowLimitWindowSizeTs: BN; netBorrowsInWindow: BN; oracle: PublicKey; oracleConfig: OracleConfigDto; rate0: I80F48Dto; rate1: I80F48Dto; reduceOnly: number; stablePriceModel: StablePriceModel; tokenConditionalSwapMakerFeeRate: number; tokenConditionalSwapTakerFeeRate: number; tokenIndex: number; util0: I80F48Dto; util1: I80F48Dto; vault: PublicKey }): Bank
  • Parameters

    • publicKey: PublicKey
    • obj: { adjustmentFactor: I80F48Dto; avgUtilization: I80F48Dto; bankNum: number; bankRateLastUpdated: BN; borrowIndex: I80F48Dto; borrowWeightScaleStartQuote: number; collectedFeesNative: I80F48Dto; depositIndex: I80F48Dto; depositWeightScaleStartQuote: number; dust: I80F48Dto; feesWithdrawn: BN; flashLoanApprovedAmount: BN; flashLoanSwapFeeRate: number; flashLoanTokenAccountInitial: BN; forceClose: number; group: PublicKey; indexLastUpdated: BN; indexedBorrows: I80F48Dto; indexedDeposits: I80F48Dto; initAssetWeight: I80F48Dto; initLiabWeight: I80F48Dto; lastNetBorrowsWindowStartTs: BN; liquidationFee: I80F48Dto; loanFeeRate: I80F48Dto; loanOriginationFeeRate: I80F48Dto; maintAssetWeight: I80F48Dto; maintLiabWeight: I80F48Dto; maxRate: I80F48Dto; minVaultToDepositsRatio: number; mint: PublicKey; mintDecimals: number; name: number[]; netBorrowLimitPerWindowQuote: BN; netBorrowLimitWindowSizeTs: BN; netBorrowsInWindow: BN; oracle: PublicKey; oracleConfig: OracleConfigDto; rate0: I80F48Dto; rate1: I80F48Dto; reduceOnly: number; stablePriceModel: StablePriceModel; tokenConditionalSwapMakerFeeRate: number; tokenConditionalSwapTakerFeeRate: number; tokenIndex: number; util0: I80F48Dto; util1: I80F48Dto; vault: PublicKey }
      • adjustmentFactor: I80F48Dto
      • avgUtilization: I80F48Dto
      • bankNum: number
      • bankRateLastUpdated: BN
      • borrowIndex: I80F48Dto
      • borrowWeightScaleStartQuote: number
      • collectedFeesNative: I80F48Dto
      • depositIndex: I80F48Dto
      • depositWeightScaleStartQuote: number
      • dust: I80F48Dto
      • feesWithdrawn: BN
      • flashLoanApprovedAmount: BN
      • flashLoanSwapFeeRate: number
      • flashLoanTokenAccountInitial: BN
      • forceClose: number
      • group: PublicKey
      • indexLastUpdated: BN
      • indexedBorrows: I80F48Dto
      • indexedDeposits: I80F48Dto
      • initAssetWeight: I80F48Dto
      • initLiabWeight: I80F48Dto
      • lastNetBorrowsWindowStartTs: BN
      • liquidationFee: I80F48Dto
      • loanFeeRate: I80F48Dto
      • loanOriginationFeeRate: I80F48Dto
      • maintAssetWeight: I80F48Dto
      • maintLiabWeight: I80F48Dto
      • maxRate: I80F48Dto
      • minVaultToDepositsRatio: number
      • mint: PublicKey
      • mintDecimals: number
      • name: number[]
      • netBorrowLimitPerWindowQuote: BN
      • netBorrowLimitWindowSizeTs: BN
      • netBorrowsInWindow: BN
      • oracle: PublicKey
      • oracleConfig: OracleConfigDto
      • rate0: I80F48Dto
      • rate1: I80F48Dto
      • reduceOnly: number
      • stablePriceModel: StablePriceModel
      • tokenConditionalSwapMakerFeeRate: number
      • tokenConditionalSwapTakerFeeRate: number
      • tokenIndex: number
      • util0: I80F48Dto
      • util1: I80F48Dto
      • vault: PublicKey

    Returns Bank

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/ts/client/classes/BookSide.html b/ts/client/classes/BookSide.html index 9ce3fe380..8e6338494 100644 --- a/ts/client/classes/BookSide.html +++ b/ts/client/classes/BookSide.html @@ -1,7 +1,7 @@ -BookSide | @blockworks-foundation/mango-v4
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • BookSide

Index

Constructors

Properties

client: MangoClient
now: BN
orderTreeNodes: OrderTreeNodes
perpMarket: PerpMarket
rootFixed: OrderTreeRoot
rootOraclePegged: OrderTreeRoot
INNER_NODE_TAG: number = 1
LEAF_NODE_TAG: number = 2

Methods

  • fixedItems(): Generator<PerpOrder, any, unknown>
  • getImpactPriceUi(baseLots: BN): undefined | number
  • getL2(depth: number): [number, number, BN, BN][]
  • getL2Ui(depth: number): [number, number][]
  • oraclePeggedItems(): Generator<PerpOrder, any, unknown>
  • getPriceFromKey(key: BN): BN

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/ts/client/classes/BookSideType.html b/ts/client/classes/BookSideType.html index a14310340..69fcb7927 100644 --- a/ts/client/classes/BookSideType.html +++ b/ts/client/classes/BookSideType.html @@ -1 +1 @@ -BookSideType | @blockworks-foundation/mango-v4
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • BookSideType

Index

Constructors

Properties

Constructors

Properties

asks: { asks: {} } = ...

Type declaration

  • asks: {}
    bids: { bids: {} } = ...

    Type declaration

    • bids: {}

      Legend

      • Constructor
      • Property
      • Method
      • Property
      • Method
      • Private property
      • Private method
      • Static property
      • Static method

      Settings

      Theme

      Generated using TypeDoc

      \ No newline at end of file +BookSideType | @blockworks-foundation/mango-v4
      Options
      All
      • Public
      • Public/Protected
      • All
      Menu

      Hierarchy

      • BookSideType

      Index

      Constructors

      Properties

      Constructors

      Properties

      asks: { asks: {} } = ...

      Type declaration

      • asks: {}
        bids: { bids: {} } = ...

        Type declaration

        • bids: {}

          Legend

          • Constructor
          • Property
          • Method
          • Property
          • Method
          • Private property
          • Private method
          • Static property
          • Static method

          Settings

          Theme

          Generated using TypeDoc

          \ No newline at end of file diff --git a/ts/client/classes/FlashLoanType.html b/ts/client/classes/FlashLoanType.html index c9b538fc8..20ca79946 100644 --- a/ts/client/classes/FlashLoanType.html +++ b/ts/client/classes/FlashLoanType.html @@ -1 +1 @@ -FlashLoanType | @blockworks-foundation/mango-v4
          Options
          All
          • Public
          • Public/Protected
          • All
          Menu

          Hierarchy

          • FlashLoanType

          Index

          Constructors

          Properties

          Constructors

          Properties

          swap: { swap: {} } = ...

          Type declaration

          • swap: {}
            unknown: { unknown: {} } = ...

            Type declaration

            • unknown: {}

              Legend

              • Constructor
              • Property
              • Method
              • Property
              • Method
              • Private property
              • Private method
              • Static property
              • Static method

              Settings

              Theme

              Generated using TypeDoc

              \ No newline at end of file +FlashLoanType | @blockworks-foundation/mango-v4
              Options
              All
              • Public
              • Public/Protected
              • All
              Menu

              Hierarchy

              • FlashLoanType

              Index

              Constructors

              Properties

              Constructors

              Properties

              swap: { swap: {} } = ...

              Type declaration

              • swap: {}
                unknown: { unknown: {} } = ...

                Type declaration

                • unknown: {}

                  Legend

                  • Constructor
                  • Property
                  • Method
                  • Property
                  • Method
                  • Private property
                  • Private method
                  • Static property
                  • Static method

                  Settings

                  Theme

                  Generated using TypeDoc

                  \ No newline at end of file diff --git a/ts/client/classes/FlashLoanWithdraw.html b/ts/client/classes/FlashLoanWithdraw.html index 1377c92b7..4252762a9 100644 --- a/ts/client/classes/FlashLoanWithdraw.html +++ b/ts/client/classes/FlashLoanWithdraw.html @@ -1 +1 @@ -FlashLoanWithdraw | @blockworks-foundation/mango-v4
                  Options
                  All
                  • Public
                  • Public/Protected
                  • All
                  Menu

                  Hierarchy

                  • FlashLoanWithdraw

                  Index

                  Constructors

                  Properties

                  Constructors

                  Properties

                  amount: BN
                  index: number

                  Legend

                  • Constructor
                  • Property
                  • Method
                  • Property
                  • Method
                  • Private property
                  • Private method
                  • Static property
                  • Static method

                  Settings

                  Theme

                  Generated using TypeDoc

                  \ No newline at end of file +FlashLoanWithdraw | @blockworks-foundation/mango-v4
                  Options
                  All
                  • Public
                  • Public/Protected
                  • All
                  Menu

                  Hierarchy

                  • FlashLoanWithdraw

                  Index

                  Constructors

                  Properties

                  Constructors

                  Properties

                  amount: BN
                  index: number

                  Legend

                  • Constructor
                  • Property
                  • Method
                  • Property
                  • Method
                  • Private property
                  • Private method
                  • Static property
                  • Static method

                  Settings

                  Theme

                  Generated using TypeDoc

                  \ No newline at end of file diff --git a/ts/client/classes/Group.html b/ts/client/classes/Group.html index 7a59628f1..25e2c9c84 100644 --- a/ts/client/classes/Group.html +++ b/ts/client/classes/Group.html @@ -1,5 +1,5 @@ -Group | @blockworks-foundation/mango-v4
                  Options
                  All
                  • Public
                  • Public/Protected
                  • All
                  Menu

                  Hierarchy

                  • Group

                  Index

                  Constructors

                  • new Group(publicKey: PublicKey, creator: PublicKey, groupNum: number, admin: PublicKey, fastListingAdmin: PublicKey, mngoTokenIndex: TokenIndex, insuranceMint: PublicKey, insuranceVault: PublicKey, testing: number, version: number, buybackFees: boolean, buybackFeesMngoBonusFactor: number, addressLookupTables: PublicKey[], securityAdmin: PublicKey, depositLimitQuote: any, ixGate: BN, buybackFeesSwapMangoAccount: PublicKey, buybackFeesExpiryInterval: BN, addressLookupTablesList: AddressLookupTableAccount[], banksMapByName: Map<string, Bank[]>, banksMapByMint: Map<string, Bank[]>, banksMapByTokenIndex: Map<TokenIndex, Bank[]>, serum3MarketsMapByExternal: Map<string, Serum3Market>, serum3MarketsMapByMarketIndex: Map<MarketIndex, Serum3Market>, serum3ExternalMarketsMap: Map<string, Market>, perpMarketsMapByOracle: Map<string, PerpMarket>, perpMarketsMapByMarketIndex: Map<PerpMarketIndex, PerpMarket>, perpMarketsMapByName: Map<string, PerpMarket>, mintInfosMapByTokenIndex: Map<TokenIndex, MintInfo>, mintInfosMapByMint: Map<string, MintInfo>, vaultAmountsMap: Map<string, BN>, pis: PriceImpact[]): Group
                  • Parameters

                    • publicKey: PublicKey
                    • creator: PublicKey
                    • groupNum: number
                    • admin: PublicKey
                    • fastListingAdmin: PublicKey
                    • mngoTokenIndex: TokenIndex
                    • insuranceMint: PublicKey
                    • insuranceVault: PublicKey
                    • testing: number
                    • version: number
                    • buybackFees: boolean
                    • buybackFeesMngoBonusFactor: number
                    • addressLookupTables: PublicKey[]
                    • securityAdmin: PublicKey
                    • depositLimitQuote: any
                    • ixGate: BN
                    • buybackFeesSwapMangoAccount: PublicKey
                    • buybackFeesExpiryInterval: BN
                    • addressLookupTablesList: AddressLookupTableAccount[]
                    • banksMapByName: Map<string, Bank[]>
                    • banksMapByMint: Map<string, Bank[]>
                    • banksMapByTokenIndex: Map<TokenIndex, Bank[]>
                    • serum3MarketsMapByExternal: Map<string, Serum3Market>
                    • serum3MarketsMapByMarketIndex: Map<MarketIndex, Serum3Market>
                    • serum3ExternalMarketsMap: Map<string, Market>
                    • perpMarketsMapByOracle: Map<string, PerpMarket>
                    • perpMarketsMapByMarketIndex: Map<PerpMarketIndex, PerpMarket>
                    • perpMarketsMapByName: Map<string, PerpMarket>
                    • mintInfosMapByTokenIndex: Map<TokenIndex, MintInfo>
                    • mintInfosMapByMint: Map<string, MintInfo>
                    • vaultAmountsMap: Map<string, BN>
                    • pis: PriceImpact[]

                    Returns Group

                  Properties

                  addressLookupTables: PublicKey[]
                  addressLookupTablesList: AddressLookupTableAccount[]
                  admin: PublicKey
                  banksMapByMint: Map<string, Bank[]>
                  banksMapByName: Map<string, Bank[]>
                  banksMapByTokenIndex: Map<TokenIndex, Bank[]>
                  buybackFees: boolean
                  buybackFeesExpiryInterval: BN
                  buybackFeesMngoBonusFactor: number
                  buybackFeesSwapMangoAccount: PublicKey
                  creator: PublicKey
                  depositLimitQuote: any
                  fastListingAdmin: PublicKey
                  groupNum: number
                  insuranceMint: PublicKey
                  insuranceVault: PublicKey
                  ixGate: BN
                  mintInfosMapByMint: Map<string, MintInfo>
                  mintInfosMapByTokenIndex: Map<TokenIndex, MintInfo>
                  mngoTokenIndex: TokenIndex
                  perpMarketsMapByMarketIndex: Map<PerpMarketIndex, PerpMarket>
                  perpMarketsMapByName: Map<string, PerpMarket>
                  perpMarketsMapByOracle: Map<string, PerpMarket>
                  publicKey: PublicKey
                  securityAdmin: PublicKey
                  serum3ExternalMarketsMap: Map<string, Market>
                  serum3MarketsMapByExternal: Map<string, Serum3Market>
                  serum3MarketsMapByMarketIndex: Map<MarketIndex, Serum3Market>
                  testing: number
                  vaultAmountsMap: Map<string, BN>
                  version: number

                  Methods

                  • consoleLogBanks(): void
                  • decodePriceFromOracleAi(coder: BorshAccountsCoder<string>, oracle: PublicKey, ai: AccountInfo<Buffer>, baseDecimals: number, client: MangoClient): Promise<{ lastUpdatedSlot: number; price: I80F48; provider: OracleProvider; uiPrice: number }>
                  • getFirstBankByMint(mintPk: PublicKey): Bank
                  • getFirstBankForMngo(): Bank
                  • getFirstBankForPerpSettlement(): Bank
                  • getInsuranceMintDecimals(): number
                  • getMintDecimals(mintPk: PublicKey): number
                  • getMintDecimalsByTokenIndex(tokenIndex: TokenIndex): number
                  • getPerpMarketByName(perpMarketName: string): PerpMarket
                  • getPerpMarketByOracle(oracle: PublicKey): PerpMarket
                  • getPriceImpactByTokenIndex(tokenIndex: TokenIndex, usdcAmountUi: number): number
                  • getSerum3ExternalMarket(externalMarketPk: PublicKey): Market
                  • getSerum3MarketByExternalMarket(externalMarketPk: PublicKey): Serum3Market
                  • getSerum3MarketByMarketIndex(marketIndex: MarketIndex): Serum3Market
                  • getTokenVaultBalanceByMint(mintPk: PublicKey): BN
                  • getTokenVaultBalanceByMintUi(mintPk: PublicKey): number
                  • Parameters

                    • mintPk: PublicKey

                    Returns number

                    sum of ui balances of vaults for all banks for a token

                    +
                  • loadSerum3AsksForMarket(client: MangoClient, externalMarketPk: PublicKey): Promise<Orderbook>
                  • loadSerum3BidsForMarket(client: MangoClient, externalMarketPk: PublicKey): Promise<Orderbook>
                  • reloadBankOraclePrices(client: MangoClient): Promise<void>
                  • reloadBanks(client: MangoClient, ids?: Id): Promise<void>
                  • reloadMintInfos(client: MangoClient, ids?: Id): Promise<void>
                  • reloadPerpMarketOraclePrices(client: MangoClient): Promise<void>
                  • reloadPerpMarkets(client: MangoClient, ids?: Id): Promise<void>
                  • reloadPriceImpactData(): Promise<void>
                  • reloadSerum3ExternalMarkets(client: MangoClient): Promise<void>
                  • reloadSerum3Markets(client: MangoClient, ids?: Id): Promise<void>
                  • toNativeDecimals(uiAmount: number, mintPk: PublicKey): BN
                  • toNativePrice(uiPrice: number, baseDecimals: number): I80F48
                  • toString(): string
                  • toUiPrice(price: number | I80F48, baseDecimals: number): number
                  • from(publicKey: PublicKey, obj: { addressLookupTables: PublicKey[]; admin: PublicKey; buybackFees: number; buybackFeesExpiryInterval: BN; buybackFeesMngoBonusFactor: number; buybackFeesSwapMangoAccount: PublicKey; creator: PublicKey; depositLimitQuote: BN; fastListingAdmin: PublicKey; groupNum: number; insuranceMint: PublicKey; insuranceVault: PublicKey; ixGate: BN; mngoTokenIndex: number; securityAdmin: PublicKey; testing: number; version: number }): Group
                  • Parameters

                    • publicKey: PublicKey
                    • obj: { addressLookupTables: PublicKey[]; admin: PublicKey; buybackFees: number; buybackFeesExpiryInterval: BN; buybackFeesMngoBonusFactor: number; buybackFeesSwapMangoAccount: PublicKey; creator: PublicKey; depositLimitQuote: BN; fastListingAdmin: PublicKey; groupNum: number; insuranceMint: PublicKey; insuranceVault: PublicKey; ixGate: BN; mngoTokenIndex: number; securityAdmin: PublicKey; testing: number; version: number }
                      • addressLookupTables: PublicKey[]
                      • admin: PublicKey
                      • buybackFees: number
                      • buybackFeesExpiryInterval: BN
                      • buybackFeesMngoBonusFactor: number
                      • buybackFeesSwapMangoAccount: PublicKey
                      • creator: PublicKey
                      • depositLimitQuote: BN
                      • fastListingAdmin: PublicKey
                      • groupNum: number
                      • insuranceMint: PublicKey
                      • insuranceVault: PublicKey
                      • ixGate: BN
                      • mngoTokenIndex: number
                      • securityAdmin: PublicKey
                      • testing: number
                      • version: number

                    Returns Group

                  Legend

                  • Constructor
                  • Property
                  • Method
                  • Property
                  • Method
                  • Private property
                  • Private method
                  • Static property
                  • Static method

                  Settings

                  Theme

                  Generated using TypeDoc

                  \ No newline at end of file diff --git a/ts/client/classes/HealthType.html b/ts/client/classes/HealthType.html index 8171fa34a..8bdec2dbe 100644 --- a/ts/client/classes/HealthType.html +++ b/ts/client/classes/HealthType.html @@ -1 +1 @@ -HealthType | @blockworks-foundation/mango-v4
                  Options
                  All
                  • Public
                  • Public/Protected
                  • All
                  Menu

                  Hierarchy

                  • HealthType

                  Index

                  Constructors

                  Properties

                  init: { init: {} } = ...

                  Type declaration

                  • init: {}
                    liquidationEnd: { liquidationEnd: {} } = ...

                    Type declaration

                    • liquidationEnd: {}
                      maint: { maint: {} } = ...

                      Type declaration

                      • maint: {}

                        Legend

                        • Constructor
                        • Property
                        • Method
                        • Property
                        • Method
                        • Private property
                        • Private method
                        • Static property
                        • Static method

                        Settings

                        Theme

                        Generated using TypeDoc

                        \ No newline at end of file +HealthType | @blockworks-foundation/mango-v4
                        Options
                        All
                        • Public
                        • Public/Protected
                        • All
                        Menu

                        Hierarchy

                        • HealthType

                        Index

                        Constructors

                        Properties

                        init: { init: {} } = ...

                        Type declaration

                        • init: {}
                          liquidationEnd: { liquidationEnd: {} } = ...

                          Type declaration

                          • liquidationEnd: {}
                            maint: { maint: {} } = ...

                            Type declaration

                            • maint: {}

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file diff --git a/ts/client/classes/I80F48.html b/ts/client/classes/I80F48.html index 81374e016..890cc9fa4 100644 --- a/ts/client/classes/I80F48.html +++ b/ts/client/classes/I80F48.html @@ -1,11 +1,11 @@ -I80F48 | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • I80F48

                              Index

                              Constructors

                              Properties

                              data: BN
                              FRACTIONS: number = 48
                              MAX_BN: BN = ...
                              MAX_SIZE: number = 128
                              +I80F48 | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • I80F48

                              Index

                              Constructors

                              Properties

                              data: BN
                              FRACTIONS: number = 48
                              MAX_BN: BN = ...
                              MAX_SIZE: number = 128

                              This is represented by a 128 bit signed integer underneath The first 80 bits are treated as an integer and last 48 bits are treated as fractional part after binary point It's possible to think of an I80F48 as an i128 divided by 2 ^ 40

                              Read up on how fixed point math works: https://inst.eecs.berkeley.edu/~cs61c/sp06/handout/fixedpt.html Read up on how 2s complement works: https://en.wikipedia.org/wiki/Two%27s_complement

                              -
                              MIN_BN: BN = ...
                              MULTIPLIER_BIG: any = ...
                              MULTIPLIER_BN: BN = ...
                              MULTIPLIER_NUMBER: number = ...

                              Methods

                              • getBinaryLayout(): string
                              • getData(): BN
                              • isNeg(): boolean
                              • isPos(): boolean
                              • isZero(): boolean
                              MIN_BN: BN = ...
                              MULTIPLIER_BIG: any = ...
                              MULTIPLIER_BN: BN = ...
                              MULTIPLIER_NUMBER: number = ...

                              Methods

                              • getBinaryLayout(): string
                              • getData(): BN
                              • isNeg(): boolean
                              • isPos(): boolean
                              • isZero(): boolean
                              • toArray(): Uint8Array
                              • toArrayLike(ArrayType: BufferConstructor, endian?: Endianness, length?: number): Buffer
                              • Parameters

                                • ArrayType: BufferConstructor
                                • Optional endian: Endianness
                                • Optional length: number

                                Returns Buffer

                              • toBig(): Big
                              • toFixed(decimals?: number): string
                              • toArray(): Uint8Array
                              • toArrayLike(ArrayType: BufferConstructor, endian?: Endianness, length?: number): Buffer
                              • Parameters

                                • ArrayType: BufferConstructor
                                • Optional endian: Endianness
                                • Optional length: number

                                Returns Buffer

                              • toBig(): Big
                              • toFixed(decimals?: number): string
                              • The number will be rounded first for UI sensibilities, then toFixed

                                -

                                Parameters

                                • Optional decimals: number

                                Returns string

                              • toLocaleString(locales?: string | string[], options?: NumberFormatOptions): string
                              • Parameters

                                • Optional locales: string | string[]
                                • Optional options: NumberFormatOptions

                                Returns string

                              • toNumber(): number
                              • toString(): string
                              • toTwos(): BN
                              • fromArray(src: Uint8Array): I80F48
                              • fromNumberOrUndef(x?: number): undefined | I80F48
                              • fromOptionalString(x?: string): undefined | I80F48

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file +

                              Parameters

                              • Optional decimals: number

                              Returns string

                              • toLocaleString(locales?: string | string[], options?: NumberFormatOptions): string
                              • Parameters

                                • Optional locales: string | string[]
                                • Optional options: NumberFormatOptions

                                Returns string

                              • toNumber(): number
                              • toString(): string
                              • toTwos(): BN
                              • fromArray(src: Uint8Array): I80F48
                              • fromNumberOrUndef(x?: number): undefined | I80F48
                              • fromOptionalString(x?: string): undefined | I80F48

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file diff --git a/ts/client/classes/I80F48Dto.html b/ts/client/classes/I80F48Dto.html index 95e6d794f..8b846fb1a 100644 --- a/ts/client/classes/I80F48Dto.html +++ b/ts/client/classes/I80F48Dto.html @@ -1 +1 @@ -I80F48Dto | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • I80F48Dto

                              Index

                              Constructors

                              Properties

                              Constructors

                              Properties

                              val: BN

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file +I80F48Dto | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • I80F48Dto

                              Index

                              Constructors

                              Properties

                              Constructors

                              Properties

                              val: BN

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file diff --git a/ts/client/classes/InnerNode.html b/ts/client/classes/InnerNode.html index 3b2cfaf64..ad3d2523c 100644 --- a/ts/client/classes/InnerNode.html +++ b/ts/client/classes/InnerNode.html @@ -1 +1 @@ -InnerNode | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • InnerNode

                              Index

                              Constructors

                              Properties

                              Methods

                              Constructors

                              Properties

                              children: [number]

                              Methods

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file +InnerNode | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • InnerNode

                              Index

                              Constructors

                              Properties

                              Methods

                              Constructors

                              Properties

                              children: [number]

                              Methods

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file diff --git a/ts/client/classes/InterestRateParams.html b/ts/client/classes/InterestRateParams.html index ffed44a88..c0e898631 100644 --- a/ts/client/classes/InterestRateParams.html +++ b/ts/client/classes/InterestRateParams.html @@ -1 +1 @@ -InterestRateParams | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • InterestRateParams

                              Index

                              Constructors

                              Properties

                              adjustmentFactor: number
                              maxRate: number
                              rate0: number
                              rate1: number
                              util0: number
                              util1: number

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file +InterestRateParams | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • InterestRateParams

                              Index

                              Constructors

                              Properties

                              adjustmentFactor: number
                              maxRate: number
                              rate0: number
                              rate1: number
                              util0: number
                              util1: number

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file diff --git a/ts/client/classes/LeafNode.html b/ts/client/classes/LeafNode.html index d5083a023..d88d027e6 100644 --- a/ts/client/classes/LeafNode.html +++ b/ts/client/classes/LeafNode.html @@ -1 +1 @@ -LeafNode | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • LeafNode

                              Index

                              Constructors

                              • new LeafNode(ownerSlot: number, orderType: PerpOrderType, timeInForce: number, key: BN, owner: PublicKey, quantity: BN, timestamp: BN, pegLimit: BN): LeafNode

                              Properties

                              key: BN
                              orderType: PerpOrderType
                              owner: PublicKey
                              ownerSlot: number
                              pegLimit: BN
                              quantity: BN
                              timeInForce: number
                              timestamp: BN

                              Methods

                              • from(obj: { key: BN; orderType: PerpOrderType; owner: PublicKey; ownerSlot: number; pegLimit: BN; quantity: BN; timeInForce: number; timestamp: BN }): LeafNode
                              • Parameters

                                • obj: { key: BN; orderType: PerpOrderType; owner: PublicKey; ownerSlot: number; pegLimit: BN; quantity: BN; timeInForce: number; timestamp: BN }
                                  • key: BN
                                  • orderType: PerpOrderType
                                  • owner: PublicKey
                                  • ownerSlot: number
                                  • pegLimit: BN
                                  • quantity: BN
                                  • timeInForce: number
                                  • timestamp: BN

                                Returns LeafNode

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file +LeafNode | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • LeafNode

                              Index

                              Constructors

                              • new LeafNode(ownerSlot: number, orderType: PerpOrderType, timeInForce: number, key: BN, owner: PublicKey, quantity: BN, timestamp: BN, pegLimit: BN): LeafNode

                              Properties

                              key: BN
                              orderType: PerpOrderType
                              owner: PublicKey
                              ownerSlot: number
                              pegLimit: BN
                              quantity: BN
                              timeInForce: number
                              timestamp: BN

                              Methods

                              • from(obj: { key: BN; orderType: PerpOrderType; owner: PublicKey; ownerSlot: number; pegLimit: BN; quantity: BN; timeInForce: number; timestamp: BN }): LeafNode
                              • Parameters

                                • obj: { key: BN; orderType: PerpOrderType; owner: PublicKey; ownerSlot: number; pegLimit: BN; quantity: BN; timeInForce: number; timestamp: BN }
                                  • key: BN
                                  • orderType: PerpOrderType
                                  • owner: PublicKey
                                  • ownerSlot: number
                                  • pegLimit: BN
                                  • quantity: BN
                                  • timeInForce: number
                                  • timestamp: BN

                                Returns LeafNode

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file diff --git a/ts/client/classes/MangoAccount.html b/ts/client/classes/MangoAccount.html index 53365a286..cdd3031fb 100644 --- a/ts/client/classes/MangoAccount.html +++ b/ts/client/classes/MangoAccount.html @@ -1,69 +1,69 @@ -MangoAccount | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • MangoAccount

                              Index

                              Constructors

                              Properties

                              Methods

                              Constructors

                              • new MangoAccount(publicKey: PublicKey, group: PublicKey, owner: PublicKey, name: number[], delegate: PublicKey, accountNum: number, beingLiquidated: boolean, inHealthRegion: boolean, netDeposits: BN, perpSpotTransfers: BN, healthRegionBeginInitHealth: BN, frozenUntil: BN, buybackFeesAccruedCurrent: BN, buybackFeesAccruedPrevious: BN, buybackFeesExpiryTimestamp: BN, headerVersion: number, tokens: TokenPositionDto[], serum3: Serum3PositionDto[], perps: PerpPositionDto[], perpOpenOrders: PerpOoDto[], tokenConditionalSwaps: TokenConditionalSwapDto[], serum3OosMapByMarketIndex: Map<number, OpenOrders>): MangoAccount
                              • Parameters

                                • publicKey: PublicKey
                                • group: PublicKey
                                • owner: PublicKey
                                • name: number[]
                                • delegate: PublicKey
                                • accountNum: number
                                • beingLiquidated: boolean
                                • inHealthRegion: boolean
                                • netDeposits: BN
                                • perpSpotTransfers: BN
                                • healthRegionBeginInitHealth: BN
                                • frozenUntil: BN
                                • buybackFeesAccruedCurrent: BN
                                • buybackFeesAccruedPrevious: BN
                                • buybackFeesExpiryTimestamp: BN
                                • headerVersion: number
                                • tokens: TokenPositionDto[]
                                • serum3: Serum3PositionDto[]
                                • perps: PerpPositionDto[]
                                • perpOpenOrders: PerpOoDto[]
                                • tokenConditionalSwaps: TokenConditionalSwapDto[]
                                • serum3OosMapByMarketIndex: Map<number, OpenOrders>

                                Returns MangoAccount

                              Properties

                              accountNum: number
                              beingLiquidated: boolean
                              buybackFeesAccruedCurrent: BN
                              buybackFeesAccruedPrevious: BN
                              buybackFeesExpiryTimestamp: BN
                              delegate: PublicKey
                              frozenUntil: BN
                              group: PublicKey
                              headerVersion: number
                              healthRegionBeginInitHealth: BN
                              inHealthRegion: boolean
                              name: string
                              netDeposits: BN
                              owner: PublicKey
                              perpOpenOrders: PerpOo[]
                              perpSpotTransfers: BN
                              perps: PerpPosition[]
                              publicKey: PublicKey
                              serum3: Serum3Orders[]
                              serum3OosMapByMarketIndex: Map<number, OpenOrders>
                              tokenConditionalSwaps: TokenConditionalSwap[]
                              tokens: TokenPosition[]

                              Methods

                              • toString(group?: Group, onlyTokens?: boolean): string
                              • from(publicKey: PublicKey, obj: { accountNum: number; beingLiquidated: number; buybackFeesAccruedCurrent: BN; buybackFeesAccruedPrevious: BN; buybackFeesExpiryTimestamp: BN; delegate: PublicKey; frozenUntil: BN; group: PublicKey; headerVersion: number; healthRegionBeginInitHealth: BN; inHealthRegion: number; name: number[]; netDeposits: BN; owner: PublicKey; perpOpenOrders: unknown; perpSpotTransfers: BN; perps: unknown; serum3: unknown; tokens: unknown }, tokenConditionalSwaps: TokenConditionalSwapDto[]): MangoAccount
                              • Parameters

                                • publicKey: PublicKey
                                • obj: { accountNum: number; beingLiquidated: number; buybackFeesAccruedCurrent: BN; buybackFeesAccruedPrevious: BN; buybackFeesExpiryTimestamp: BN; delegate: PublicKey; frozenUntil: BN; group: PublicKey; headerVersion: number; healthRegionBeginInitHealth: BN; inHealthRegion: number; name: number[]; netDeposits: BN; owner: PublicKey; perpOpenOrders: unknown; perpSpotTransfers: BN; perps: unknown; serum3: unknown; tokens: unknown }
                                  • accountNum: number
                                  • beingLiquidated: number
                                  • buybackFeesAccruedCurrent: BN
                                  • buybackFeesAccruedPrevious: BN
                                  • buybackFeesExpiryTimestamp: BN
                                  • delegate: PublicKey
                                  • frozenUntil: BN
                                  • group: PublicKey
                                  • headerVersion: number
                                  • healthRegionBeginInitHealth: BN
                                  • inHealthRegion: number
                                  • name: number[]
                                  • netDeposits: BN
                                  • owner: PublicKey
                                  • perpOpenOrders: unknown
                                  • perpSpotTransfers: BN
                                  • perps: unknown
                                  • serum3: unknown
                                  • tokens: unknown
                                • tokenConditionalSwaps: TokenConditionalSwapDto[]

                                Returns MangoAccount

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file diff --git a/ts/client/classes/MangoClient.html b/ts/client/classes/MangoClient.html index 813db7065..4925cf073 100644 --- a/ts/client/classes/MangoClient.html +++ b/ts/client/classes/MangoClient.html @@ -1,4 +1,4 @@ -MangoClient | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • MangoClient

                              Index

                              Constructors

                              Properties

                              Accessors

                              Methods

                              Constructors

                              • new MangoClient(program: Program<MangoV4>, programId: PublicKey, cluster: Cluster, opts?: MangoClientOptions): MangoClient

                              Properties

                              cluster: Cluster
                              idsSource: IdsSource
                              openbookFeesToDao: boolean
                              opts: MangoClientOptions = {}
                              postSendTxCallback?: (__namedParameters: Object) => void

                              Type declaration

                                • (__namedParameters: Object): void
                                • Parameters

                                  • __namedParameters: Object

                                  Returns void

                              prioritizationFee: number
                              program: Program<MangoV4>
                              programId: PublicKey
                              txConfirmationCommitment: Commitment

                              Accessors

                              • get connection(): Connection
                              • get walletPk(): PublicKey

                              Methods

                              • accountBuybackFeesWithMngo(group: Group, mangoAccount: MangoAccount, maxBuyback?: number): Promise<string>
                              • accountBuybackFeesWithMngoIx(group: Group, mangoAccount: MangoAccount, maxBuybackUsd?: number): Promise<TransactionInstruction>
                              • accountExpandV2(group: Group, account: MangoAccount, tokenCount: number, serum3Count: number, perpCount: number, perpOoCount: number, tokenConditionalSwapCount: number): Promise<string>
                              • Parameters

                                • group: Group
                                • account: MangoAccount
                                • tokenCount: number
                                • serum3Count: number
                                • perpCount: number
                                • perpOoCount: number
                                • tokenConditionalSwapCount: number

                                Returns Promise<string>

                              • accountExpandV2Ix(group: Group, account: MangoAccount, tokenCount: number, serum3Count: number, perpCount: number, perpOoCount: number, tokenConditionalSwapCount: number): Promise<TransactionInstruction>
                              • Parameters

                                • group: Group
                                • account: MangoAccount
                                • tokenCount: number
                                • serum3Count: number
                                • perpCount: number
                                • perpOoCount: number
                                • tokenConditionalSwapCount: number

                                Returns Promise<TransactionInstruction>

                              • adminPerpWithdrawFees(group: Group, perpMarket: PerpMarket, tokenAccountPk: PublicKey): Promise<string>
                              • adminTokenWithdrawFees(group: Group, bank: Bank, tokenAccountPk: PublicKey): Promise<string>
                              • altExtend(group: Group, addressLookupTable: PublicKey, index: number, pks: PublicKey[]): Promise<string>
                              • Parameters

                                • group: Group
                                • addressLookupTable: PublicKey
                                • index: number
                                • pks: PublicKey[]

                                Returns Promise<string>

                              • altSet(group: Group, addressLookupTable: PublicKey, index: number): Promise<string>
                              • Parameters

                                • group: Group
                                • addressLookupTable: PublicKey
                                • index: number

                                Returns Promise<string>

                              • closeMangoAccount(group: Group, mangoAccount: MangoAccount, forceClose?: boolean): Promise<string>

                              Returns PublicKey[]

                              • closeMangoAccount(group: Group, mangoAccount: MangoAccount, forceClose?: boolean): Promise<string>
                              • Note: this ix doesn't settle liabs, reduce open positions, or withdraw tokens to wallet, it simply closes the account. To close successfully ensure all positions are closed, or use forceClose flag

                                -

                                Parameters

                                Returns Promise<string>

                              • createMangoAccount(group: Group, accountNumber?: number, name?: string, tokenCount?: number, serum3Count?: number, perpCount?: number, perpOoCount?: number): Promise<string>
                              • Parameters

                                • group: Group
                                • Optional accountNumber: number
                                • Optional name: string
                                • Optional tokenCount: number
                                • Optional serum3Count: number
                                • Optional perpCount: number
                                • Optional perpOoCount: number

                                Returns Promise<string>

                              • editMangoAccount(group: Group, mangoAccount: MangoAccount, name?: string, delegate?: PublicKey, temporaryDelegate?: PublicKey, delegateExpiry?: number): Promise<string>
                              • Parameters

                                • group: Group
                                • mangoAccount: MangoAccount
                                • Optional name: string
                                • Optional delegate: PublicKey
                                • Optional temporaryDelegate: PublicKey
                                • Optional delegateExpiry: number

                                Returns Promise<string>

                              • expandMangoAccount(group: Group, account: MangoAccount, tokenCount: number, serum3Count: number, perpCount: number, perpOoCount: number): Promise<string>
                              • Parameters

                                • group: Group
                                • account: MangoAccount
                                • tokenCount: number
                                • serum3Count: number
                                • perpCount: number
                                • perpOoCount: number

                                Returns Promise<string>

                              • getBanksForGroup(group: Group): Promise<Bank[]>
                              • getGroup(groupPk: PublicKey): Promise<Group>
                              • getGroupForCreator(creatorPk: PublicKey, groupNum: number): Promise<Group>
                              • Parameters

                                • creatorPk: PublicKey
                                • groupNum: number

                                Returns Promise<Group>

                              • getGroupsForCreator(creatorPk: PublicKey): Promise<Group[]>
                              • getIds(groupPk: PublicKey): Promise<undefined | Id>
                              • Parameters

                                • groupPk: PublicKey

                                Returns Promise<undefined | Id>

                              • getMangoAccount(mangoAccountPk: PublicKey, loadSerum3Oo?: boolean): Promise<MangoAccount>
                              • getMangoAccountForOwner(group: Group, ownerPk: PublicKey, accountNumber: number, loadSerum3Oo?: boolean): Promise<undefined | MangoAccount>
                              • Parameters

                                • group: Group
                                • ownerPk: PublicKey
                                • accountNumber: number
                                • loadSerum3Oo: boolean = false

                                Returns Promise<undefined | MangoAccount>

                              • getMangoAccountFromAi(mangoAccountPk: PublicKey, ai: AccountInfo<Buffer>): Promise<MangoAccount>
                              • getMangoAccountFromPk(mangoAccountPk: PublicKey): Promise<MangoAccount>
                              • getMangoAccountWithSlot(mangoAccountPk: PublicKey, loadSerum3Oo?: boolean): Promise<undefined | { slot: number; value: MangoAccount }>
                              • Parameters

                                • mangoAccountPk: PublicKey
                                • loadSerum3Oo: boolean = false

                                Returns Promise<undefined | { slot: number; value: MangoAccount }>

                              • getMangoAccountsForDelegate(group: Group, delegate: PublicKey, loadSerum3Oo?: boolean): Promise<MangoAccount[]>
                              • getMangoAccountsForOwner(group: Group, ownerPk: PublicKey, loadSerum3Oo?: boolean): Promise<MangoAccount[]>
                              • groupClose(group: Group): Promise<string>
                              • groupCreate(groupNum: number, testing: boolean, version: number, insuranceMintPk: PublicKey): Promise<string>
                              • Parameters

                                • groupNum: number
                                • testing: boolean
                                • version: number
                                • insuranceMintPk: PublicKey

                                Returns Promise<string>

                              • groupEdit(group: Group, admin?: PublicKey, fastListingAdmin?: PublicKey, securityAdmin?: PublicKey, testing?: number, version?: number, depositLimitQuote?: BN, feesPayWithMngo?: boolean, feesMngoBonusRate?: number, feesSwapMangoAccount?: PublicKey, feesMngoTokenIndex?: TokenIndex, feesExpiryInterval?: BN): Promise<string>
                              • Parameters

                                • group: Group
                                • Optional admin: PublicKey
                                • Optional fastListingAdmin: PublicKey
                                • Optional securityAdmin: PublicKey
                                • Optional testing: number
                                • Optional version: number
                                • Optional depositLimitQuote: BN
                                • Optional feesPayWithMngo: boolean
                                • Optional feesMngoBonusRate: number
                                • Optional feesSwapMangoAccount: PublicKey
                                • Optional feesMngoTokenIndex: TokenIndex
                                • Optional feesExpiryInterval: BN

                                Returns Promise<string>

                              • ixGateSet(group: Group, ixGateParams: IxGateParams): Promise<string>
                              • Parameters

                                • group: Group
                                • ixGateParams: IxGateParams

                                Returns Promise<string>

                              • liqTokenWithToken(group: Group, liqor: MangoAccount, liqee: MangoAccount, assetMintPk: PublicKey, liabMintPk: PublicKey, maxLiabTransfer: number): Promise<string>
                              • marginTrade(__namedParameters: { amountIn: number; flashLoanType: FlashLoanType; group: Group; inputMintPk: PublicKey; mangoAccount: MangoAccount; outputMintPk: PublicKey; userDefinedAlts: AddressLookupTableAccount[]; userDefinedInstructions: TransactionInstruction[] }): Promise<string>
                              • Parameters

                                • __namedParameters: { amountIn: number; flashLoanType: FlashLoanType; group: Group; inputMintPk: PublicKey; mangoAccount: MangoAccount; outputMintPk: PublicKey; userDefinedAlts: AddressLookupTableAccount[]; userDefinedInstructions: TransactionInstruction[] }
                                  • amountIn: number
                                  • flashLoanType: FlashLoanType
                                  • group: Group
                                  • inputMintPk: PublicKey
                                  • mangoAccount: MangoAccount
                                  • outputMintPk: PublicKey
                                  • userDefinedAlts: AddressLookupTableAccount[]
                                  • userDefinedInstructions: TransactionInstruction[]

                                Returns Promise<string>

                              • modifyPerpOrder(group: Group, mangoAccount: MangoAccount, perpMarketIndex: PerpMarketIndex, orderId: BN, side: PerpOrderSide, price: number, quantity: number, maxQuoteQuantity?: number, clientOrderId?: number, orderType?: PerpOrderType, reduceOnly?: boolean, expiryTimestamp?: number, limit?: number): Promise<string>
                              • Parameters

                                • group: Group
                                • mangoAccount: MangoAccount
                                • perpMarketIndex: PerpMarketIndex
                                • orderId: BN
                                • side: PerpOrderSide
                                • price: number
                                • quantity: number
                                • Optional maxQuoteQuantity: number
                                • Optional clientOrderId: number
                                • Optional orderType: PerpOrderType
                                • Optional reduceOnly: boolean
                                • Optional expiryTimestamp: number
                                • Optional limit: number

                                Returns Promise<string>

                              • perpCloseAll(group: Group, mangoAccount: MangoAccount, slippage?: number): Promise<string>
                              • perpConsumeEvents(group: Group, perpMarketIndex: PerpMarketIndex, accounts: PublicKey[], limit: number): Promise<string>
                              • perpConsumeEventsIx(group: Group, perpMarketIndex: PerpMarketIndex, accounts: PublicKey[], limit: number): Promise<TransactionInstruction>
                              • perpCreateMarket(group: Group, oraclePk: PublicKey, perpMarketIndex: number, name: string, oracleConfig: OracleConfigParams, baseDecimals: number, quoteLotSize: number, baseLotSize: number, maintBaseAssetWeight: number, initBaseAssetWeight: number, maintBaseLiabWeight: number, initBaseLiabWeight: number, maintOverallAssetWeight: number, initOverallAssetWeight: number, baseLiquidationFee: number, makerFee: number, takerFee: number, feePenalty: number, minFunding: number, maxFunding: number, impactQuantity: number, groupInsuranceFund: boolean, settleFeeFlat: number, settleFeeAmountThreshold: number, settleFeeFractionLowHealth: number, settleTokenIndex: number, settlePnlLimitFactor: number, settlePnlLimitWindowSize: number, positivePnlLiquidationFee: number): Promise<string>
                              • Parameters

                                • group: Group
                                • oraclePk: PublicKey
                                • perpMarketIndex: number
                                • name: string
                                • oracleConfig: OracleConfigParams
                                • baseDecimals: number
                                • quoteLotSize: number
                                • baseLotSize: number
                                • maintBaseAssetWeight: number
                                • initBaseAssetWeight: number
                                • maintBaseLiabWeight: number
                                • initBaseLiabWeight: number
                                • maintOverallAssetWeight: number
                                • initOverallAssetWeight: number
                                • baseLiquidationFee: number
                                • makerFee: number
                                • takerFee: number
                                • feePenalty: number
                                • minFunding: number
                                • maxFunding: number
                                • impactQuantity: number
                                • groupInsuranceFund: boolean
                                • settleFeeFlat: number
                                • settleFeeAmountThreshold: number
                                • settleFeeFractionLowHealth: number
                                • settleTokenIndex: number
                                • settlePnlLimitFactor: number
                                • settlePnlLimitWindowSize: number
                                • positivePnlLiquidationFee: number

                                Returns Promise<string>

                              • perpEditMarket(group: Group, perpMarketIndex: PerpMarketIndex, params: PerpEditParams): Promise<string>
                              • perpPlaceOrder(group: Group, mangoAccount: MangoAccount, perpMarketIndex: PerpMarketIndex, side: PerpOrderSide, price: number, quantity: number, maxQuoteQuantity?: number, clientOrderId?: number, orderType?: PerpOrderType, reduceOnly?: boolean, expiryTimestamp?: number, limit?: number): Promise<string>
                              • perpPlaceOrderIx(group: Group, mangoAccount: MangoAccount, perpMarketIndex: PerpMarketIndex, side: PerpOrderSide, price: number, quantity: number, maxQuoteQuantity?: number, clientOrderId?: number, orderType?: PerpOrderType, reduceOnly?: boolean, expiryTimestamp?: number, limit?: number): Promise<TransactionInstruction>
                              • Parameters

                                • group: Group
                                • mangoAccount: MangoAccount
                                • perpMarketIndex: PerpMarketIndex
                                • side: PerpOrderSide
                                • price: number
                                • quantity: number
                                • Optional maxQuoteQuantity: number
                                • Optional clientOrderId: number
                                • Optional orderType: PerpOrderType
                                • Optional reduceOnly: boolean
                                • Optional expiryTimestamp: number
                                • Optional limit: number

                                Returns Promise<TransactionInstruction>

                              • perpPlaceOrderPegged(group: Group, mangoAccount: MangoAccount, perpMarketIndex: PerpMarketIndex, side: PerpOrderSide, priceOffset: number, quantity: number, pegLimit?: number, maxQuoteQuantity?: number, clientOrderId?: number, orderType?: PerpOrderType, reduceOnly?: boolean, expiryTimestamp?: number, limit?: number): Promise<string>
                              • Parameters

                                • group: Group
                                • mangoAccount: MangoAccount
                                • perpMarketIndex: PerpMarketIndex
                                • side: PerpOrderSide
                                • priceOffset: number
                                • quantity: number
                                • Optional pegLimit: number
                                • Optional maxQuoteQuantity: number
                                • Optional clientOrderId: number
                                • Optional orderType: PerpOrderType
                                • Optional reduceOnly: boolean
                                • Optional expiryTimestamp: number
                                • Optional limit: number

                                Returns Promise<string>

                              • perpPlaceOrderPeggedIx(group: Group, mangoAccount: MangoAccount, perpMarketIndex: PerpMarketIndex, side: PerpOrderSide, priceOffset: number, quantity: number, pegLimit?: number, maxQuoteQuantity?: number, clientOrderId?: number, orderType?: PerpOrderType, reduceOnly?: boolean, expiryTimestamp?: number, limit?: number): Promise<TransactionInstruction>
                              • Parameters

                                • group: Group
                                • mangoAccount: MangoAccount
                                • perpMarketIndex: PerpMarketIndex
                                • side: PerpOrderSide
                                • priceOffset: number
                                • quantity: number
                                • Optional pegLimit: number
                                • Optional maxQuoteQuantity: number
                                • Optional clientOrderId: number
                                • Optional orderType: PerpOrderType
                                • Optional reduceOnly: boolean
                                • Optional expiryTimestamp: number
                                • Optional limit: number

                                Returns Promise<TransactionInstruction>

                              • perpPlaceOrderPeggedV2Ix(group: Group, mangoAccount: MangoAccount, perpMarketIndex: PerpMarketIndex, side: PerpOrderSide, priceOffset: number, quantity: number, pegLimit?: number, maxQuoteQuantity?: number, clientOrderId?: number, orderType?: PerpOrderType, selfTradeBehavior?: PerpSelfTradeBehavior, reduceOnly?: boolean, expiryTimestamp?: number, limit?: number): Promise<TransactionInstruction>
                              • perpUpdateFundingIx(group: Group, perpMarket: PerpMarket): Promise<TransactionInstruction>
                              • sendAndConfirmTransaction(ixs: TransactionInstruction[], opts?: any): Promise<string>
                              • Parameters

                                • ixs: TransactionInstruction[]
                                • opts: any = {}

                                Returns Promise<string>

                              • sendAndConfirmTransactionForGroup(group: Group, ixs: TransactionInstruction[], opts?: any): Promise<string>
                              • Parameters

                                • group: Group
                                • ixs: TransactionInstruction[]
                                • opts: any = {}

                                Returns Promise<string>

                              • serum3CancelAllOrders(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey, limit?: number): Promise<string>
                              • serum3CancelAllOrdersIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey, limit?: number): Promise<TransactionInstruction>
                              • Parameters

                                • group: Group
                                • mangoAccount: MangoAccount
                                • externalMarketPk: PublicKey
                                • Optional limit: number

                                Returns Promise<TransactionInstruction>

                              • serum3CancelOrder(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey, side: Serum3Side, orderId: BN): Promise<string>
                              • serum3CancelOrderIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey, side: Serum3Side, orderId: BN): Promise<TransactionInstruction>
                              • serum3CloseOpenOrders(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<string>
                              • serum3CloseOpenOrdersIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<TransactionInstruction>
                              • serum3CreateOpenOrders(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<string>
                              • serum3CreateOpenOrdersIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<TransactionInstruction>
                              • serum3EditMarket(group: Group, serum3MarketIndex: MarketIndex, reduceOnly: null | boolean, forceClose: null | boolean, name: null | string): Promise<string>
                              • Parameters

                                • group: Group
                                • serum3MarketIndex: MarketIndex
                                • reduceOnly: null | boolean
                                • forceClose: null | boolean
                                • name: null | string

                                Returns Promise<string>

                              • serum3GetMarkets(group: Group, baseTokenIndex?: number, quoteTokenIndex?: number): Promise<Serum3Market[]>
                              • serum3LiqForceCancelOrders(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey, limit?: number): Promise<string>
                              • serum3RegisterMarket(group: Group, serum3MarketExternalPk: PublicKey, baseBank: Bank, quoteBank: Bank, marketIndex: number, name: string): Promise<string>
                              • Parameters

                                • group: Group
                                • serum3MarketExternalPk: PublicKey
                                • baseBank: Bank
                                • quoteBank: Bank
                                • marketIndex: number
                                • name: string

                                Returns Promise<string>

                              • serum3SettleFunds(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<string>
                              • serum3SettleFundsIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<TransactionInstruction>
                              • serum3SettleFundsV2Ix(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<TransactionInstruction>
                              • serum3deregisterMarket(group: Group, externalMarketPk: PublicKey): Promise<string>
                              • Parameters

                                • group: Group
                                • externalMarketPk: PublicKey

                                Returns Promise<string>

                              • stubOracleClose(group: Group, oracle: PublicKey): Promise<string>
                              • stubOracleCreate(group: Group, mintPk: PublicKey, price: number): Promise<string>
                              • Parameters

                                • group: Group
                                • mintPk: PublicKey
                                • price: number

                                Returns Promise<string>

                              • stubOracleSet(group: Group, oraclePk: PublicKey, price: number): Promise<string>
                              • Parameters

                                • group: Group
                                • oraclePk: PublicKey
                                • price: number

                                Returns Promise<string>

                              • tcsStopLossOnBorrow(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPriceUi: number, thresholdPriceInSellPerBuyToken: boolean, maxBuyUi: null | number, pricePremium: null | number, allowMargin: null | boolean, expiryTimestamp: null | number): Promise<string>
                              • Parameters

                                • group: Group
                                • account: MangoAccount
                                • sellBank: Bank
                                • buyBank: Bank
                                • thresholdPriceUi: number
                                • thresholdPriceInSellPerBuyToken: boolean
                                • maxBuyUi: null | number
                                • pricePremium: null | number
                                • allowMargin: null | boolean
                                • expiryTimestamp: null | number

                                Returns Promise<string>

                              • tcsStopLossOnDeposit(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPriceUi: number, thresholdPriceInSellPerBuyToken: boolean, maxSellUi: null | number, pricePremium: null | number, expiryTimestamp: null | number): Promise<string>
                              • Parameters

                                • group: Group
                                • account: MangoAccount
                                • sellBank: Bank
                                • buyBank: Bank
                                • thresholdPriceUi: number
                                • thresholdPriceInSellPerBuyToken: boolean
                                • maxSellUi: null | number
                                • pricePremium: null | number
                                • expiryTimestamp: null | number

                                Returns Promise<string>

                              • tcsTakeProfitOnBorrow(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPriceUi: number, thresholdPriceInSellPerBuyToken: boolean, maxBuyUi: null | number, pricePremium: null | number, allowMargin: null | boolean, expiryTimestamp: null | number): Promise<string>
                              • Parameters

                                • group: Group
                                • account: MangoAccount
                                • sellBank: Bank
                                • buyBank: Bank
                                • thresholdPriceUi: number
                                • thresholdPriceInSellPerBuyToken: boolean
                                • maxBuyUi: null | number
                                • pricePremium: null | number
                                • allowMargin: null | boolean
                                • expiryTimestamp: null | number

                                Returns Promise<string>

                              • tcsTakeProfitOnDeposit(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPriceUi: number, thresholdPriceInSellPerBuyToken: boolean, maxSellUi: null | number, pricePremium: null | number, expiryTimestamp: null | number): Promise<string>
                              • Parameters

                                • group: Group
                                • account: MangoAccount
                                • sellBank: Bank
                                • buyBank: Bank
                                • thresholdPriceUi: number
                                • thresholdPriceInSellPerBuyToken: boolean
                                • maxSellUi: null | number
                                • pricePremium: null | number
                                • expiryTimestamp: null | number

                                Returns Promise<string>

                              • toggleMangoAccountFreeze(group: Group, mangoAccount: MangoAccount, freeze: boolean): Promise<string>
                              • tokenConditionalSwapCancel(group: Group, account: MangoAccount, tokenConditionalSwapId: BN): Promise<string>
                              • tokenConditionalSwapCreate(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPriceUi: number, thresholdPriceInSellPerBuyToken: boolean, maxBuyUi: number, maxSellUi: number, tcsIntention: null | "TakeProfitOnDeposit" | "StopLossOnDeposit" | "TakeProfitOnBorrow" | "StopLossOnBorrow", pricePremium: null | number, allowCreatingDeposits: boolean, allowCreatingBorrows: boolean, expiryTimestamp: null | number): Promise<string>
                              • Parameters

                                • group: Group
                                • account: MangoAccount
                                • sellBank: Bank
                                • buyBank: Bank
                                • thresholdPriceUi: number
                                • thresholdPriceInSellPerBuyToken: boolean
                                • maxBuyUi: number
                                • maxSellUi: number
                                • tcsIntention: null | "TakeProfitOnDeposit" | "StopLossOnDeposit" | "TakeProfitOnBorrow" | "StopLossOnBorrow"
                                • pricePremium: null | number
                                • allowCreatingDeposits: boolean
                                • allowCreatingBorrows: boolean
                                • expiryTimestamp: null | number

                                Returns Promise<string>

                              • tokenConditionalSwapCreateRaw(group: Group, account: MangoAccount, buyMintPk: PublicKey, sellMintPk: PublicKey, maxBuy: BN, maxSell: BN, expiryTimestamp: null | number, priceLowerLimit: number, priceUpperLimit: number, pricePremiumRate: number, allowCreatingDeposits: boolean, allowCreatingBorrows: boolean, priceDisplayStyle: TokenConditionalSwapDisplayPriceStyle, intention: TokenConditionalSwapIntention): Promise<string>
                              • tokenConditionalSwapTrigger(group: Group, liqee: MangoAccount, liqor: MangoAccount, tokenConditionalSwapId: BN, maxBuyTokenToLiqee: number, maxSellTokenToLiqor: number): Promise<string>
                              • tokenDeposit(group: Group, mangoAccount: MangoAccount, mintPk: PublicKey, amount: number, reduceOnly?: boolean): Promise<string>
                              • tokenDepositNative(group: Group, mangoAccount: MangoAccount, mintPk: PublicKey, nativeAmount: BN, reduceOnly?: boolean): Promise<string>
                              • Parameters

                                • group: Group
                                • mangoAccount: MangoAccount
                                • mintPk: PublicKey
                                • nativeAmount: BN
                                • reduceOnly: boolean = false

                                Returns Promise<string>

                              • tokenDeregister(group: Group, mintPk: PublicKey): Promise<string>
                              • tokenEdit(group: Group, mintPk: PublicKey, params: TokenEditParams): Promise<string>
                              • Parameters

                                • group: Group
                                • mintPk: PublicKey
                                • params: TokenEditParams

                                Returns Promise<string>

                              • tokenRegister(group: Group, mintPk: PublicKey, oraclePk: PublicKey, tokenIndex: number, name: string, params: TokenRegisterParams): Promise<string>
                              • Parameters

                                • group: Group
                                • mintPk: PublicKey
                                • oraclePk: PublicKey
                                • tokenIndex: number
                                • name: string
                                • params: TokenRegisterParams

                                Returns Promise<string>

                              • tokenRegisterTrustless(group: Group, mintPk: PublicKey, oraclePk: PublicKey, tokenIndex: number, name: string): Promise<string>
                              • Parameters

                                • group: Group
                                • mintPk: PublicKey
                                • oraclePk: PublicKey
                                • tokenIndex: number
                                • name: string

                                Returns Promise<string>

                              • tokenUpdateIndexAndRate(group: Group, mintPk: PublicKey): Promise<string>
                              • tokenUpdateIndexAndRateIx(group: Group, mintPk: PublicKey): Promise<TransactionInstruction>
                              • Parameters

                                • group: Group
                                • mintPk: PublicKey

                                Returns Promise<TransactionInstruction>

                              • tokenWithdraw(group: Group, mangoAccount: MangoAccount, mintPk: PublicKey, amount: number, allowBorrow: boolean): Promise<string>
                              • tokenWithdrawNative(group: Group, mangoAccount: MangoAccount, mintPk: PublicKey, nativeAmount: BN, allowBorrow: boolean): Promise<string>
                              • tokenWithdrawNativeIx(group: Group, mangoAccount: MangoAccount, mintPk: PublicKey, nativeAmount: BN, allowBorrow: boolean): Promise<TransactionInstruction[]>
                              • Parameters

                                • group: Group
                                • mangoAccount: MangoAccount
                                • mintPk: PublicKey
                                • nativeAmount: BN
                                • allowBorrow: boolean

                                Returns Promise<TransactionInstruction[]>

                              • connect(provider: default, cluster: Cluster, programId: PublicKey, opts?: MangoClientOptions): MangoClient
                              • Parameters

                                • provider: default
                                • cluster: Cluster
                                • programId: PublicKey
                                • Optional opts: MangoClientOptions

                                Returns MangoClient

                              • createMangoAccount(group: Group, accountNumber?: number, name?: string, tokenCount?: number, serum3Count?: number, perpCount?: number, perpOoCount?: number): Promise<string>
                              • Parameters

                                • group: Group
                                • Optional accountNumber: number
                                • Optional name: string
                                • Optional tokenCount: number
                                • Optional serum3Count: number
                                • Optional perpCount: number
                                • Optional perpOoCount: number

                                Returns Promise<string>

                              • editMangoAccount(group: Group, mangoAccount: MangoAccount, name?: string, delegate?: PublicKey, temporaryDelegate?: PublicKey, delegateExpiry?: number): Promise<string>
                              • Parameters

                                • group: Group
                                • mangoAccount: MangoAccount
                                • Optional name: string
                                • Optional delegate: PublicKey
                                • Optional temporaryDelegate: PublicKey
                                • Optional delegateExpiry: number

                                Returns Promise<string>

                              • expandMangoAccount(group: Group, account: MangoAccount, tokenCount: number, serum3Count: number, perpCount: number, perpOoCount: number): Promise<string>
                              • Parameters

                                • group: Group
                                • account: MangoAccount
                                • tokenCount: number
                                • serum3Count: number
                                • perpCount: number
                                • perpOoCount: number

                                Returns Promise<string>

                              • getBanksForGroup(group: Group): Promise<Bank[]>
                              • getGroup(groupPk: PublicKey): Promise<Group>
                              • getGroupForCreator(creatorPk: PublicKey, groupNum: number): Promise<Group>
                              • Parameters

                                • creatorPk: PublicKey
                                • groupNum: number

                                Returns Promise<Group>

                              • getGroupsForCreator(creatorPk: PublicKey): Promise<Group[]>
                              • getIds(groupPk: PublicKey): Promise<undefined | Id>
                              • Parameters

                                • groupPk: PublicKey

                                Returns Promise<undefined | Id>

                              • getMangoAccount(mangoAccountPk: PublicKey, loadSerum3Oo?: boolean): Promise<MangoAccount>
                              • getMangoAccountForOwner(group: Group, ownerPk: PublicKey, accountNumber: number, loadSerum3Oo?: boolean): Promise<undefined | MangoAccount>
                              • Parameters

                                • group: Group
                                • ownerPk: PublicKey
                                • accountNumber: number
                                • loadSerum3Oo: boolean = false

                                Returns Promise<undefined | MangoAccount>

                              • getMangoAccountFromAi(mangoAccountPk: PublicKey, ai: AccountInfo<Buffer>): Promise<MangoAccount>
                              • getMangoAccountFromPk(mangoAccountPk: PublicKey): Promise<MangoAccount>
                              • getMangoAccountWithSlot(mangoAccountPk: PublicKey, loadSerum3Oo?: boolean): Promise<undefined | { slot: number; value: MangoAccount }>
                              • Parameters

                                • mangoAccountPk: PublicKey
                                • loadSerum3Oo: boolean = false

                                Returns Promise<undefined | { slot: number; value: MangoAccount }>

                              • getMangoAccountsForDelegate(group: Group, delegate: PublicKey, loadSerum3Oo?: boolean): Promise<MangoAccount[]>
                              • getMangoAccountsForOwner(group: Group, ownerPk: PublicKey, loadSerum3Oo?: boolean): Promise<MangoAccount[]>
                              • groupClose(group: Group): Promise<string>
                              • groupCreate(groupNum: number, testing: boolean, version: number, insuranceMintPk: PublicKey): Promise<string>
                              • Parameters

                                • groupNum: number
                                • testing: boolean
                                • version: number
                                • insuranceMintPk: PublicKey

                                Returns Promise<string>

                              • groupEdit(group: Group, admin?: PublicKey, fastListingAdmin?: PublicKey, securityAdmin?: PublicKey, testing?: number, version?: number, depositLimitQuote?: BN, feesPayWithMngo?: boolean, feesMngoBonusRate?: number, feesSwapMangoAccount?: PublicKey, feesMngoTokenIndex?: TokenIndex, feesExpiryInterval?: BN): Promise<string>
                              • Parameters

                                • group: Group
                                • Optional admin: PublicKey
                                • Optional fastListingAdmin: PublicKey
                                • Optional securityAdmin: PublicKey
                                • Optional testing: number
                                • Optional version: number
                                • Optional depositLimitQuote: BN
                                • Optional feesPayWithMngo: boolean
                                • Optional feesMngoBonusRate: number
                                • Optional feesSwapMangoAccount: PublicKey
                                • Optional feesMngoTokenIndex: TokenIndex
                                • Optional feesExpiryInterval: BN

                                Returns Promise<string>

                              • ixGateSet(group: Group, ixGateParams: IxGateParams): Promise<string>
                              • Parameters

                                • group: Group
                                • ixGateParams: IxGateParams

                                Returns Promise<string>

                              • liqTokenWithToken(group: Group, liqor: MangoAccount, liqee: MangoAccount, assetMintPk: PublicKey, liabMintPk: PublicKey, maxLiabTransfer: number): Promise<string>
                              • marginTrade(__namedParameters: { amountIn: number; flashLoanType: FlashLoanType; group: Group; inputMintPk: PublicKey; mangoAccount: MangoAccount; outputMintPk: PublicKey; userDefinedAlts: AddressLookupTableAccount[]; userDefinedInstructions: TransactionInstruction[] }): Promise<string>
                              • Parameters

                                • __namedParameters: { amountIn: number; flashLoanType: FlashLoanType; group: Group; inputMintPk: PublicKey; mangoAccount: MangoAccount; outputMintPk: PublicKey; userDefinedAlts: AddressLookupTableAccount[]; userDefinedInstructions: TransactionInstruction[] }
                                  • amountIn: number
                                  • flashLoanType: FlashLoanType
                                  • group: Group
                                  • inputMintPk: PublicKey
                                  • mangoAccount: MangoAccount
                                  • outputMintPk: PublicKey
                                  • userDefinedAlts: AddressLookupTableAccount[]
                                  • userDefinedInstructions: TransactionInstruction[]

                                Returns Promise<string>

                              • modifyPerpOrder(group: Group, mangoAccount: MangoAccount, perpMarketIndex: PerpMarketIndex, orderId: BN, side: PerpOrderSide, price: number, quantity: number, maxQuoteQuantity?: number, clientOrderId?: number, orderType?: PerpOrderType, reduceOnly?: boolean, expiryTimestamp?: number, limit?: number): Promise<string>
                              • Parameters

                                • group: Group
                                • mangoAccount: MangoAccount
                                • perpMarketIndex: PerpMarketIndex
                                • orderId: BN
                                • side: PerpOrderSide
                                • price: number
                                • quantity: number
                                • Optional maxQuoteQuantity: number
                                • Optional clientOrderId: number
                                • Optional orderType: PerpOrderType
                                • Optional reduceOnly: boolean
                                • Optional expiryTimestamp: number
                                • Optional limit: number

                                Returns Promise<string>

                              • perpCloseAll(group: Group, mangoAccount: MangoAccount, slippage?: number): Promise<string>
                              • perpConsumeEvents(group: Group, perpMarketIndex: PerpMarketIndex, accounts: PublicKey[], limit: number): Promise<string>
                              • perpConsumeEventsIx(group: Group, perpMarketIndex: PerpMarketIndex, accounts: PublicKey[], limit: number): Promise<TransactionInstruction>
                              • perpCreateMarket(group: Group, oraclePk: PublicKey, perpMarketIndex: number, name: string, oracleConfig: OracleConfigParams, baseDecimals: number, quoteLotSize: number, baseLotSize: number, maintBaseAssetWeight: number, initBaseAssetWeight: number, maintBaseLiabWeight: number, initBaseLiabWeight: number, maintOverallAssetWeight: number, initOverallAssetWeight: number, baseLiquidationFee: number, makerFee: number, takerFee: number, feePenalty: number, minFunding: number, maxFunding: number, impactQuantity: number, groupInsuranceFund: boolean, settleFeeFlat: number, settleFeeAmountThreshold: number, settleFeeFractionLowHealth: number, settleTokenIndex: number, settlePnlLimitFactor: number, settlePnlLimitWindowSize: number, positivePnlLiquidationFee: number): Promise<string>
                              • Parameters

                                • group: Group
                                • oraclePk: PublicKey
                                • perpMarketIndex: number
                                • name: string
                                • oracleConfig: OracleConfigParams
                                • baseDecimals: number
                                • quoteLotSize: number
                                • baseLotSize: number
                                • maintBaseAssetWeight: number
                                • initBaseAssetWeight: number
                                • maintBaseLiabWeight: number
                                • initBaseLiabWeight: number
                                • maintOverallAssetWeight: number
                                • initOverallAssetWeight: number
                                • baseLiquidationFee: number
                                • makerFee: number
                                • takerFee: number
                                • feePenalty: number
                                • minFunding: number
                                • maxFunding: number
                                • impactQuantity: number
                                • groupInsuranceFund: boolean
                                • settleFeeFlat: number
                                • settleFeeAmountThreshold: number
                                • settleFeeFractionLowHealth: number
                                • settleTokenIndex: number
                                • settlePnlLimitFactor: number
                                • settlePnlLimitWindowSize: number
                                • positivePnlLiquidationFee: number

                                Returns Promise<string>

                              • perpEditMarket(group: Group, perpMarketIndex: PerpMarketIndex, params: PerpEditParams): Promise<string>
                              • perpPlaceOrder(group: Group, mangoAccount: MangoAccount, perpMarketIndex: PerpMarketIndex, side: PerpOrderSide, price: number, quantity: number, maxQuoteQuantity?: number, clientOrderId?: number, orderType?: PerpOrderType, reduceOnly?: boolean, expiryTimestamp?: number, limit?: number): Promise<string>
                              • perpPlaceOrderIx(group: Group, mangoAccount: MangoAccount, perpMarketIndex: PerpMarketIndex, side: PerpOrderSide, price: number, quantity: number, maxQuoteQuantity?: number, clientOrderId?: number, orderType?: PerpOrderType, reduceOnly?: boolean, expiryTimestamp?: number, limit?: number): Promise<TransactionInstruction>
                              • Parameters

                                • group: Group
                                • mangoAccount: MangoAccount
                                • perpMarketIndex: PerpMarketIndex
                                • side: PerpOrderSide
                                • price: number
                                • quantity: number
                                • Optional maxQuoteQuantity: number
                                • Optional clientOrderId: number
                                • Optional orderType: PerpOrderType
                                • Optional reduceOnly: boolean
                                • Optional expiryTimestamp: number
                                • Optional limit: number

                                Returns Promise<TransactionInstruction>

                              • perpPlaceOrderPegged(group: Group, mangoAccount: MangoAccount, perpMarketIndex: PerpMarketIndex, side: PerpOrderSide, priceOffset: number, quantity: number, pegLimit?: number, maxQuoteQuantity?: number, clientOrderId?: number, orderType?: PerpOrderType, reduceOnly?: boolean, expiryTimestamp?: number, limit?: number): Promise<string>
                              • Parameters

                                • group: Group
                                • mangoAccount: MangoAccount
                                • perpMarketIndex: PerpMarketIndex
                                • side: PerpOrderSide
                                • priceOffset: number
                                • quantity: number
                                • Optional pegLimit: number
                                • Optional maxQuoteQuantity: number
                                • Optional clientOrderId: number
                                • Optional orderType: PerpOrderType
                                • Optional reduceOnly: boolean
                                • Optional expiryTimestamp: number
                                • Optional limit: number

                                Returns Promise<string>

                              • perpPlaceOrderPeggedIx(group: Group, mangoAccount: MangoAccount, perpMarketIndex: PerpMarketIndex, side: PerpOrderSide, priceOffset: number, quantity: number, pegLimit?: number, maxQuoteQuantity?: number, clientOrderId?: number, orderType?: PerpOrderType, reduceOnly?: boolean, expiryTimestamp?: number, limit?: number): Promise<TransactionInstruction>
                              • Parameters

                                • group: Group
                                • mangoAccount: MangoAccount
                                • perpMarketIndex: PerpMarketIndex
                                • side: PerpOrderSide
                                • priceOffset: number
                                • quantity: number
                                • Optional pegLimit: number
                                • Optional maxQuoteQuantity: number
                                • Optional clientOrderId: number
                                • Optional orderType: PerpOrderType
                                • Optional reduceOnly: boolean
                                • Optional expiryTimestamp: number
                                • Optional limit: number

                                Returns Promise<TransactionInstruction>

                              • perpPlaceOrderPeggedV2Ix(group: Group, mangoAccount: MangoAccount, perpMarketIndex: PerpMarketIndex, side: PerpOrderSide, priceOffset: number, quantity: number, pegLimit?: number, maxQuoteQuantity?: number, clientOrderId?: number, orderType?: PerpOrderType, selfTradeBehavior?: PerpSelfTradeBehavior, reduceOnly?: boolean, expiryTimestamp?: number, limit?: number): Promise<TransactionInstruction>
                              • perpUpdateFundingIx(group: Group, perpMarket: PerpMarket): Promise<TransactionInstruction>
                              • sendAndConfirmTransaction(ixs: TransactionInstruction[], opts?: any): Promise<string>
                              • Parameters

                                • ixs: TransactionInstruction[]
                                • opts: any = {}

                                Returns Promise<string>

                              • sendAndConfirmTransactionForGroup(group: Group, ixs: TransactionInstruction[], opts?: any): Promise<string>
                              • Parameters

                                • group: Group
                                • ixs: TransactionInstruction[]
                                • opts: any = {}

                                Returns Promise<string>

                              • serum3CancelAllOrders(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey, limit?: number): Promise<string>
                              • serum3CancelAllOrdersIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey, limit?: number): Promise<TransactionInstruction>
                              • Parameters

                                • group: Group
                                • mangoAccount: MangoAccount
                                • externalMarketPk: PublicKey
                                • Optional limit: number

                                Returns Promise<TransactionInstruction>

                              • serum3CancelOrder(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey, side: Serum3Side, orderId: BN): Promise<string>
                              • serum3CancelOrderIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey, side: Serum3Side, orderId: BN): Promise<TransactionInstruction>
                              • serum3CloseOpenOrders(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<string>
                              • serum3CloseOpenOrdersIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<TransactionInstruction>
                              • serum3CreateOpenOrders(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<string>
                              • serum3CreateOpenOrdersIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<TransactionInstruction>
                              • serum3EditMarket(group: Group, serum3MarketIndex: MarketIndex, reduceOnly: null | boolean, forceClose: null | boolean, name: null | string): Promise<string>
                              • Parameters

                                • group: Group
                                • serum3MarketIndex: MarketIndex
                                • reduceOnly: null | boolean
                                • forceClose: null | boolean
                                • name: null | string

                                Returns Promise<string>

                              • serum3GetMarkets(group: Group, baseTokenIndex?: number, quoteTokenIndex?: number): Promise<Serum3Market[]>
                              • serum3LiqForceCancelOrders(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey, limit?: number): Promise<string>
                              • serum3RegisterMarket(group: Group, serum3MarketExternalPk: PublicKey, baseBank: Bank, quoteBank: Bank, marketIndex: number, name: string): Promise<string>
                              • Parameters

                                • group: Group
                                • serum3MarketExternalPk: PublicKey
                                • baseBank: Bank
                                • quoteBank: Bank
                                • marketIndex: number
                                • name: string

                                Returns Promise<string>

                              • serum3SettleFunds(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<string>
                              • serum3SettleFundsIx(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<TransactionInstruction>
                              • serum3SettleFundsV2Ix(group: Group, mangoAccount: MangoAccount, externalMarketPk: PublicKey): Promise<TransactionInstruction>
                              • serum3deregisterMarket(group: Group, externalMarketPk: PublicKey): Promise<string>
                              • Parameters

                                • group: Group
                                • externalMarketPk: PublicKey

                                Returns Promise<string>

                              • stubOracleClose(group: Group, oracle: PublicKey): Promise<string>
                              • stubOracleCreate(group: Group, mintPk: PublicKey, price: number): Promise<string>
                              • Parameters

                                • group: Group
                                • mintPk: PublicKey
                                • price: number

                                Returns Promise<string>

                              • stubOracleSet(group: Group, oraclePk: PublicKey, price: number): Promise<string>
                              • Parameters

                                • group: Group
                                • oraclePk: PublicKey
                                • price: number

                                Returns Promise<string>

                              • tcsStopLossOnBorrow(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPriceUi: number, thresholdPriceInSellPerBuyToken: boolean, maxBuyUi: null | number, pricePremium: null | number, allowMargin: null | boolean, expiryTimestamp: null | number): Promise<string>
                              • Parameters

                                • group: Group
                                • account: MangoAccount
                                • sellBank: Bank
                                • buyBank: Bank
                                • thresholdPriceUi: number
                                • thresholdPriceInSellPerBuyToken: boolean
                                • maxBuyUi: null | number
                                • pricePremium: null | number
                                • allowMargin: null | boolean
                                • expiryTimestamp: null | number

                                Returns Promise<string>

                              • tcsStopLossOnDeposit(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPriceUi: number, thresholdPriceInSellPerBuyToken: boolean, maxSellUi: null | number, pricePremium: null | number, expiryTimestamp: null | number): Promise<string>
                              • Parameters

                                • group: Group
                                • account: MangoAccount
                                • sellBank: Bank
                                • buyBank: Bank
                                • thresholdPriceUi: number
                                • thresholdPriceInSellPerBuyToken: boolean
                                • maxSellUi: null | number
                                • pricePremium: null | number
                                • expiryTimestamp: null | number

                                Returns Promise<string>

                              • tcsTakeProfitOnBorrow(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPriceUi: number, thresholdPriceInSellPerBuyToken: boolean, maxBuyUi: null | number, pricePremium: null | number, allowMargin: null | boolean, expiryTimestamp: null | number): Promise<string>
                              • Parameters

                                • group: Group
                                • account: MangoAccount
                                • sellBank: Bank
                                • buyBank: Bank
                                • thresholdPriceUi: number
                                • thresholdPriceInSellPerBuyToken: boolean
                                • maxBuyUi: null | number
                                • pricePremium: null | number
                                • allowMargin: null | boolean
                                • expiryTimestamp: null | number

                                Returns Promise<string>

                              • tcsTakeProfitOnDeposit(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPriceUi: number, thresholdPriceInSellPerBuyToken: boolean, maxSellUi: null | number, pricePremium: null | number, expiryTimestamp: null | number): Promise<string>
                              • Parameters

                                • group: Group
                                • account: MangoAccount
                                • sellBank: Bank
                                • buyBank: Bank
                                • thresholdPriceUi: number
                                • thresholdPriceInSellPerBuyToken: boolean
                                • maxSellUi: null | number
                                • pricePremium: null | number
                                • expiryTimestamp: null | number

                                Returns Promise<string>

                              • toggleMangoAccountFreeze(group: Group, mangoAccount: MangoAccount, freeze: boolean): Promise<string>
                              • tokenConditionalSwapCancel(group: Group, account: MangoAccount, tokenConditionalSwapId: BN): Promise<string>
                              • tokenConditionalSwapCreate(group: Group, account: MangoAccount, sellBank: Bank, buyBank: Bank, thresholdPriceUi: number, thresholdPriceInSellPerBuyToken: boolean, maxBuyUi: number, maxSellUi: number, tcsIntention: null | "TakeProfitOnDeposit" | "StopLossOnDeposit" | "TakeProfitOnBorrow" | "StopLossOnBorrow", pricePremium: null | number, allowCreatingDeposits: boolean, allowCreatingBorrows: boolean, expiryTimestamp: null | number): Promise<string>
                              • Parameters

                                • group: Group
                                • account: MangoAccount
                                • sellBank: Bank
                                • buyBank: Bank
                                • thresholdPriceUi: number
                                • thresholdPriceInSellPerBuyToken: boolean
                                • maxBuyUi: number
                                • maxSellUi: number
                                • tcsIntention: null | "TakeProfitOnDeposit" | "StopLossOnDeposit" | "TakeProfitOnBorrow" | "StopLossOnBorrow"
                                • pricePremium: null | number
                                • allowCreatingDeposits: boolean
                                • allowCreatingBorrows: boolean
                                • expiryTimestamp: null | number

                                Returns Promise<string>

                              • tokenConditionalSwapCreateRaw(group: Group, account: MangoAccount, buyMintPk: PublicKey, sellMintPk: PublicKey, maxBuy: BN, maxSell: BN, expiryTimestamp: null | number, priceLowerLimit: number, priceUpperLimit: number, pricePremiumRate: number, allowCreatingDeposits: boolean, allowCreatingBorrows: boolean, priceDisplayStyle: TokenConditionalSwapDisplayPriceStyle, intention: TokenConditionalSwapIntention): Promise<string>
                              • tokenConditionalSwapTrigger(group: Group, liqee: MangoAccount, liqor: MangoAccount, tokenConditionalSwapId: BN, maxBuyTokenToLiqee: number, maxSellTokenToLiqor: number): Promise<string>
                              • tokenDeposit(group: Group, mangoAccount: MangoAccount, mintPk: PublicKey, amount: number, reduceOnly?: boolean): Promise<string>
                              • tokenDepositNative(group: Group, mangoAccount: MangoAccount, mintPk: PublicKey, nativeAmount: BN, reduceOnly?: boolean): Promise<string>
                              • Parameters

                                • group: Group
                                • mangoAccount: MangoAccount
                                • mintPk: PublicKey
                                • nativeAmount: BN
                                • reduceOnly: boolean = false

                                Returns Promise<string>

                              • tokenDeregister(group: Group, mintPk: PublicKey): Promise<string>
                              • tokenEdit(group: Group, mintPk: PublicKey, params: TokenEditParams): Promise<string>
                              • Parameters

                                • group: Group
                                • mintPk: PublicKey
                                • params: TokenEditParams

                                Returns Promise<string>

                              • tokenRegister(group: Group, mintPk: PublicKey, oraclePk: PublicKey, tokenIndex: number, name: string, params: TokenRegisterParams): Promise<string>
                              • Parameters

                                • group: Group
                                • mintPk: PublicKey
                                • oraclePk: PublicKey
                                • tokenIndex: number
                                • name: string
                                • params: TokenRegisterParams

                                Returns Promise<string>

                              • tokenRegisterTrustless(group: Group, mintPk: PublicKey, oraclePk: PublicKey, tokenIndex: number, name: string): Promise<string>
                              • Parameters

                                • group: Group
                                • mintPk: PublicKey
                                • oraclePk: PublicKey
                                • tokenIndex: number
                                • name: string

                                Returns Promise<string>

                              • tokenUpdateIndexAndRate(group: Group, mintPk: PublicKey): Promise<string>
                              • tokenUpdateIndexAndRateIx(group: Group, mintPk: PublicKey): Promise<TransactionInstruction>
                              • Parameters

                                • group: Group
                                • mintPk: PublicKey

                                Returns Promise<TransactionInstruction>

                              • tokenWithdraw(group: Group, mangoAccount: MangoAccount, mintPk: PublicKey, amount: number, allowBorrow: boolean): Promise<string>
                              • tokenWithdrawNative(group: Group, mangoAccount: MangoAccount, mintPk: PublicKey, nativeAmount: BN, allowBorrow: boolean): Promise<string>
                              • tokenWithdrawNativeIx(group: Group, mangoAccount: MangoAccount, mintPk: PublicKey, nativeAmount: BN, allowBorrow: boolean): Promise<TransactionInstruction[]>
                              • Parameters

                                • group: Group
                                • mangoAccount: MangoAccount
                                • mintPk: PublicKey
                                • nativeAmount: BN
                                • allowBorrow: boolean

                                Returns Promise<TransactionInstruction[]>

                              • connect(provider: default, cluster: Cluster, programId: PublicKey, opts?: MangoClientOptions): MangoClient
                              • Parameters

                                • provider: default
                                • cluster: Cluster
                                • programId: PublicKey
                                • Optional opts: MangoClientOptions

                                Returns MangoClient

                              • Connect with defaults,

                                • random ephemeral keypair,
                                • @@ -23,4 +23,4 @@ use forceClose flag

                                • connects to mainnet-beta
                                • uses well known program Id
                                -

                                Parameters

                                • clusterUrl: string

                                Returns MangoClient

                              • connectForGroupName(provider: default, groupName: string): MangoClient

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file +

                              Parameters

                              Returns MangoClient

                              • connectForGroupName(provider: default, groupName: string): MangoClient

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file diff --git a/ts/client/classes/MintInfo.html b/ts/client/classes/MintInfo.html index 2d999d421..5c6a93a25 100644 --- a/ts/client/classes/MintInfo.html +++ b/ts/client/classes/MintInfo.html @@ -1 +1 @@ -MintInfo | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • MintInfo

                              Index

                              Constructors

                              • new MintInfo(publicKey: PublicKey, group: PublicKey, tokenIndex: TokenIndex, mint: PublicKey, banks: PublicKey[], vaults: PublicKey[], oracle: PublicKey, registrationTime: BN, groupInsuranceFund: boolean): MintInfo
                              • Parameters

                                • publicKey: PublicKey
                                • group: PublicKey
                                • tokenIndex: TokenIndex
                                • mint: PublicKey
                                • banks: PublicKey[]
                                • vaults: PublicKey[]
                                • oracle: PublicKey
                                • registrationTime: BN
                                • groupInsuranceFund: boolean

                                Returns MintInfo

                              Properties

                              banks: PublicKey[]
                              group: PublicKey
                              groupInsuranceFund: boolean
                              mint: PublicKey
                              oracle: PublicKey
                              publicKey: PublicKey
                              registrationTime: BN
                              tokenIndex: TokenIndex
                              vaults: PublicKey[]

                              Methods

                              • firstBank(): PublicKey
                              • firstVault(): PublicKey
                              • toString(): string
                              • from(publicKey: PublicKey, obj: { banks: PublicKey[]; group: PublicKey; groupInsuranceFund: number; mint: PublicKey; oracle: PublicKey; registrationTime: BN; tokenIndex: number; vaults: PublicKey[] }): MintInfo
                              • Parameters

                                • publicKey: PublicKey
                                • obj: { banks: PublicKey[]; group: PublicKey; groupInsuranceFund: number; mint: PublicKey; oracle: PublicKey; registrationTime: BN; tokenIndex: number; vaults: PublicKey[] }
                                  • banks: PublicKey[]
                                  • group: PublicKey
                                  • groupInsuranceFund: number
                                  • mint: PublicKey
                                  • oracle: PublicKey
                                  • registrationTime: BN
                                  • tokenIndex: number
                                  • vaults: PublicKey[]

                                Returns MintInfo

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file +MintInfo | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • MintInfo

                              Index

                              Constructors

                              • new MintInfo(publicKey: PublicKey, group: PublicKey, tokenIndex: TokenIndex, mint: PublicKey, banks: PublicKey[], vaults: PublicKey[], oracle: PublicKey, registrationTime: BN, groupInsuranceFund: boolean): MintInfo
                              • Parameters

                                • publicKey: PublicKey
                                • group: PublicKey
                                • tokenIndex: TokenIndex
                                • mint: PublicKey
                                • banks: PublicKey[]
                                • vaults: PublicKey[]
                                • oracle: PublicKey
                                • registrationTime: BN
                                • groupInsuranceFund: boolean

                                Returns MintInfo

                              Properties

                              banks: PublicKey[]
                              group: PublicKey
                              groupInsuranceFund: boolean
                              mint: PublicKey
                              oracle: PublicKey
                              publicKey: PublicKey
                              registrationTime: BN
                              tokenIndex: TokenIndex
                              vaults: PublicKey[]

                              Methods

                              • firstBank(): PublicKey
                              • firstVault(): PublicKey
                              • toString(): string
                              • from(publicKey: PublicKey, obj: { banks: PublicKey[]; group: PublicKey; groupInsuranceFund: number; mint: PublicKey; oracle: PublicKey; registrationTime: BN; tokenIndex: number; vaults: PublicKey[] }): MintInfo
                              • Parameters

                                • publicKey: PublicKey
                                • obj: { banks: PublicKey[]; group: PublicKey; groupInsuranceFund: number; mint: PublicKey; oracle: PublicKey; registrationTime: BN; tokenIndex: number; vaults: PublicKey[] }
                                  • banks: PublicKey[]
                                  • group: PublicKey
                                  • groupInsuranceFund: number
                                  • mint: PublicKey
                                  • oracle: PublicKey
                                  • registrationTime: BN
                                  • tokenIndex: number
                                  • vaults: PublicKey[]

                                Returns MintInfo

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file diff --git a/ts/client/classes/OracleConfigParams.html b/ts/client/classes/OracleConfigParams.html index 3e227a1be..a5fdfb1a2 100644 --- a/ts/client/classes/OracleConfigParams.html +++ b/ts/client/classes/OracleConfigParams.html @@ -1 +1 @@ -OracleConfigParams | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • OracleConfigParams

                              Index

                              Constructors

                              Properties

                              confFilter: number
                              maxStalenessSlots: null | number

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file +OracleConfigParams | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • OracleConfigParams

                              Index

                              Constructors

                              Properties

                              confFilter: number
                              maxStalenessSlots: null | number

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file diff --git a/ts/client/classes/PerpEventQueue.html b/ts/client/classes/PerpEventQueue.html index 017338a2f..803c7a8d9 100644 --- a/ts/client/classes/PerpEventQueue.html +++ b/ts/client/classes/PerpEventQueue.html @@ -1 +1 @@ -PerpEventQueue | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • PerpEventQueue

                              Index

                              Constructors

                              Properties

                              count: number
                              head: number
                              rawEvents: (FillEvent | OutEvent | LiquidateEvent)[]
                              seqNum: BN
                              FILL_EVENT_TYPE: number = 0
                              LIQUIDATE_EVENT_TYPE: number = 2
                              OUT_EVENT_TYPE: number = 1

                              Methods

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file +PerpEventQueue | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • PerpEventQueue

                              Index

                              Constructors

                              Properties

                              count: number
                              head: number
                              rawEvents: (FillEvent | OutEvent | LiquidateEvent)[]
                              seqNum: BN
                              FILL_EVENT_TYPE: number = 0
                              LIQUIDATE_EVENT_TYPE: number = 2
                              OUT_EVENT_TYPE: number = 1

                              Methods

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file diff --git a/ts/client/classes/PerpMarket.html b/ts/client/classes/PerpMarket.html index 9a6f377b0..f647ff7c9 100644 --- a/ts/client/classes/PerpMarket.html +++ b/ts/client/classes/PerpMarket.html @@ -1,12 +1,12 @@ -PerpMarket | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • PerpMarket

                              Index

                              Constructors

                              • new PerpMarket(publicKey: PublicKey, group: PublicKey, settleTokenIndex: TokenIndex, perpMarketIndex: PerpMarketIndex, groupInsuranceFund: boolean, baseDecimals: number, name: number[], bids: PublicKey, asks: PublicKey, eventQueue: PublicKey, oracle: PublicKey, oracleConfig: OracleConfigDto, stablePriceModel: StablePriceModel, quoteLotSize: BN, baseLotSize: BN, maintBaseAssetWeight: I80F48Dto, initBaseAssetWeight: I80F48Dto, maintBaseLiabWeight: I80F48Dto, initBaseLiabWeight: I80F48Dto, openInterest: BN, seqNum: BN, registrationTime: BN, minFunding: I80F48Dto, maxFunding: I80F48Dto, impactQuantity: BN, longFunding: I80F48Dto, shortFunding: I80F48Dto, fundingLastUpdated: BN, baseLiquidationFee: I80F48Dto, makerFee: I80F48Dto, takerFee: I80F48Dto, feesAccrued: I80F48Dto, feesSettled: I80F48Dto, feePenalty: number, settleFeeFlat: number, settleFeeAmountThreshold: number, settleFeeFractionLowHealth: number, settlePnlLimitFactor: number, settlePnlLimitWindowSizeTs: BN, reduceOnly: boolean, forceClose: boolean, maintOverallAssetWeight: I80F48Dto, initOverallAssetWeight: I80F48Dto, positivePnlLiquidationFee: I80F48Dto): PerpMarket

                              Properties

                              _asks: BookSide
                              _bids: BookSide
                              _oracleLastUpdatedSlot: number
                              _oracleProvider: OracleProvider
                              _price: I80F48
                              _uiPrice: number
                              asks: PublicKey
                              baseDecimals: number
                              baseLiquidationFee: I80F48
                              baseLotSize: BN
                              baseLotsToUiConverter: number
                              bids: PublicKey
                              eventQueue: PublicKey
                              feePenalty: number
                              feesAccrued: I80F48
                              feesSettled: I80F48
                              forceClose: boolean
                              fundingLastUpdated: BN
                              group: PublicKey
                              groupInsuranceFund: boolean
                              impactQuantity: BN
                              initBaseAssetWeight: I80F48
                              initBaseLiabWeight: I80F48
                              initOverallAssetWeight: I80F48
                              longFunding: I80F48
                              maintBaseAssetWeight: I80F48
                              maintBaseLiabWeight: I80F48
                              maintOverallAssetWeight: I80F48
                              makerFee: I80F48
                              maxFunding: I80F48
                              minFunding: I80F48
                              name: string
                              openInterest: BN
                              oracle: PublicKey
                              oracleConfig: OracleConfig
                              perpMarketIndex: PerpMarketIndex
                              positivePnlLiquidationFee: I80F48
                              priceLotsToUiConverter: number
                              publicKey: PublicKey
                              quoteLotSize: BN
                              quoteLotsToUiConverter: number
                              reduceOnly: boolean
                              registrationTime: BN
                              seqNum: BN
                              settleFeeAmountThreshold: number
                              settleFeeFlat: number
                              settleFeeFractionLowHealth: number
                              settlePnlLimitFactor: number
                              settlePnlLimitWindowSizeTs: BN
                              settleTokenIndex: TokenIndex
                              shortFunding: I80F48
                              stablePriceModel: StablePriceModel
                              takerFee: I80F48

                              Accessors

                              • get minOrderSize(): number
                              • get oracleLastUpdatedSlot(): number
                              • get tickSize(): number
                              • get uiPrice(): number

                              Methods

                              • baseLotsToUi(quantity: BN): number
                              • insidePriceLimit(side: PerpOrderSide, orderPrice: number): boolean
                              • priceLotsToNative(price: BN): I80F48
                              • priceLotsToUi(price: BN): number
                              • priceNativeToUi(price: number): number
                              • quoteLotsToUi(quantity: BN): number
                              • toString(): string
                              • uiBaseToLots(quantity: number): BN
                              • uiPriceToLots(price: number): BN
                              • uiQuoteToLots(uiQuote: number): BN
                              • from(publicKey: PublicKey, obj: { asks: PublicKey; baseDecimals: number; baseLiquidationFee: I80F48Dto; baseLotSize: BN; bids: PublicKey; eventQueue: PublicKey; feePenalty: number; feesAccrued: I80F48Dto; feesSettled: I80F48Dto; forceClose: number; fundingLastUpdated: BN; group: PublicKey; groupInsuranceFund: number; impactQuantity: BN; initBaseAssetWeight: I80F48Dto; initBaseLiabWeight: I80F48Dto; initOverallAssetWeight: I80F48Dto; longFunding: I80F48Dto; maintBaseAssetWeight: I80F48Dto; maintBaseLiabWeight: I80F48Dto; maintOverallAssetWeight: I80F48Dto; makerFee: I80F48Dto; maxFunding: I80F48Dto; minFunding: I80F48Dto; name: number[]; openInterest: BN; oracle: PublicKey; oracleConfig: OracleConfigDto; perpMarketIndex: number; positivePnlLiquidationFee: I80F48Dto; quoteLotSize: BN; reduceOnly: number; registrationTime: BN; seqNum: BN; settleFeeAmountThreshold: number; settleFeeFlat: number; settleFeeFractionLowHealth: number; settlePnlLimitFactor: number; settlePnlLimitWindowSizeTs: BN; settleTokenIndex: number; shortFunding: I80F48Dto; stablePriceModel: StablePriceModel; takerFee: I80F48Dto }): PerpMarket
                              • Parameters

                                • publicKey: PublicKey
                                • obj: { asks: PublicKey; baseDecimals: number; baseLiquidationFee: I80F48Dto; baseLotSize: BN; bids: PublicKey; eventQueue: PublicKey; feePenalty: number; feesAccrued: I80F48Dto; feesSettled: I80F48Dto; forceClose: number; fundingLastUpdated: BN; group: PublicKey; groupInsuranceFund: number; impactQuantity: BN; initBaseAssetWeight: I80F48Dto; initBaseLiabWeight: I80F48Dto; initOverallAssetWeight: I80F48Dto; longFunding: I80F48Dto; maintBaseAssetWeight: I80F48Dto; maintBaseLiabWeight: I80F48Dto; maintOverallAssetWeight: I80F48Dto; makerFee: I80F48Dto; maxFunding: I80F48Dto; minFunding: I80F48Dto; name: number[]; openInterest: BN; oracle: PublicKey; oracleConfig: OracleConfigDto; perpMarketIndex: number; positivePnlLiquidationFee: I80F48Dto; quoteLotSize: BN; reduceOnly: number; registrationTime: BN; seqNum: BN; settleFeeAmountThreshold: number; settleFeeFlat: number; settleFeeFractionLowHealth: number; settlePnlLimitFactor: number; settlePnlLimitWindowSizeTs: BN; settleTokenIndex: number; shortFunding: I80F48Dto; stablePriceModel: StablePriceModel; takerFee: I80F48Dto }
                                  • asks: PublicKey
                                  • baseDecimals: number
                                  • baseLiquidationFee: I80F48Dto
                                  • baseLotSize: BN
                                  • bids: PublicKey
                                  • eventQueue: PublicKey
                                  • feePenalty: number
                                  • feesAccrued: I80F48Dto
                                  • feesSettled: I80F48Dto
                                  • forceClose: number
                                  • fundingLastUpdated: BN
                                  • group: PublicKey
                                  • groupInsuranceFund: number
                                  • impactQuantity: BN
                                  • initBaseAssetWeight: I80F48Dto
                                  • initBaseLiabWeight: I80F48Dto
                                  • initOverallAssetWeight: I80F48Dto
                                  • longFunding: I80F48Dto
                                  • maintBaseAssetWeight: I80F48Dto
                                  • maintBaseLiabWeight: I80F48Dto
                                  • maintOverallAssetWeight: I80F48Dto
                                  • makerFee: I80F48Dto
                                  • maxFunding: I80F48Dto
                                  • minFunding: I80F48Dto
                                  • name: number[]
                                  • openInterest: BN
                                  • oracle: PublicKey
                                  • oracleConfig: OracleConfigDto
                                  • perpMarketIndex: number
                                  • positivePnlLiquidationFee: I80F48Dto
                                  • quoteLotSize: BN
                                  • reduceOnly: number
                                  • registrationTime: BN
                                  • seqNum: BN
                                  • settleFeeAmountThreshold: number
                                  • settleFeeFlat: number
                                  • settleFeeFractionLowHealth: number
                                  • settlePnlLimitFactor: number
                                  • settlePnlLimitWindowSizeTs: BN
                                  • settleTokenIndex: number
                                  • shortFunding: I80F48Dto
                                  • stablePriceModel: StablePriceModel
                                  • takerFee: I80F48Dto

                                Returns PerpMarket

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file diff --git a/ts/client/classes/PerpOo.html b/ts/client/classes/PerpOo.html index 6b55b9826..f96dae2f0 100644 --- a/ts/client/classes/PerpOo.html +++ b/ts/client/classes/PerpOo.html @@ -1 +1 @@ -PerpOo | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • PerpOo

                              Index

                              Constructors

                              • new PerpOo(sideAndTree: any, orderMarket: number, clientId: BN, id: BN): PerpOo

                              Properties

                              clientId: BN
                              id: BN
                              orderMarket: number
                              sideAndTree: any
                              OrderMarketUnset: number = 65535

                              Methods

                              • isActive(): boolean

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file +PerpOo | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • PerpOo

                              Index

                              Constructors

                              • new PerpOo(sideAndTree: any, orderMarket: number, clientId: BN, id: BN): PerpOo

                              Properties

                              clientId: BN
                              id: BN
                              orderMarket: number
                              sideAndTree: any
                              OrderMarketUnset: number = 65535

                              Methods

                              • isActive(): boolean

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file diff --git a/ts/client/classes/PerpOoDto.html b/ts/client/classes/PerpOoDto.html index 977380731..0fb315f28 100644 --- a/ts/client/classes/PerpOoDto.html +++ b/ts/client/classes/PerpOoDto.html @@ -1 +1 @@ -PerpOoDto | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • PerpOoDto

                              Index

                              Constructors

                              • new PerpOoDto(sideAndTree: any, market: number, clientId: BN, id: BN): PerpOoDto

                              Properties

                              clientId: BN
                              id: BN
                              market: number
                              sideAndTree: any

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file +PerpOoDto | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • PerpOoDto

                              Index

                              Constructors

                              • new PerpOoDto(sideAndTree: any, market: number, clientId: BN, id: BN): PerpOoDto

                              Properties

                              clientId: BN
                              id: BN
                              market: number
                              sideAndTree: any

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file diff --git a/ts/client/classes/PerpOrder.html b/ts/client/classes/PerpOrder.html index 2db6db010..b3492a3f6 100644 --- a/ts/client/classes/PerpOrder.html +++ b/ts/client/classes/PerpOrder.html @@ -1 +1 @@ -PerpOrder | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • PerpOrder

                              Index

                              Constructors

                              • new PerpOrder(seqNum: BN, orderId: BN, owner: PublicKey, openOrdersSlot: number, feeTier: 0, uiPrice: number, priceLots: BN, uiSize: number, sizeLots: BN, side: PerpOrderSide, timestamp: BN, expiryTimestamp: BN, perpMarketIndex: number, isExpired?: boolean, isOraclePegged?: boolean, orderType: PerpOrderType, oraclePeggedProperties?: OraclePeggedProperties): PerpOrder
                              • Parameters

                                • seqNum: BN
                                • orderId: BN
                                • owner: PublicKey
                                • openOrdersSlot: number
                                • feeTier: 0
                                • uiPrice: number
                                • priceLots: BN
                                • uiSize: number
                                • sizeLots: BN
                                • side: PerpOrderSide
                                • timestamp: BN
                                • expiryTimestamp: BN
                                • perpMarketIndex: number
                                • isExpired: boolean = false
                                • isOraclePegged: boolean = false
                                • orderType: PerpOrderType
                                • Optional oraclePeggedProperties: OraclePeggedProperties

                                Returns PerpOrder

                              Properties

                              expiryTimestamp: BN
                              feeTier: 0
                              isExpired: boolean = false
                              isOraclePegged: boolean = false
                              openOrdersSlot: number
                              oraclePeggedProperties?: OraclePeggedProperties
                              orderId: BN
                              orderType: PerpOrderType
                              owner: PublicKey
                              perpMarketIndex: number
                              priceLots: BN
                              seqNum: BN
                              sizeLots: BN
                              timestamp: BN
                              uiPrice: number
                              uiSize: number

                              Accessors

                              • get price(): number
                              • get size(): number

                              Methods

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file +PerpOrder | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • PerpOrder

                              Index

                              Constructors

                              • new PerpOrder(seqNum: BN, orderId: BN, owner: PublicKey, openOrdersSlot: number, feeTier: 0, uiPrice: number, priceLots: BN, uiSize: number, sizeLots: BN, side: PerpOrderSide, timestamp: BN, expiryTimestamp: BN, perpMarketIndex: number, isExpired?: boolean, isOraclePegged?: boolean, orderType: PerpOrderType, oraclePeggedProperties?: OraclePeggedProperties): PerpOrder
                              • Parameters

                                • seqNum: BN
                                • orderId: BN
                                • owner: PublicKey
                                • openOrdersSlot: number
                                • feeTier: 0
                                • uiPrice: number
                                • priceLots: BN
                                • uiSize: number
                                • sizeLots: BN
                                • side: PerpOrderSide
                                • timestamp: BN
                                • expiryTimestamp: BN
                                • perpMarketIndex: number
                                • isExpired: boolean = false
                                • isOraclePegged: boolean = false
                                • orderType: PerpOrderType
                                • Optional oraclePeggedProperties: OraclePeggedProperties

                                Returns PerpOrder

                              Properties

                              expiryTimestamp: BN
                              feeTier: 0
                              isExpired: boolean = false
                              isOraclePegged: boolean = false
                              openOrdersSlot: number
                              oraclePeggedProperties?: OraclePeggedProperties
                              orderId: BN
                              orderType: PerpOrderType
                              owner: PublicKey
                              perpMarketIndex: number
                              priceLots: BN
                              seqNum: BN
                              sizeLots: BN
                              timestamp: BN
                              uiPrice: number
                              uiSize: number

                              Accessors

                              • get price(): number
                              • get size(): number

                              Methods

                              Legend

                              • Constructor
                              • Property
                              • Method
                              • Property
                              • Method
                              • Private property
                              • Private method
                              • Static property
                              • Static method

                              Settings

                              Theme

                              Generated using TypeDoc

                              \ No newline at end of file diff --git a/ts/client/classes/PerpOrderSide.html b/ts/client/classes/PerpOrderSide.html index 19992c7c6..0277a18f2 100644 --- a/ts/client/classes/PerpOrderSide.html +++ b/ts/client/classes/PerpOrderSide.html @@ -1 +1 @@ -PerpOrderSide | @blockworks-foundation/mango-v4
                              Options
                              All
                              • Public
                              • Public/Protected
                              • All
                              Menu

                              Hierarchy

                              • PerpOrderSide

                              Index

                              Constructors

                              Properties

                              Constructors

                              Properties

                              ask: { ask: {} } = ...

                              Type declaration

                              • ask: {}
                                bid: { bid: {} } = ...

                                Type declaration

                                • bid: {}

                                  Legend

                                  • Constructor
                                  • Property
                                  • Method
                                  • Property
                                  • Method
                                  • Private property
                                  • Private method
                                  • Static property
                                  • Static method

                                  Settings

                                  Theme

                                  Generated using TypeDoc

                                  \ No newline at end of file +PerpOrderSide | @blockworks-foundation/mango-v4
                                  Options
                                  All
                                  • Public
                                  • Public/Protected
                                  • All
                                  Menu

                                  Hierarchy

                                  • PerpOrderSide

                                  Index

                                  Constructors

                                  Properties

                                  Constructors

                                  Properties

                                  ask: { ask: {} } = ...

                                  Type declaration

                                  • ask: {}
                                    bid: { bid: {} } = ...

                                    Type declaration

                                    • bid: {}

                                      Legend

                                      • Constructor
                                      • Property
                                      • Method
                                      • Property
                                      • Method
                                      • Private property
                                      • Private method
                                      • Static property
                                      • Static method

                                      Settings

                                      Theme

                                      Generated using TypeDoc

                                      \ No newline at end of file diff --git a/ts/client/classes/PerpOrderType.html b/ts/client/classes/PerpOrderType.html index 269db75b0..faabbffd8 100644 --- a/ts/client/classes/PerpOrderType.html +++ b/ts/client/classes/PerpOrderType.html @@ -1 +1 @@ -PerpOrderType | @blockworks-foundation/mango-v4
                                      Options
                                      All
                                      • Public
                                      • Public/Protected
                                      • All
                                      Menu

                                      Hierarchy

                                      • PerpOrderType

                                      Index

                                      Constructors

                                      Properties

                                      immediateOrCancel: { immediateOrCancel: {} } = ...

                                      Type declaration

                                      • immediateOrCancel: {}
                                        limit: { limit: {} } = ...

                                        Type declaration

                                        • limit: {}
                                          market: { market: {} } = ...

                                          Type declaration

                                          • market: {}
                                            postOnly: { postOnly: {} } = ...

                                            Type declaration

                                            • postOnly: {}
                                              postOnlySlide: { postOnlySlide: {} } = ...

                                              Type declaration

                                              • postOnlySlide: {}

                                                Legend

                                                • Constructor
                                                • Property
                                                • Method
                                                • Property
                                                • Method
                                                • Private property
                                                • Private method
                                                • Static property
                                                • Static method

                                                Settings

                                                Theme

                                                Generated using TypeDoc

                                                \ No newline at end of file +PerpOrderType | @blockworks-foundation/mango-v4
                                                Options
                                                All
                                                • Public
                                                • Public/Protected
                                                • All
                                                Menu

                                                Hierarchy

                                                • PerpOrderType

                                                Index

                                                Constructors

                                                Properties

                                                immediateOrCancel: { immediateOrCancel: {} } = ...

                                                Type declaration

                                                • immediateOrCancel: {}
                                                  limit: { limit: {} } = ...

                                                  Type declaration

                                                  • limit: {}
                                                    market: { market: {} } = ...

                                                    Type declaration

                                                    • market: {}
                                                      postOnly: { postOnly: {} } = ...

                                                      Type declaration

                                                      • postOnly: {}
                                                        postOnlySlide: { postOnlySlide: {} } = ...

                                                        Type declaration

                                                        • postOnlySlide: {}

                                                          Legend

                                                          • Constructor
                                                          • Property
                                                          • Method
                                                          • Property
                                                          • Method
                                                          • Private property
                                                          • Private method
                                                          • Static property
                                                          • Static method

                                                          Settings

                                                          Theme

                                                          Generated using TypeDoc

                                                          \ No newline at end of file diff --git a/ts/client/classes/PerpPosition.html b/ts/client/classes/PerpPosition.html index c43e2664d..c299a158b 100644 --- a/ts/client/classes/PerpPosition.html +++ b/ts/client/classes/PerpPosition.html @@ -1 +1 @@ -PerpPosition | @blockworks-foundation/mango-v4
                                                          Options
                                                          All
                                                          • Public
                                                          • Public/Protected
                                                          • All
                                                          Menu

                                                          Hierarchy

                                                          • PerpPosition

                                                          Index

                                                          Constructors

                                                          • new PerpPosition(marketIndex: PerpMarketIndex, settlePnlLimitWindow: number, settlePnlLimitSettledInCurrentWindowNative: BN, basePositionLots: BN, quotePositionNative: I80F48, quoteRunningNative: BN, longSettledFunding: I80F48, shortSettledFunding: I80F48, bidsBaseLots: BN, asksBaseLots: BN, takerBaseLots: BN, takerQuoteLots: BN, cumulativeLongFunding: number, cumulativeShortFunding: number, makerVolume: BN, takerVolume: BN, perpSpotTransfers: BN, avgEntryPricePerBaseLot: number, realizedTradePnlNative: I80F48, realizedOtherPnlNative: I80F48, settlePnlLimitRealizedTrade: BN, realizedPnlForPositionNative: I80F48): PerpPosition
                                                          • Parameters

                                                            • marketIndex: PerpMarketIndex
                                                            • settlePnlLimitWindow: number
                                                            • settlePnlLimitSettledInCurrentWindowNative: BN
                                                            • basePositionLots: BN
                                                            • quotePositionNative: I80F48
                                                            • quoteRunningNative: BN
                                                            • longSettledFunding: I80F48
                                                            • shortSettledFunding: I80F48
                                                            • bidsBaseLots: BN
                                                            • asksBaseLots: BN
                                                            • takerBaseLots: BN
                                                            • takerQuoteLots: BN
                                                            • cumulativeLongFunding: number
                                                            • cumulativeShortFunding: number
                                                            • makerVolume: BN
                                                            • takerVolume: BN
                                                            • perpSpotTransfers: BN
                                                            • avgEntryPricePerBaseLot: number
                                                            • realizedTradePnlNative: I80F48
                                                            • realizedOtherPnlNative: I80F48
                                                            • settlePnlLimitRealizedTrade: BN
                                                            • realizedPnlForPositionNative: I80F48

                                                            Returns PerpPosition

                                                          Properties

                                                          asksBaseLots: BN
                                                          avgEntryPricePerBaseLot: number
                                                          basePositionLots: BN
                                                          bidsBaseLots: BN
                                                          cumulativeLongFunding: number
                                                          cumulativeShortFunding: number
                                                          longSettledFunding: I80F48
                                                          makerVolume: BN
                                                          marketIndex: PerpMarketIndex
                                                          perpSpotTransfers: BN
                                                          quotePositionNative: I80F48
                                                          quoteRunningNative: BN
                                                          realizedOtherPnlNative: I80F48
                                                          realizedPnlForPositionNative: I80F48
                                                          realizedTradePnlNative: I80F48
                                                          settlePnlLimitRealizedTrade: BN
                                                          settlePnlLimitSettledInCurrentWindowNative: BN
                                                          settlePnlLimitWindow: number
                                                          shortSettledFunding: I80F48
                                                          takerBaseLots: BN
                                                          takerQuoteLots: BN
                                                          takerVolume: BN
                                                          PerpMarketIndexUnset: number = 65535

                                                          Methods

                                                          • availableSettleLimit(perpMarket: PerpMarket): [BN, BN]
                                                          • cumulativePnlOverPositionLifetimeUi(perpMarket: PerpMarket): number
                                                          • getAverageEntryPriceUi(perpMarket: PerpMarket): number
                                                          • getBasePositionUi(perpMarket: PerpMarket, useEventQueue?: boolean): number
                                                          • getBreakEvenPriceUi(perpMarket: PerpMarket): number
                                                          • getNotionalValueUi(perpMarket: PerpMarket, useEventQueue?: boolean): number
                                                          • getQuotePositionUi(perpMarket: PerpMarket, useEventQueue?: boolean): number
                                                          • getRealizedPnlUi(): number
                                                          • getUnRealizedPnlUi(perpMarket: PerpMarket): number
                                                          • getUnsettledFundingUi(perpMarket: PerpMarket): number
                                                          • hasOpenOrders(): boolean
                                                          • isActive(): boolean

                                                          Legend

                                                          • Constructor
                                                          • Property
                                                          • Method
                                                          • Property
                                                          • Method
                                                          • Private property
                                                          • Private method
                                                          • Static property
                                                          • Static method

                                                          Settings

                                                          Theme

                                                          Generated using TypeDoc

                                                          \ No newline at end of file +PerpPosition | @blockworks-foundation/mango-v4
                                                          Options
                                                          All
                                                          • Public
                                                          • Public/Protected
                                                          • All
                                                          Menu

                                                          Hierarchy

                                                          • PerpPosition

                                                          Index

                                                          Constructors

                                                          • new PerpPosition(marketIndex: PerpMarketIndex, settlePnlLimitWindow: number, settlePnlLimitSettledInCurrentWindowNative: BN, basePositionLots: BN, quotePositionNative: I80F48, quoteRunningNative: BN, longSettledFunding: I80F48, shortSettledFunding: I80F48, bidsBaseLots: BN, asksBaseLots: BN, takerBaseLots: BN, takerQuoteLots: BN, cumulativeLongFunding: number, cumulativeShortFunding: number, makerVolume: BN, takerVolume: BN, perpSpotTransfers: BN, avgEntryPricePerBaseLot: number, realizedTradePnlNative: I80F48, realizedOtherPnlNative: I80F48, settlePnlLimitRealizedTrade: BN, realizedPnlForPositionNative: I80F48): PerpPosition
                                                          • Parameters

                                                            • marketIndex: PerpMarketIndex
                                                            • settlePnlLimitWindow: number
                                                            • settlePnlLimitSettledInCurrentWindowNative: BN
                                                            • basePositionLots: BN
                                                            • quotePositionNative: I80F48
                                                            • quoteRunningNative: BN
                                                            • longSettledFunding: I80F48
                                                            • shortSettledFunding: I80F48
                                                            • bidsBaseLots: BN
                                                            • asksBaseLots: BN
                                                            • takerBaseLots: BN
                                                            • takerQuoteLots: BN
                                                            • cumulativeLongFunding: number
                                                            • cumulativeShortFunding: number
                                                            • makerVolume: BN
                                                            • takerVolume: BN
                                                            • perpSpotTransfers: BN
                                                            • avgEntryPricePerBaseLot: number
                                                            • realizedTradePnlNative: I80F48
                                                            • realizedOtherPnlNative: I80F48
                                                            • settlePnlLimitRealizedTrade: BN
                                                            • realizedPnlForPositionNative: I80F48

                                                            Returns PerpPosition

                                                          Properties

                                                          asksBaseLots: BN
                                                          avgEntryPricePerBaseLot: number
                                                          basePositionLots: BN
                                                          bidsBaseLots: BN
                                                          cumulativeLongFunding: number
                                                          cumulativeShortFunding: number
                                                          longSettledFunding: I80F48
                                                          makerVolume: BN
                                                          marketIndex: PerpMarketIndex
                                                          perpSpotTransfers: BN
                                                          quotePositionNative: I80F48
                                                          quoteRunningNative: BN
                                                          realizedOtherPnlNative: I80F48
                                                          realizedPnlForPositionNative: I80F48
                                                          realizedTradePnlNative: I80F48
                                                          settlePnlLimitRealizedTrade: BN
                                                          settlePnlLimitSettledInCurrentWindowNative: BN
                                                          settlePnlLimitWindow: number
                                                          shortSettledFunding: I80F48
                                                          takerBaseLots: BN
                                                          takerQuoteLots: BN
                                                          takerVolume: BN
                                                          PerpMarketIndexUnset: number = 65535

                                                          Methods

                                                          • availableSettleLimit(perpMarket: PerpMarket): [BN, BN]
                                                          • cumulativePnlOverPositionLifetimeUi(perpMarket: PerpMarket): number
                                                          • getAverageEntryPriceUi(perpMarket: PerpMarket): number
                                                          • getBasePositionUi(perpMarket: PerpMarket, useEventQueue?: boolean): number
                                                          • getBreakEvenPriceUi(perpMarket: PerpMarket): number
                                                          • getNotionalValueUi(perpMarket: PerpMarket, useEventQueue?: boolean): number
                                                          • getQuotePositionUi(perpMarket: PerpMarket, useEventQueue?: boolean): number
                                                          • getRealizedPnlUi(): number
                                                          • getUnRealizedPnlUi(perpMarket: PerpMarket): number
                                                          • getUnsettledFundingUi(perpMarket: PerpMarket): number
                                                          • hasOpenOrders(): boolean
                                                          • isActive(): boolean

                                                          Legend

                                                          • Constructor
                                                          • Property
                                                          • Method
                                                          • Property
                                                          • Method
                                                          • Private property
                                                          • Private method
                                                          • Static property
                                                          • Static method

                                                          Settings

                                                          Theme

                                                          Generated using TypeDoc

                                                          \ No newline at end of file diff --git a/ts/client/classes/PerpPositionDto.html b/ts/client/classes/PerpPositionDto.html index e1168cb7b..12750f053 100644 --- a/ts/client/classes/PerpPositionDto.html +++ b/ts/client/classes/PerpPositionDto.html @@ -1 +1 @@ -PerpPositionDto | @blockworks-foundation/mango-v4
                                                          Options
                                                          All
                                                          • Public
                                                          • Public/Protected
                                                          • All
                                                          Menu

                                                          Hierarchy

                                                          • PerpPositionDto

                                                          Index

                                                          Constructors

                                                          • new PerpPositionDto(marketIndex: number, settlePnlLimitWindow: number, settlePnlLimitSettledInCurrentWindowNative: BN, basePositionLots: BN, quotePositionNative: { val: BN }, quoteRunningNative: BN, longSettledFunding: I80F48Dto, shortSettledFunding: I80F48Dto, bidsBaseLots: BN, asksBaseLots: BN, takerBaseLots: BN, takerQuoteLots: BN, cumulativeLongFunding: number, cumulativeShortFunding: number, makerVolume: BN, takerVolume: BN, perpSpotTransfers: BN, avgEntryPricePerBaseLot: number, realizedTradePnlNative: I80F48Dto, realizedOtherPnlNative: I80F48Dto, settlePnlLimitRealizedTrade: BN, realizedPnlForPositionNative: I80F48Dto): PerpPositionDto
                                                          • Parameters

                                                            • marketIndex: number
                                                            • settlePnlLimitWindow: number
                                                            • settlePnlLimitSettledInCurrentWindowNative: BN
                                                            • basePositionLots: BN
                                                            • quotePositionNative: { val: BN }
                                                              • val: BN
                                                            • quoteRunningNative: BN
                                                            • longSettledFunding: I80F48Dto
                                                            • shortSettledFunding: I80F48Dto
                                                            • bidsBaseLots: BN
                                                            • asksBaseLots: BN
                                                            • takerBaseLots: BN
                                                            • takerQuoteLots: BN
                                                            • cumulativeLongFunding: number
                                                            • cumulativeShortFunding: number
                                                            • makerVolume: BN
                                                            • takerVolume: BN
                                                            • perpSpotTransfers: BN
                                                            • avgEntryPricePerBaseLot: number
                                                            • realizedTradePnlNative: I80F48Dto
                                                            • realizedOtherPnlNative: I80F48Dto
                                                            • settlePnlLimitRealizedTrade: BN
                                                            • realizedPnlForPositionNative: I80F48Dto

                                                            Returns PerpPositionDto

                                                          Properties

                                                          asksBaseLots: BN
                                                          avgEntryPricePerBaseLot: number
                                                          basePositionLots: BN
                                                          bidsBaseLots: BN
                                                          cumulativeLongFunding: number
                                                          cumulativeShortFunding: number
                                                          longSettledFunding: I80F48Dto
                                                          makerVolume: BN
                                                          marketIndex: number
                                                          perpSpotTransfers: BN
                                                          quotePositionNative: { val: BN }

                                                          Type declaration

                                                          • val: BN
                                                          quoteRunningNative: BN
                                                          realizedOtherPnlNative: I80F48Dto
                                                          realizedPnlForPositionNative: I80F48Dto
                                                          realizedTradePnlNative: I80F48Dto
                                                          settlePnlLimitRealizedTrade: BN
                                                          settlePnlLimitSettledInCurrentWindowNative: BN
                                                          settlePnlLimitWindow: number
                                                          shortSettledFunding: I80F48Dto
                                                          takerBaseLots: BN
                                                          takerQuoteLots: BN
                                                          takerVolume: BN

                                                          Legend

                                                          • Constructor
                                                          • Property
                                                          • Method
                                                          • Property
                                                          • Method
                                                          • Private property
                                                          • Private method
                                                          • Static property
                                                          • Static method

                                                          Settings

                                                          Theme

                                                          Generated using TypeDoc

                                                          \ No newline at end of file +PerpPositionDto | @blockworks-foundation/mango-v4
                                                          Options
                                                          All
                                                          • Public
                                                          • Public/Protected
                                                          • All
                                                          Menu

                                                          Hierarchy

                                                          • PerpPositionDto

                                                          Index

                                                          Constructors

                                                          • new PerpPositionDto(marketIndex: number, settlePnlLimitWindow: number, settlePnlLimitSettledInCurrentWindowNative: BN, basePositionLots: BN, quotePositionNative: { val: BN }, quoteRunningNative: BN, longSettledFunding: I80F48Dto, shortSettledFunding: I80F48Dto, bidsBaseLots: BN, asksBaseLots: BN, takerBaseLots: BN, takerQuoteLots: BN, cumulativeLongFunding: number, cumulativeShortFunding: number, makerVolume: BN, takerVolume: BN, perpSpotTransfers: BN, avgEntryPricePerBaseLot: number, realizedTradePnlNative: I80F48Dto, realizedOtherPnlNative: I80F48Dto, settlePnlLimitRealizedTrade: BN, realizedPnlForPositionNative: I80F48Dto): PerpPositionDto
                                                          • Parameters

                                                            • marketIndex: number
                                                            • settlePnlLimitWindow: number
                                                            • settlePnlLimitSettledInCurrentWindowNative: BN
                                                            • basePositionLots: BN
                                                            • quotePositionNative: { val: BN }
                                                              • val: BN
                                                            • quoteRunningNative: BN
                                                            • longSettledFunding: I80F48Dto
                                                            • shortSettledFunding: I80F48Dto
                                                            • bidsBaseLots: BN
                                                            • asksBaseLots: BN
                                                            • takerBaseLots: BN
                                                            • takerQuoteLots: BN
                                                            • cumulativeLongFunding: number
                                                            • cumulativeShortFunding: number
                                                            • makerVolume: BN
                                                            • takerVolume: BN
                                                            • perpSpotTransfers: BN
                                                            • avgEntryPricePerBaseLot: number
                                                            • realizedTradePnlNative: I80F48Dto
                                                            • realizedOtherPnlNative: I80F48Dto
                                                            • settlePnlLimitRealizedTrade: BN
                                                            • realizedPnlForPositionNative: I80F48Dto

                                                            Returns PerpPositionDto

                                                          Properties

                                                          asksBaseLots: BN
                                                          avgEntryPricePerBaseLot: number
                                                          basePositionLots: BN
                                                          bidsBaseLots: BN
                                                          cumulativeLongFunding: number
                                                          cumulativeShortFunding: number
                                                          longSettledFunding: I80F48Dto
                                                          makerVolume: BN
                                                          marketIndex: number
                                                          perpSpotTransfers: BN
                                                          quotePositionNative: { val: BN }

                                                          Type declaration

                                                          • val: BN
                                                          quoteRunningNative: BN
                                                          realizedOtherPnlNative: I80F48Dto
                                                          realizedPnlForPositionNative: I80F48Dto
                                                          realizedTradePnlNative: I80F48Dto
                                                          settlePnlLimitRealizedTrade: BN
                                                          settlePnlLimitSettledInCurrentWindowNative: BN
                                                          settlePnlLimitWindow: number
                                                          shortSettledFunding: I80F48Dto
                                                          takerBaseLots: BN
                                                          takerQuoteLots: BN
                                                          takerVolume: BN

                                                          Legend

                                                          • Constructor
                                                          • Property
                                                          • Method
                                                          • Property
                                                          • Method
                                                          • Private property
                                                          • Private method
                                                          • Static property
                                                          • Static method

                                                          Settings

                                                          Theme

                                                          Generated using TypeDoc

                                                          \ No newline at end of file diff --git a/ts/client/classes/PerpSelfTradeBehavior.html b/ts/client/classes/PerpSelfTradeBehavior.html index 1bb2ec7e5..10bbff1fc 100644 --- a/ts/client/classes/PerpSelfTradeBehavior.html +++ b/ts/client/classes/PerpSelfTradeBehavior.html @@ -1 +1 @@ -PerpSelfTradeBehavior | @blockworks-foundation/mango-v4
                                                          Options
                                                          All
                                                          • Public
                                                          • Public/Protected
                                                          • All
                                                          Menu

                                                          Hierarchy

                                                          • PerpSelfTradeBehavior

                                                          Index

                                                          Constructors

                                                          Properties

                                                          abortTransaction: { abortTransaction: {} } = ...

                                                          Type declaration

                                                          • abortTransaction: {}
                                                            cancelProvide: { cancelProvide: {} } = ...

                                                            Type declaration

                                                            • cancelProvide: {}
                                                              decrementTake: { decrementTake: {} } = ...

                                                              Type declaration

                                                              • decrementTake: {}

                                                                Legend

                                                                • Constructor
                                                                • Property
                                                                • Method
                                                                • Property
                                                                • Method
                                                                • Private property
                                                                • Private method
                                                                • Static property
                                                                • Static method

                                                                Settings

                                                                Theme

                                                                Generated using TypeDoc

                                                                \ No newline at end of file +PerpSelfTradeBehavior | @blockworks-foundation/mango-v4
                                                                Options
                                                                All
                                                                • Public
                                                                • Public/Protected
                                                                • All
                                                                Menu

                                                                Hierarchy

                                                                • PerpSelfTradeBehavior

                                                                Index

                                                                Constructors

                                                                Properties

                                                                abortTransaction: { abortTransaction: {} } = ...

                                                                Type declaration

                                                                • abortTransaction: {}
                                                                  cancelProvide: { cancelProvide: {} } = ...

                                                                  Type declaration

                                                                  • cancelProvide: {}
                                                                    decrementTake: { decrementTake: {} } = ...

                                                                    Type declaration

                                                                    • decrementTake: {}

                                                                      Legend

                                                                      • Constructor
                                                                      • Property
                                                                      • Method
                                                                      • Property
                                                                      • Method
                                                                      • Private property
                                                                      • Private method
                                                                      • Static property
                                                                      • Static method

                                                                      Settings

                                                                      Theme

                                                                      Generated using TypeDoc

                                                                      \ No newline at end of file diff --git a/ts/client/classes/Serum3Market.html b/ts/client/classes/Serum3Market.html index a0dfd5c98..c516d97e9 100644 --- a/ts/client/classes/Serum3Market.html +++ b/ts/client/classes/Serum3Market.html @@ -1,5 +1,5 @@ -Serum3Market | @blockworks-foundation/mango-v4
                                                                      Options
                                                                      All
                                                                      • Public
                                                                      • Public/Protected
                                                                      • All
                                                                      Menu

                                                                      Hierarchy

                                                                      • Serum3Market

                                                                      Index

                                                                      Constructors

                                                                      • new Serum3Market(publicKey: PublicKey, group: PublicKey, baseTokenIndex: TokenIndex, quoteTokenIndex: TokenIndex, name: number[], serumProgram: PublicKey, serumMarketExternal: PublicKey, marketIndex: MarketIndex, registrationTime: BN, reduceOnly: boolean, forceClose: boolean): Serum3Market
                                                                      • Parameters

                                                                        • publicKey: PublicKey
                                                                        • group: PublicKey
                                                                        • baseTokenIndex: TokenIndex
                                                                        • quoteTokenIndex: TokenIndex
                                                                        • name: number[]
                                                                        • serumProgram: PublicKey
                                                                        • serumMarketExternal: PublicKey
                                                                        • marketIndex: MarketIndex
                                                                        • registrationTime: BN
                                                                        • reduceOnly: boolean
                                                                        • forceClose: boolean

                                                                        Returns Serum3Market

                                                                      Properties

                                                                      baseTokenIndex: TokenIndex
                                                                      forceClose: boolean
                                                                      group: PublicKey
                                                                      marketIndex: MarketIndex
                                                                      name: string
                                                                      publicKey: PublicKey
                                                                      quoteTokenIndex: TokenIndex
                                                                      reduceOnly: boolean
                                                                      registrationTime: BN
                                                                      serumMarketExternal: PublicKey
                                                                      serumProgram: PublicKey

                                                                      Methods

                                                                      • computePriceForMarketOrderOfSize(client: MangoClient, group: Group, size: number, side: "buy" | "sell"): Promise<number>
                                                                      • findOoPda(programId: PublicKey, mangoAccount: PublicKey): Promise<PublicKey>
                                                                      • Parameters

                                                                        • programId: PublicKey
                                                                        • mangoAccount: PublicKey

                                                                        Returns Promise<PublicKey>

                                                                      • getFeeRates(taker?: boolean): number
                                                                      • maxAskLeverage(group: Group): number
                                                                      • from(publicKey: PublicKey, obj: { baseTokenIndex: number; forceClose: number; group: PublicKey; marketIndex: number; name: number[]; quoteTokenIndex: number; reduceOnly: number; registrationTime: BN; serumMarketExternal: PublicKey; serumProgram: PublicKey }): Serum3Market
                                                                      • Parameters

                                                                        • publicKey: PublicKey
                                                                        • obj: { baseTokenIndex: number; forceClose: number; group: PublicKey; marketIndex: number; name: number[]; quoteTokenIndex: number; reduceOnly: number; registrationTime: BN; serumMarketExternal: PublicKey; serumProgram: PublicKey }
                                                                          • baseTokenIndex: number
                                                                          • forceClose: number
                                                                          • group: PublicKey
                                                                          • marketIndex: number
                                                                          • name: number[]
                                                                          • quoteTokenIndex: number
                                                                          • reduceOnly: number
                                                                          • registrationTime: BN
                                                                          • serumMarketExternal: PublicKey
                                                                          • serumProgram: PublicKey

                                                                        Returns Serum3Market

                                                                      Legend

                                                                      • Constructor
                                                                      • Property
                                                                      • Method
                                                                      • Property
                                                                      • Method
                                                                      • Private property
                                                                      • Private method
                                                                      • Static property
                                                                      • Static method

                                                                      Settings

                                                                      Theme

                                                                      Generated using TypeDoc

                                                                      \ No newline at end of file diff --git a/ts/client/classes/Serum3OrderType.html b/ts/client/classes/Serum3OrderType.html index aa65e026c..4ad7614a5 100644 --- a/ts/client/classes/Serum3OrderType.html +++ b/ts/client/classes/Serum3OrderType.html @@ -1 +1 @@ -Serum3OrderType | @blockworks-foundation/mango-v4
                                                                      Options
                                                                      All
                                                                      • Public
                                                                      • Public/Protected
                                                                      • All
                                                                      Menu

                                                                      Hierarchy

                                                                      • Serum3OrderType

                                                                      Index

                                                                      Constructors

                                                                      Properties

                                                                      immediateOrCancel: { immediateOrCancel: {} } = ...

                                                                      Type declaration

                                                                      • immediateOrCancel: {}
                                                                        limit: { limit: {} } = ...

                                                                        Type declaration

                                                                        • limit: {}
                                                                          postOnly: { postOnly: {} } = ...

                                                                          Type declaration

                                                                          • postOnly: {}

                                                                            Legend

                                                                            • Constructor
                                                                            • Property
                                                                            • Method
                                                                            • Property
                                                                            • Method
                                                                            • Private property
                                                                            • Private method
                                                                            • Static property
                                                                            • Static method

                                                                            Settings

                                                                            Theme

                                                                            Generated using TypeDoc

                                                                            \ No newline at end of file +Serum3OrderType | @blockworks-foundation/mango-v4
                                                                            Options
                                                                            All
                                                                            • Public
                                                                            • Public/Protected
                                                                            • All
                                                                            Menu

                                                                            Hierarchy

                                                                            • Serum3OrderType

                                                                            Index

                                                                            Constructors

                                                                            Properties

                                                                            immediateOrCancel: { immediateOrCancel: {} } = ...

                                                                            Type declaration

                                                                            • immediateOrCancel: {}
                                                                              limit: { limit: {} } = ...

                                                                              Type declaration

                                                                              • limit: {}
                                                                                postOnly: { postOnly: {} } = ...

                                                                                Type declaration

                                                                                • postOnly: {}

                                                                                  Legend

                                                                                  • Constructor
                                                                                  • Property
                                                                                  • Method
                                                                                  • Property
                                                                                  • Method
                                                                                  • Private property
                                                                                  • Private method
                                                                                  • Static property
                                                                                  • Static method

                                                                                  Settings

                                                                                  Theme

                                                                                  Generated using TypeDoc

                                                                                  \ No newline at end of file diff --git a/ts/client/classes/Serum3Orders.html b/ts/client/classes/Serum3Orders.html index 04e9c49ad..2c59e7f6b 100644 --- a/ts/client/classes/Serum3Orders.html +++ b/ts/client/classes/Serum3Orders.html @@ -1 +1 @@ -Serum3Orders | @blockworks-foundation/mango-v4
                                                                                  Options
                                                                                  All
                                                                                  • Public
                                                                                  • Public/Protected
                                                                                  • All
                                                                                  Menu

                                                                                  Hierarchy

                                                                                  • Serum3Orders

                                                                                  Index

                                                                                  Constructors

                                                                                  Properties

                                                                                  baseTokenIndex: TokenIndex
                                                                                  marketIndex: MarketIndex
                                                                                  openOrders: PublicKey
                                                                                  quoteTokenIndex: TokenIndex
                                                                                  Serum3MarketIndexUnset: number = 65535

                                                                                  Methods

                                                                                  • isActive(): boolean

                                                                                  Legend

                                                                                  • Constructor
                                                                                  • Property
                                                                                  • Method
                                                                                  • Property
                                                                                  • Method
                                                                                  • Private property
                                                                                  • Private method
                                                                                  • Static property
                                                                                  • Static method

                                                                                  Settings

                                                                                  Theme

                                                                                  Generated using TypeDoc

                                                                                  \ No newline at end of file +Serum3Orders | @blockworks-foundation/mango-v4
                                                                                  Options
                                                                                  All
                                                                                  • Public
                                                                                  • Public/Protected
                                                                                  • All
                                                                                  Menu

                                                                                  Hierarchy

                                                                                  • Serum3Orders

                                                                                  Index

                                                                                  Constructors

                                                                                  Properties

                                                                                  baseTokenIndex: TokenIndex
                                                                                  marketIndex: MarketIndex
                                                                                  openOrders: PublicKey
                                                                                  quoteTokenIndex: TokenIndex
                                                                                  Serum3MarketIndexUnset: number = 65535

                                                                                  Methods

                                                                                  • isActive(): boolean

                                                                                  Legend

                                                                                  • Constructor
                                                                                  • Property
                                                                                  • Method
                                                                                  • Property
                                                                                  • Method
                                                                                  • Private property
                                                                                  • Private method
                                                                                  • Static property
                                                                                  • Static method

                                                                                  Settings

                                                                                  Theme

                                                                                  Generated using TypeDoc

                                                                                  \ No newline at end of file diff --git a/ts/client/classes/Serum3PositionDto.html b/ts/client/classes/Serum3PositionDto.html index 66f532fb6..c9bec7c3e 100644 --- a/ts/client/classes/Serum3PositionDto.html +++ b/ts/client/classes/Serum3PositionDto.html @@ -1 +1 @@ -Serum3PositionDto | @blockworks-foundation/mango-v4
                                                                                  Options
                                                                                  All
                                                                                  • Public
                                                                                  • Public/Protected
                                                                                  • All
                                                                                  Menu

                                                                                  Hierarchy

                                                                                  • Serum3PositionDto

                                                                                  Index

                                                                                  Constructors

                                                                                  • new Serum3PositionDto(openOrders: PublicKey, marketIndex: number, baseBorrowsWithoutFee: BN, quoteBorrowsWithoutFee: BN, baseTokenIndex: number, quoteTokenIndex: number, reserved: number[]): Serum3PositionDto

                                                                                  Properties

                                                                                  baseBorrowsWithoutFee: BN
                                                                                  baseTokenIndex: number
                                                                                  marketIndex: number
                                                                                  openOrders: PublicKey
                                                                                  quoteBorrowsWithoutFee: BN
                                                                                  quoteTokenIndex: number
                                                                                  reserved: number[]

                                                                                  Legend

                                                                                  • Constructor
                                                                                  • Property
                                                                                  • Method
                                                                                  • Property
                                                                                  • Method
                                                                                  • Private property
                                                                                  • Private method
                                                                                  • Static property
                                                                                  • Static method

                                                                                  Settings

                                                                                  Theme

                                                                                  Generated using TypeDoc

                                                                                  \ No newline at end of file +Serum3PositionDto | @blockworks-foundation/mango-v4
                                                                                  Options
                                                                                  All
                                                                                  • Public
                                                                                  • Public/Protected
                                                                                  • All
                                                                                  Menu

                                                                                  Hierarchy

                                                                                  • Serum3PositionDto

                                                                                  Index

                                                                                  Constructors

                                                                                  • new Serum3PositionDto(openOrders: PublicKey, marketIndex: number, baseBorrowsWithoutFee: BN, quoteBorrowsWithoutFee: BN, baseTokenIndex: number, quoteTokenIndex: number, reserved: number[]): Serum3PositionDto

                                                                                  Properties

                                                                                  baseBorrowsWithoutFee: BN
                                                                                  baseTokenIndex: number
                                                                                  marketIndex: number
                                                                                  openOrders: PublicKey
                                                                                  quoteBorrowsWithoutFee: BN
                                                                                  quoteTokenIndex: number
                                                                                  reserved: number[]

                                                                                  Legend

                                                                                  • Constructor
                                                                                  • Property
                                                                                  • Method
                                                                                  • Property
                                                                                  • Method
                                                                                  • Private property
                                                                                  • Private method
                                                                                  • Static property
                                                                                  • Static method

                                                                                  Settings

                                                                                  Theme

                                                                                  Generated using TypeDoc

                                                                                  \ No newline at end of file diff --git a/ts/client/classes/Serum3SelfTradeBehavior.html b/ts/client/classes/Serum3SelfTradeBehavior.html index f0ed4e503..7ddbad00c 100644 --- a/ts/client/classes/Serum3SelfTradeBehavior.html +++ b/ts/client/classes/Serum3SelfTradeBehavior.html @@ -1 +1 @@ -Serum3SelfTradeBehavior | @blockworks-foundation/mango-v4
                                                                                  Options
                                                                                  All
                                                                                  • Public
                                                                                  • Public/Protected
                                                                                  • All
                                                                                  Menu

                                                                                  Hierarchy

                                                                                  • Serum3SelfTradeBehavior

                                                                                  Index

                                                                                  Constructors

                                                                                  Properties

                                                                                  abortTransaction: { abortTransaction: {} } = ...

                                                                                  Type declaration

                                                                                  • abortTransaction: {}
                                                                                    cancelProvide: { cancelProvide: {} } = ...

                                                                                    Type declaration

                                                                                    • cancelProvide: {}
                                                                                      decrementTake: { decrementTake: {} } = ...

                                                                                      Type declaration

                                                                                      • decrementTake: {}

                                                                                        Legend

                                                                                        • Constructor
                                                                                        • Property
                                                                                        • Method
                                                                                        • Property
                                                                                        • Method
                                                                                        • Private property
                                                                                        • Private method
                                                                                        • Static property
                                                                                        • Static method

                                                                                        Settings

                                                                                        Theme

                                                                                        Generated using TypeDoc

                                                                                        \ No newline at end of file +Serum3SelfTradeBehavior | @blockworks-foundation/mango-v4
                                                                                        Options
                                                                                        All
                                                                                        • Public
                                                                                        • Public/Protected
                                                                                        • All
                                                                                        Menu

                                                                                        Hierarchy

                                                                                        • Serum3SelfTradeBehavior

                                                                                        Index

                                                                                        Constructors

                                                                                        Properties

                                                                                        abortTransaction: { abortTransaction: {} } = ...

                                                                                        Type declaration

                                                                                        • abortTransaction: {}
                                                                                          cancelProvide: { cancelProvide: {} } = ...

                                                                                          Type declaration

                                                                                          • cancelProvide: {}
                                                                                            decrementTake: { decrementTake: {} } = ...

                                                                                            Type declaration

                                                                                            • decrementTake: {}

                                                                                              Legend

                                                                                              • Constructor
                                                                                              • Property
                                                                                              • Method
                                                                                              • Property
                                                                                              • Method
                                                                                              • Private property
                                                                                              • Private method
                                                                                              • Static property
                                                                                              • Static method

                                                                                              Settings

                                                                                              Theme

                                                                                              Generated using TypeDoc

                                                                                              \ No newline at end of file diff --git a/ts/client/classes/Serum3Side.html b/ts/client/classes/Serum3Side.html index 20d5b5b9f..959659063 100644 --- a/ts/client/classes/Serum3Side.html +++ b/ts/client/classes/Serum3Side.html @@ -1 +1 @@ -Serum3Side | @blockworks-foundation/mango-v4
                                                                                              Options
                                                                                              All
                                                                                              • Public
                                                                                              • Public/Protected
                                                                                              • All
                                                                                              Menu

                                                                                              Hierarchy

                                                                                              • Serum3Side

                                                                                              Index

                                                                                              Constructors

                                                                                              Properties

                                                                                              Constructors

                                                                                              Properties

                                                                                              ask: { ask: {} } = ...

                                                                                              Type declaration

                                                                                              • ask: {}
                                                                                                bid: { bid: {} } = ...

                                                                                                Type declaration

                                                                                                • bid: {}

                                                                                                  Legend

                                                                                                  • Constructor
                                                                                                  • Property
                                                                                                  • Method
                                                                                                  • Property
                                                                                                  • Method
                                                                                                  • Private property
                                                                                                  • Private method
                                                                                                  • Static property
                                                                                                  • Static method

                                                                                                  Settings

                                                                                                  Theme

                                                                                                  Generated using TypeDoc

                                                                                                  \ No newline at end of file +Serum3Side | @blockworks-foundation/mango-v4
                                                                                                  Options
                                                                                                  All
                                                                                                  • Public
                                                                                                  • Public/Protected
                                                                                                  • All
                                                                                                  Menu

                                                                                                  Hierarchy

                                                                                                  • Serum3Side

                                                                                                  Index

                                                                                                  Constructors

                                                                                                  Properties

                                                                                                  Constructors

                                                                                                  Properties

                                                                                                  ask: { ask: {} } = ...

                                                                                                  Type declaration

                                                                                                  • ask: {}
                                                                                                    bid: { bid: {} } = ...

                                                                                                    Type declaration

                                                                                                    • bid: {}

                                                                                                      Legend

                                                                                                      • Constructor
                                                                                                      • Property
                                                                                                      • Method
                                                                                                      • Property
                                                                                                      • Method
                                                                                                      • Private property
                                                                                                      • Private method
                                                                                                      • Static property
                                                                                                      • Static method

                                                                                                      Settings

                                                                                                      Theme

                                                                                                      Generated using TypeDoc

                                                                                                      \ No newline at end of file diff --git a/ts/client/classes/StubOracle.html b/ts/client/classes/StubOracle.html index c2bcb5481..897c30b16 100644 --- a/ts/client/classes/StubOracle.html +++ b/ts/client/classes/StubOracle.html @@ -1 +1 @@ -StubOracle | @blockworks-foundation/mango-v4
                                                                                                      Options
                                                                                                      All
                                                                                                      • Public
                                                                                                      • Public/Protected
                                                                                                      • All
                                                                                                      Menu

                                                                                                      Hierarchy

                                                                                                      • StubOracle

                                                                                                      Index

                                                                                                      Constructors

                                                                                                      • new StubOracle(publicKey: PublicKey, group: PublicKey, mint: PublicKey, price: I80F48Dto, lastUpdateTs: BN, lastUpdateSlot: BN, deviation: I80F48Dto): StubOracle

                                                                                                      Properties

                                                                                                      deviation: I80F48
                                                                                                      group: PublicKey
                                                                                                      lastUpdateSlot: BN
                                                                                                      lastUpdateTs: BN
                                                                                                      mint: PublicKey
                                                                                                      price: I80F48
                                                                                                      publicKey: PublicKey

                                                                                                      Methods

                                                                                                      • from(publicKey: PublicKey, obj: { deviation: I80F48Dto; group: PublicKey; lastUpdateSlot: BN; lastUpdateTs: BN; mint: PublicKey; price: I80F48Dto }): StubOracle

                                                                                                      Legend

                                                                                                      • Constructor
                                                                                                      • Property
                                                                                                      • Method
                                                                                                      • Property
                                                                                                      • Method
                                                                                                      • Private property
                                                                                                      • Private method
                                                                                                      • Static property
                                                                                                      • Static method

                                                                                                      Settings

                                                                                                      Theme

                                                                                                      Generated using TypeDoc

                                                                                                      \ No newline at end of file +StubOracle | @blockworks-foundation/mango-v4
                                                                                                      Options
                                                                                                      All
                                                                                                      • Public
                                                                                                      • Public/Protected
                                                                                                      • All
                                                                                                      Menu

                                                                                                      Hierarchy

                                                                                                      • StubOracle

                                                                                                      Index

                                                                                                      Constructors

                                                                                                      • new StubOracle(publicKey: PublicKey, group: PublicKey, mint: PublicKey, price: I80F48Dto, lastUpdateTs: BN, lastUpdateSlot: BN, deviation: I80F48Dto): StubOracle

                                                                                                      Properties

                                                                                                      deviation: I80F48
                                                                                                      group: PublicKey
                                                                                                      lastUpdateSlot: BN
                                                                                                      lastUpdateTs: BN
                                                                                                      mint: PublicKey
                                                                                                      price: I80F48
                                                                                                      publicKey: PublicKey

                                                                                                      Methods

                                                                                                      • from(publicKey: PublicKey, obj: { deviation: I80F48Dto; group: PublicKey; lastUpdateSlot: BN; lastUpdateTs: BN; mint: PublicKey; price: I80F48Dto }): StubOracle

                                                                                                      Legend

                                                                                                      • Constructor
                                                                                                      • Property
                                                                                                      • Method
                                                                                                      • Property
                                                                                                      • Method
                                                                                                      • Private property
                                                                                                      • Private method
                                                                                                      • Static property
                                                                                                      • Static method

                                                                                                      Settings

                                                                                                      Theme

                                                                                                      Generated using TypeDoc

                                                                                                      \ No newline at end of file diff --git a/ts/client/classes/TokenConditionalSwap.html b/ts/client/classes/TokenConditionalSwap.html index 5bd5036d6..d3c212a35 100644 --- a/ts/client/classes/TokenConditionalSwap.html +++ b/ts/client/classes/TokenConditionalSwap.html @@ -1 +1 @@ -TokenConditionalSwap | @blockworks-foundation/mango-v4
                                                                                                      Options
                                                                                                      All
                                                                                                      • Public
                                                                                                      • Public/Protected
                                                                                                      • All
                                                                                                      Menu

                                                                                                      Hierarchy

                                                                                                      • TokenConditionalSwap

                                                                                                      Index

                                                                                                      Constructors

                                                                                                      Properties

                                                                                                      allowCreatingBorrows: boolean
                                                                                                      allowCreatingDeposits: boolean
                                                                                                      bought: BN
                                                                                                      buyTokenIndex: TokenIndex
                                                                                                      expiryTimestamp: BN
                                                                                                      hasData: boolean
                                                                                                      id: BN
                                                                                                      makerFeeRate: number
                                                                                                      maxBuy: BN
                                                                                                      maxSell: BN
                                                                                                      priceLowerLimit: number
                                                                                                      pricePremiumRate: number
                                                                                                      priceUpperLimit: number
                                                                                                      sellTokenIndex: TokenIndex
                                                                                                      sold: BN
                                                                                                      takerFeeRate: number

                                                                                                      Methods

                                                                                                      • getAllowCreatingBorrows(): boolean
                                                                                                      • getAllowCreatingDeposits(): boolean
                                                                                                      • getBoughtUi(group: Group): number
                                                                                                      • getExpiryTimestampInEpochSeconds(): number
                                                                                                      • getMaxBuyUi(group: Group): number
                                                                                                      • getMaxSellUi(group: Group): number
                                                                                                      • getPriceLowerLimitUi(group: Group): number
                                                                                                      • getPricePremium(): number
                                                                                                      • getPriceUpperLimitUi(group: Group): number
                                                                                                      • getSoldUi(group: Group): number
                                                                                                      • getThresholdPriceUi(group: Group): number
                                                                                                      • priceLimitToUi(group: Group, sellTokenPerBuyTokenNative: number): number
                                                                                                      • toString(group: Group): string

                                                                                                      Legend

                                                                                                      • Constructor
                                                                                                      • Property
                                                                                                      • Method
                                                                                                      • Property
                                                                                                      • Method
                                                                                                      • Private property
                                                                                                      • Private method
                                                                                                      • Static property
                                                                                                      • Static method

                                                                                                      Settings

                                                                                                      Theme

                                                                                                      Generated using TypeDoc

                                                                                                      \ No newline at end of file +TokenConditionalSwap | @blockworks-foundation/mango-v4
                                                                                                      Options
                                                                                                      All
                                                                                                      • Public
                                                                                                      • Public/Protected
                                                                                                      • All
                                                                                                      Menu

                                                                                                      Hierarchy

                                                                                                      • TokenConditionalSwap

                                                                                                      Index

                                                                                                      Constructors

                                                                                                      Properties

                                                                                                      allowCreatingBorrows: boolean
                                                                                                      allowCreatingDeposits: boolean
                                                                                                      bought: BN
                                                                                                      buyTokenIndex: TokenIndex
                                                                                                      expiryTimestamp: BN
                                                                                                      hasData: boolean
                                                                                                      id: BN
                                                                                                      makerFeeRate: number
                                                                                                      maxBuy: BN
                                                                                                      maxSell: BN
                                                                                                      priceLowerLimit: number
                                                                                                      pricePremiumRate: number
                                                                                                      priceUpperLimit: number
                                                                                                      sellTokenIndex: TokenIndex
                                                                                                      sold: BN
                                                                                                      takerFeeRate: number

                                                                                                      Methods

                                                                                                      • getAllowCreatingBorrows(): boolean
                                                                                                      • getAllowCreatingDeposits(): boolean
                                                                                                      • getBoughtUi(group: Group): number
                                                                                                      • getExpiryTimestampInEpochSeconds(): number
                                                                                                      • getMaxBuyUi(group: Group): number
                                                                                                      • getMaxSellUi(group: Group): number
                                                                                                      • getPriceLowerLimitUi(group: Group): number
                                                                                                      • getPricePremium(): number
                                                                                                      • getPriceUpperLimitUi(group: Group): number
                                                                                                      • getSoldUi(group: Group): number
                                                                                                      • getThresholdPriceUi(group: Group): number
                                                                                                      • priceLimitToUi(group: Group, sellTokenPerBuyTokenNative: number): number
                                                                                                      • toString(group: Group): string

                                                                                                      Legend

                                                                                                      • Constructor
                                                                                                      • Property
                                                                                                      • Method
                                                                                                      • Property
                                                                                                      • Method
                                                                                                      • Private property
                                                                                                      • Private method
                                                                                                      • Static property
                                                                                                      • Static method

                                                                                                      Settings

                                                                                                      Theme

                                                                                                      Generated using TypeDoc

                                                                                                      \ No newline at end of file diff --git a/ts/client/classes/TokenConditionalSwapDisplayPriceStyle.html b/ts/client/classes/TokenConditionalSwapDisplayPriceStyle.html index 21a3dcf42..35abf702d 100644 --- a/ts/client/classes/TokenConditionalSwapDisplayPriceStyle.html +++ b/ts/client/classes/TokenConditionalSwapDisplayPriceStyle.html @@ -1 +1 @@ -TokenConditionalSwapDisplayPriceStyle | @blockworks-foundation/mango-v4
                                                                                                      Options
                                                                                                      All
                                                                                                      • Public
                                                                                                      • Public/Protected
                                                                                                      • All
                                                                                                      Menu

                                                                                                      Hierarchy

                                                                                                      • TokenConditionalSwapDisplayPriceStyle

                                                                                                      Index

                                                                                                      Constructors

                                                                                                      Properties

                                                                                                      buyTokenPerSellToken: { buyTokenPerSellToken: {} } = ...

                                                                                                      Type declaration

                                                                                                      • buyTokenPerSellToken: {}
                                                                                                        sellTokenPerBuyToken: { sellTokenPerBuyToken: {} } = ...

                                                                                                        Type declaration

                                                                                                        • sellTokenPerBuyToken: {}

                                                                                                          Legend

                                                                                                          • Constructor
                                                                                                          • Property
                                                                                                          • Method
                                                                                                          • Property
                                                                                                          • Method
                                                                                                          • Private property
                                                                                                          • Private method
                                                                                                          • Static property
                                                                                                          • Static method

                                                                                                          Settings

                                                                                                          Theme

                                                                                                          Generated using TypeDoc

                                                                                                          \ No newline at end of file +TokenConditionalSwapDisplayPriceStyle | @blockworks-foundation/mango-v4
                                                                                                          Options
                                                                                                          All
                                                                                                          • Public
                                                                                                          • Public/Protected
                                                                                                          • All
                                                                                                          Menu

                                                                                                          Hierarchy

                                                                                                          • TokenConditionalSwapDisplayPriceStyle

                                                                                                          Index

                                                                                                          Constructors

                                                                                                          Properties

                                                                                                          buyTokenPerSellToken: { buyTokenPerSellToken: {} } = ...

                                                                                                          Type declaration

                                                                                                          • buyTokenPerSellToken: {}
                                                                                                            sellTokenPerBuyToken: { sellTokenPerBuyToken: {} } = ...

                                                                                                            Type declaration

                                                                                                            • sellTokenPerBuyToken: {}

                                                                                                              Legend

                                                                                                              • Constructor
                                                                                                              • Property
                                                                                                              • Method
                                                                                                              • Property
                                                                                                              • Method
                                                                                                              • Private property
                                                                                                              • Private method
                                                                                                              • Static property
                                                                                                              • Static method

                                                                                                              Settings

                                                                                                              Theme

                                                                                                              Generated using TypeDoc

                                                                                                              \ No newline at end of file diff --git a/ts/client/classes/TokenConditionalSwapDto.html b/ts/client/classes/TokenConditionalSwapDto.html index 4a113785c..75dd7a624 100644 --- a/ts/client/classes/TokenConditionalSwapDto.html +++ b/ts/client/classes/TokenConditionalSwapDto.html @@ -1 +1 @@ -TokenConditionalSwapDto | @blockworks-foundation/mango-v4
                                                                                                              Options
                                                                                                              All
                                                                                                              • Public
                                                                                                              • Public/Protected
                                                                                                              • All
                                                                                                              Menu

                                                                                                              Hierarchy

                                                                                                              • TokenConditionalSwapDto

                                                                                                              Index

                                                                                                              Constructors

                                                                                                              • new TokenConditionalSwapDto(id: BN, maxBuy: BN, maxSell: BN, bought: BN, sold: BN, expiryTimestamp: BN, priceLowerLimit: number, priceUpperLimit: number, pricePremiumRate: number, takerFeeRate: number, makerFeeRate: number, buyTokenIndex: number, sellTokenIndex: number, hasData: number, allowCreatingDeposits: number, allowCreatingBorrows: number, priceDisplayStyle: number, intention: number): TokenConditionalSwapDto
                                                                                                              • Parameters

                                                                                                                • id: BN
                                                                                                                • maxBuy: BN
                                                                                                                • maxSell: BN
                                                                                                                • bought: BN
                                                                                                                • sold: BN
                                                                                                                • expiryTimestamp: BN
                                                                                                                • priceLowerLimit: number
                                                                                                                • priceUpperLimit: number
                                                                                                                • pricePremiumRate: number
                                                                                                                • takerFeeRate: number
                                                                                                                • makerFeeRate: number
                                                                                                                • buyTokenIndex: number
                                                                                                                • sellTokenIndex: number
                                                                                                                • hasData: number
                                                                                                                • allowCreatingDeposits: number
                                                                                                                • allowCreatingBorrows: number
                                                                                                                • priceDisplayStyle: number
                                                                                                                • intention: number

                                                                                                                Returns TokenConditionalSwapDto

                                                                                                              Properties

                                                                                                              allowCreatingBorrows: number
                                                                                                              allowCreatingDeposits: number
                                                                                                              bought: BN
                                                                                                              buyTokenIndex: number
                                                                                                              expiryTimestamp: BN
                                                                                                              hasData: number
                                                                                                              id: BN
                                                                                                              intention: number
                                                                                                              makerFeeRate: number
                                                                                                              maxBuy: BN
                                                                                                              maxSell: BN
                                                                                                              priceDisplayStyle: number
                                                                                                              priceLowerLimit: number
                                                                                                              pricePremiumRate: number
                                                                                                              priceUpperLimit: number
                                                                                                              sellTokenIndex: number
                                                                                                              sold: BN
                                                                                                              takerFeeRate: number

                                                                                                              Legend

                                                                                                              • Constructor
                                                                                                              • Property
                                                                                                              • Method
                                                                                                              • Property
                                                                                                              • Method
                                                                                                              • Private property
                                                                                                              • Private method
                                                                                                              • Static property
                                                                                                              • Static method

                                                                                                              Settings

                                                                                                              Theme

                                                                                                              Generated using TypeDoc

                                                                                                              \ No newline at end of file +TokenConditionalSwapDto | @blockworks-foundation/mango-v4
                                                                                                              Options
                                                                                                              All
                                                                                                              • Public
                                                                                                              • Public/Protected
                                                                                                              • All
                                                                                                              Menu

                                                                                                              Hierarchy

                                                                                                              • TokenConditionalSwapDto

                                                                                                              Index

                                                                                                              Constructors

                                                                                                              • new TokenConditionalSwapDto(id: BN, maxBuy: BN, maxSell: BN, bought: BN, sold: BN, expiryTimestamp: BN, priceLowerLimit: number, priceUpperLimit: number, pricePremiumRate: number, takerFeeRate: number, makerFeeRate: number, buyTokenIndex: number, sellTokenIndex: number, hasData: number, allowCreatingDeposits: number, allowCreatingBorrows: number, priceDisplayStyle: number, intention: number): TokenConditionalSwapDto
                                                                                                              • Parameters

                                                                                                                • id: BN
                                                                                                                • maxBuy: BN
                                                                                                                • maxSell: BN
                                                                                                                • bought: BN
                                                                                                                • sold: BN
                                                                                                                • expiryTimestamp: BN
                                                                                                                • priceLowerLimit: number
                                                                                                                • priceUpperLimit: number
                                                                                                                • pricePremiumRate: number
                                                                                                                • takerFeeRate: number
                                                                                                                • makerFeeRate: number
                                                                                                                • buyTokenIndex: number
                                                                                                                • sellTokenIndex: number
                                                                                                                • hasData: number
                                                                                                                • allowCreatingDeposits: number
                                                                                                                • allowCreatingBorrows: number
                                                                                                                • priceDisplayStyle: number
                                                                                                                • intention: number

                                                                                                                Returns TokenConditionalSwapDto

                                                                                                              Properties

                                                                                                              allowCreatingBorrows: number
                                                                                                              allowCreatingDeposits: number
                                                                                                              bought: BN
                                                                                                              buyTokenIndex: number
                                                                                                              expiryTimestamp: BN
                                                                                                              hasData: number
                                                                                                              id: BN
                                                                                                              intention: number
                                                                                                              makerFeeRate: number
                                                                                                              maxBuy: BN
                                                                                                              maxSell: BN
                                                                                                              priceDisplayStyle: number
                                                                                                              priceLowerLimit: number
                                                                                                              pricePremiumRate: number
                                                                                                              priceUpperLimit: number
                                                                                                              sellTokenIndex: number
                                                                                                              sold: BN
                                                                                                              takerFeeRate: number

                                                                                                              Legend

                                                                                                              • Constructor
                                                                                                              • Property
                                                                                                              • Method
                                                                                                              • Property
                                                                                                              • Method
                                                                                                              • Private property
                                                                                                              • Private method
                                                                                                              • Static property
                                                                                                              • Static method

                                                                                                              Settings

                                                                                                              Theme

                                                                                                              Generated using TypeDoc

                                                                                                              \ No newline at end of file diff --git a/ts/client/classes/TokenConditionalSwapIntention.html b/ts/client/classes/TokenConditionalSwapIntention.html index a3890e2c6..4d8b37626 100644 --- a/ts/client/classes/TokenConditionalSwapIntention.html +++ b/ts/client/classes/TokenConditionalSwapIntention.html @@ -1 +1 @@ -TokenConditionalSwapIntention | @blockworks-foundation/mango-v4
                                                                                                              Options
                                                                                                              All
                                                                                                              • Public
                                                                                                              • Public/Protected
                                                                                                              • All
                                                                                                              Menu

                                                                                                              Hierarchy

                                                                                                              • TokenConditionalSwapIntention

                                                                                                              Index

                                                                                                              Constructors

                                                                                                              Properties

                                                                                                              stopLoss: { stopLoss: {} } = ...

                                                                                                              Type declaration

                                                                                                              • stopLoss: {}
                                                                                                                takeProfit: { takeProfit: {} } = ...

                                                                                                                Type declaration

                                                                                                                • takeProfit: {}
                                                                                                                  unknown: { unknown: {} } = ...

                                                                                                                  Type declaration

                                                                                                                  • unknown: {}

                                                                                                                    Legend

                                                                                                                    • Constructor
                                                                                                                    • Property
                                                                                                                    • Method
                                                                                                                    • Property
                                                                                                                    • Method
                                                                                                                    • Private property
                                                                                                                    • Private method
                                                                                                                    • Static property
                                                                                                                    • Static method

                                                                                                                    Settings

                                                                                                                    Theme

                                                                                                                    Generated using TypeDoc

                                                                                                                    \ No newline at end of file +TokenConditionalSwapIntention | @blockworks-foundation/mango-v4
                                                                                                                    Options
                                                                                                                    All
                                                                                                                    • Public
                                                                                                                    • Public/Protected
                                                                                                                    • All
                                                                                                                    Menu

                                                                                                                    Hierarchy

                                                                                                                    • TokenConditionalSwapIntention

                                                                                                                    Index

                                                                                                                    Constructors

                                                                                                                    Properties

                                                                                                                    stopLoss: { stopLoss: {} } = ...

                                                                                                                    Type declaration

                                                                                                                    • stopLoss: {}
                                                                                                                      takeProfit: { takeProfit: {} } = ...

                                                                                                                      Type declaration

                                                                                                                      • takeProfit: {}
                                                                                                                        unknown: { unknown: {} } = ...

                                                                                                                        Type declaration

                                                                                                                        • unknown: {}

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file diff --git a/ts/client/classes/TokenPosition.html b/ts/client/classes/TokenPosition.html index 8e3e78ddf..624168774 100644 --- a/ts/client/classes/TokenPosition.html +++ b/ts/client/classes/TokenPosition.html @@ -1,7 +1,7 @@ -TokenPosition | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • TokenPosition

                                                                                                                          Index

                                                                                                                          Constructors

                                                                                                                          • new TokenPosition(indexedPosition: I80F48, tokenIndex: TokenIndex, inUseCount: number, previousIndex: I80F48, cumulativeDepositInterest: number, cumulativeBorrowInterest: number): TokenPosition

                                                                                                                          Properties

                                                                                                                          cumulativeBorrowInterest: number
                                                                                                                          cumulativeDepositInterest: number
                                                                                                                          inUseCount: number
                                                                                                                          indexedPosition: I80F48
                                                                                                                          previousIndex: I80F48
                                                                                                                          tokenIndex: TokenIndex
                                                                                                                          TokenIndexUnset: number = 65535

                                                                                                                          Methods

                                                                                                                          • balanceUi(bank: Bank): number
                                                                                                                          • borrowsUi(bank: Bank): number
                                                                                                                          • depositsUi(bank: Bank): number
                                                                                                                          • isActive(): boolean
                                                                                                                          • toString(group?: Group, index?: number): string

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file +TokenPosition | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • TokenPosition

                                                                                                                          Index

                                                                                                                          Constructors

                                                                                                                          • new TokenPosition(indexedPosition: I80F48, tokenIndex: TokenIndex, inUseCount: number, previousIndex: I80F48, cumulativeDepositInterest: number, cumulativeBorrowInterest: number): TokenPosition

                                                                                                                          Properties

                                                                                                                          cumulativeBorrowInterest: number
                                                                                                                          cumulativeDepositInterest: number
                                                                                                                          inUseCount: number
                                                                                                                          indexedPosition: I80F48
                                                                                                                          previousIndex: I80F48
                                                                                                                          tokenIndex: TokenIndex
                                                                                                                          TokenIndexUnset: number = 65535

                                                                                                                          Methods

                                                                                                                          • balanceUi(bank: Bank): number
                                                                                                                          • borrowsUi(bank: Bank): number
                                                                                                                          • depositsUi(bank: Bank): number
                                                                                                                          • isActive(): boolean
                                                                                                                          • toString(group?: Group, index?: number): string

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file diff --git a/ts/client/classes/TokenPositionDto.html b/ts/client/classes/TokenPositionDto.html index 4704b89b8..dfe2e4d30 100644 --- a/ts/client/classes/TokenPositionDto.html +++ b/ts/client/classes/TokenPositionDto.html @@ -1 +1 @@ -TokenPositionDto | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • TokenPositionDto

                                                                                                                          Index

                                                                                                                          Constructors

                                                                                                                          • new TokenPositionDto(indexedPosition: I80F48Dto, tokenIndex: number, inUseCount: number, reserved: number[], previousIndex: I80F48Dto, cumulativeDepositInterest: number, cumulativeBorrowInterest: number): TokenPositionDto

                                                                                                                          Properties

                                                                                                                          cumulativeBorrowInterest: number
                                                                                                                          cumulativeDepositInterest: number
                                                                                                                          inUseCount: number
                                                                                                                          indexedPosition: I80F48Dto
                                                                                                                          previousIndex: I80F48Dto
                                                                                                                          reserved: number[]
                                                                                                                          tokenIndex: number

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file +TokenPositionDto | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • TokenPositionDto

                                                                                                                          Index

                                                                                                                          Constructors

                                                                                                                          • new TokenPositionDto(indexedPosition: I80F48Dto, tokenIndex: number, inUseCount: number, reserved: number[], previousIndex: I80F48Dto, cumulativeDepositInterest: number, cumulativeBorrowInterest: number): TokenPositionDto

                                                                                                                          Properties

                                                                                                                          cumulativeBorrowInterest: number
                                                                                                                          cumulativeDepositInterest: number
                                                                                                                          inUseCount: number
                                                                                                                          indexedPosition: I80F48Dto
                                                                                                                          previousIndex: I80F48Dto
                                                                                                                          reserved: number[]
                                                                                                                          tokenIndex: number

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file diff --git a/ts/client/enums/OracleProvider.html b/ts/client/enums/OracleProvider.html index 9255755a7..7c3a52cf3 100644 --- a/ts/client/enums/OracleProvider.html +++ b/ts/client/enums/OracleProvider.html @@ -1 +1 @@ -OracleProvider | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Index

                                                                                                                          Enumeration members

                                                                                                                          Enumeration members

                                                                                                                          Pyth = 0
                                                                                                                          Stub = 2
                                                                                                                          Switchboard = 1

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file +OracleProvider | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Index

                                                                                                                          Enumeration members

                                                                                                                          Enumeration members

                                                                                                                          Pyth = 0
                                                                                                                          Stub = 2
                                                                                                                          Switchboard = 1

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file diff --git a/ts/client/enums/SwapMode.html b/ts/client/enums/SwapMode.html index 98066461e..d4204da4e 100644 --- a/ts/client/enums/SwapMode.html +++ b/ts/client/enums/SwapMode.html @@ -1 +1 @@ -SwapMode | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Index

                                                                                                                          Enumeration members

                                                                                                                          Enumeration members

                                                                                                                          ExactIn = "ExactIn"
                                                                                                                          ExactOut = "ExactOut"

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file +SwapMode | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Index

                                                                                                                          Enumeration members

                                                                                                                          Enumeration members

                                                                                                                          ExactIn = "ExactIn"
                                                                                                                          ExactOut = "ExactOut"

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file diff --git a/ts/client/index.html b/ts/client/index.html index c37faf1eb..a8e30b010 100644 --- a/ts/client/index.html +++ b/ts/client/index.html @@ -1,7 +1,7 @@ -@blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          @blockworks-foundation/mango-v4

                                                                                                                          Index

                                                                                                                          Enumerations

                                                                                                                          Classes

                                                                                                                          Interfaces

                                                                                                                          Type aliases

                                                                                                                          Variables

                                                                                                                          Functions

                                                                                                                          Type aliases

                                                                                                                          AccountInfoMap: Map<string, AccountInfo<Buffer> | null>
                                                                                                                          AmmLabel: "Aldrin" | "Crema" | "Cropper" | "Cykura" | "DeltaFi" | "GooseFX" | "Invariant" | "Lifinity" | "Lifinity V2" | "Marinade" | "Mercurial" | "Meteora" | "Raydium" | "Raydium CLMM" | "Saber" | "Serum" | "Orca" | "Step" | "Penguin" | "Saros" | "Stepn" | "Orca (Whirlpools)" | "Sencha" | "Saber (Decimals)" | "Dradex" | "Balansol" | "Openbook" | "Unknown"
                                                                                                                          MangoV4: { accounts: [{ name: "bank"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 16] } }, { name: "mint"; type: "publicKey" }, { name: "vault"; type: "publicKey" }, { name: "oracle"; type: "publicKey" }, { name: "oracleConfig"; type: { defined: "OracleConfig" } }, { name: "stablePriceModel"; type: { defined: "StablePriceModel" } }, { docs: ["the index used to scale the value of an IndexedPosition", "TODO: should always be >= 0, add checks?"]; name: "depositIndex"; type: { defined: "I80F48" } }, { name: "borrowIndex"; type: { defined: "I80F48" } }, { docs: ["deposits/borrows for this bank", "", "Note that these may become negative. It's perfectly fine for users to borrow one one bank", "(increasing indexed_borrows there) and paying back on another (possibly decreasing indexed_borrows", "below zero).", "", "The vault amount is not deducable from these values.", "", "These become meaningful when summed over all banks (like in update_index_and_rate)."]; name: "indexedDeposits"; type: { defined: "I80F48" } }, { name: "indexedBorrows"; type: { defined: "I80F48" } }, { name: "indexLastUpdated"; type: "u64" }, { name: "bankRateLastUpdated"; type: "u64" }, { name: "avgUtilization"; type: { defined: "I80F48" } }, { name: "adjustmentFactor"; type: { defined: "I80F48" } }, { name: "util0"; type: { defined: "I80F48" } }, { name: "rate0"; type: { defined: "I80F48" } }, { name: "util1"; type: { defined: "I80F48" } }, { name: "rate1"; type: { defined: "I80F48" } }, { name: "maxRate"; type: { defined: "I80F48" } }, { name: "collectedFeesNative"; type: { defined: "I80F48" } }, { name: "loanOriginationFeeRate"; type: { defined: "I80F48" } }, { name: "loanFeeRate"; type: { defined: "I80F48" } }, { name: "maintAssetWeight"; type: { defined: "I80F48" } }, { name: "initAssetWeight"; type: { defined: "I80F48" } }, { name: "maintLiabWeight"; type: { defined: "I80F48" } }, { name: "initLiabWeight"; type: { defined: "I80F48" } }, { name: "liquidationFee"; type: { defined: "I80F48" } }, { name: "dust"; type: { defined: "I80F48" } }, { name: "flashLoanTokenAccountInitial"; type: "u64" }, { name: "flashLoanApprovedAmount"; type: "u64" }, { name: "tokenIndex"; type: "u16" }, { name: "bump"; type: "u8" }, { name: "mintDecimals"; type: "u8" }, { name: "bankNum"; type: "u32" }, { docs: ["Min fraction of deposits that must remain in the vault when borrowing."]; name: "minVaultToDepositsRatio"; type: "f64" }, { docs: ["Size in seconds of a net borrows window"]; name: "netBorrowLimitWindowSizeTs"; type: "u64" }, { docs: ["Timestamp at which the last net borrows window started"]; name: "lastNetBorrowsWindowStartTs"; type: "u64" }, { docs: ["Net borrow limit per window in quote native; set to -1 to disable."]; name: "netBorrowLimitPerWindowQuote"; type: "i64" }, { docs: ["Sum of all deposits and borrows in the last window, in native units."]; name: "netBorrowsInWindow"; type: "i64" }, { docs: ["Soft borrow limit in native quote", "", "Once the borrows on the bank exceed this quote value, init_liab_weight is scaled up.", "Set to f64::MAX to disable.", "", "See scaled_init_liab_weight()."]; name: "borrowWeightScaleStartQuote"; type: "f64" }, { docs: ["Limit for collateral of deposits in native quote", "", "Once the deposits in the bank exceed this quote value, init_asset_weight is scaled", "down to keep the total collateral value constant.", "Set to f64::MAX to disable.", "", "See scaled_init_asset_weight()."]; name: "depositWeightScaleStartQuote"; type: "f64" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }, { name: "feesWithdrawn"; type: "u64" }, { docs: ["Fees for the token conditional swap feature"]; name: "tokenConditionalSwapTakerFeeRate"; type: "f32" }, { name: "tokenConditionalSwapMakerFeeRate"; type: "f32" }, { name: "flashLoanSwapFeeRate"; type: "f32" }, { name: "reserved"; type: { array: ["u8", 2092] } }]; kind: "struct" } }, { name: "group"; type: { fields: [{ name: "creator"; type: "publicKey" }, { name: "groupNum"; type: "u32" }, { name: "admin"; type: "publicKey" }, { name: "fastListingAdmin"; type: "publicKey" }, { name: "mngoTokenIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { name: "insuranceVault"; type: "publicKey" }, { name: "insuranceMint"; type: "publicKey" }, { name: "bump"; type: "u8" }, { name: "testing"; type: "u8" }, { name: "version"; type: "u8" }, { name: "buybackFees"; type: "u8" }, { name: "buybackFeesMngoBonusFactor"; type: "f32" }, { name: "addressLookupTables"; type: { array: ["publicKey", 20] } }, { name: "securityAdmin"; type: "publicKey" }, { name: "depositLimitQuote"; type: "u64" }, { name: "ixGate"; type: "u128" }, { name: "buybackFeesSwapMangoAccount"; type: "publicKey" }, { docs: ["Number of seconds after which fees that could be used with the fees buyback feature expire.", "", "The actual expiry is staggered such that the fees users accumulate are always", "available for at least this interval - but may be available for up to twice this time.", "", "When set to 0, there's no expiry of buyback fees."]; name: "buybackFeesExpiryInterval"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 1824] } }]; kind: "struct" } }, { name: "mangoAccount"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "owner"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 32] } }, { name: "delegate"; type: "publicKey" }, { name: "accountNum"; type: "u32" }, { docs: ["Tracks that this account should be liquidated until init_health >= 0.", "", "Normally accounts can not be liquidated while maint_health >= 0. But when an account", "reaches maint_health < 0, liquidators will call a liquidation instruction and thereby", "set this flag. Now the account may be liquidated until init_health >= 0.", "", "Many actions should be disabled while the account is being liquidated, even if", "its maint health has recovered to positive. Creating new open orders would, for example,", "confuse liquidators."]; name: "beingLiquidated"; type: "u8" }, { docs: ["The account is currently inside a health region marked by HealthRegionBegin...HealthRegionEnd.", "", "Must never be set after a transaction ends."]; name: "inHealthRegion"; type: "u8" }, { name: "bump"; type: "u8" }, { name: "padding"; type: { array: ["u8", 1] } }, { name: "netDeposits"; type: "i64" }, { name: "perpSpotTransfers"; type: "i64" }, { docs: ["Init health as calculated during HealthReginBegin, rounded up."]; name: "healthRegionBeginInitHealth"; type: "i64" }, { name: "frozenUntil"; type: "u64" }, { docs: ["Fees usable with the \"fees buyback\" feature.", "This tracks the ones that accrued in the current expiry interval."]; name: "buybackFeesAccruedCurrent"; type: "u64" }, { docs: ["Fees buyback amount from the previous expiry interval."]; name: "buybackFeesAccruedPrevious"; type: "u64" }, { docs: ["End timestamp of the current expiry interval of the buyback fees amount."]; name: "buybackFeesExpiryTimestamp"; type: "u64" }, { docs: ["Next id to use when adding a token condition swap"]; name: "nextTokenConditionalSwapId"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 200] } }, { name: "headerVersion"; type: "u8" }, { name: "padding3"; type: { array: ["u8", 7] } }, { name: "padding4"; type: "u32" }, { name: "tokens"; type: { vec: { defined: "TokenPosition" } } }, { name: "padding5"; type: "u32" }, { name: "serum3"; type: { vec: { defined: "Serum3Orders" } } }, { name: "padding6"; type: "u32" }, { name: "perps"; type: { vec: { defined: "PerpPosition" } } }, { name: "padding7"; type: "u32" }, { name: "perpOpenOrders"; type: { vec: { defined: "PerpOpenOrder" } } }]; kind: "struct" } }, { name: "mintInfo"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "tokenIndex"; type: "u16" }, { name: "groupInsuranceFund"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }, { name: "mint"; type: "publicKey" }, { name: "banks"; type: { array: ["publicKey", 6] } }, { name: "vaults"; type: { array: ["publicKey", 6] } }, { name: "oracle"; type: "publicKey" }, { name: "registrationTime"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 2560] } }]; kind: "struct" } }, { name: "openbookV2Market"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 2] } }, { name: "name"; type: { array: ["u8", 16] } }, { name: "openbookV2Program"; type: "publicKey" }, { name: "openbookV2MarketExternal"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "bump"; type: "u8" }, { name: "padding2"; type: { array: ["u8", 5] } }, { name: "registrationTime"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 512] } }]; kind: "struct" } }, { name: "openbookV2MarketIndexReservation"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "reserved"; type: { array: ["u8", 38] } }]; kind: "struct" } }, { name: "stubOracle"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "mint"; type: "publicKey" }, { name: "price"; type: { defined: "I80F48" } }, { name: "lastUpdateTs"; type: "i64" }, { name: "lastUpdateSlot"; type: "u64" }, { name: "deviation"; type: { defined: "I80F48" } }, { name: "reserved"; type: { array: ["u8", 104] } }]; kind: "struct" } }, { name: "bookSide"; type: { fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" } }, { name: "eventQueue"; type: { fields: [{ name: "header"; type: { defined: "EventQueueHeader" } }, { name: "buf"; type: { array: [{ defined: "AnyEvent" }, 488] } }, { name: "reserved"; type: { array: ["u8", 64] } }]; kind: "struct" } }, { name: "perpMarket"; type: { fields: [{ name: "group"; type: "publicKey" }, { docs: ["Token index that settlements happen in.", "", "Currently required to be 0, USDC. In the future settlement", "may be allowed to happen in other tokens."]; name: "settleTokenIndex"; type: "u16" }, { docs: ["Index of this perp market. Other data, like the MangoAccount's PerpPosition", "reference this market via this index. Unique for this group's perp markets."]; name: "perpMarketIndex"; type: "u16" }, { docs: ["Field used to contain the trusted_market flag and is now unused."]; name: "blocked1"; type: "u8" }, { docs: ["Is this market covered by the group insurance fund?"]; name: "groupInsuranceFund"; type: "u8" }, { docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { docs: ["Name. Trailing zero bytes are ignored."]; name: "name"; type: { array: ["u8", 16] } }, { docs: ["Address of the BookSide account for bids"]; name: "bids"; type: "publicKey" }, { docs: ["Address of the BookSide account for asks"]; name: "asks"; type: "publicKey" }, { docs: ["Address of the EventQueue account"]; name: "eventQueue"; type: "publicKey" }, { docs: ["Oracle account address"]; name: "oracle"; type: "publicKey" }, { docs: ["Oracle configuration"]; name: "oracleConfig"; type: { defined: "OracleConfig" } }, { docs: ["Maintains a stable price based on the oracle price that is less volatile."]; name: "stablePriceModel"; type: { defined: "StablePriceModel" } }, { docs: ["Number of quote native in a quote lot. Must be a power of 10.", "", "Primarily useful for increasing the tick size on the market: A lot price", "of 1 becomes a native price of quote_lot_size/base_lot_size becomes a", "ui price of quote_lot_size*base_decimals/base_lot_size/quote_decimals."]; name: "quoteLotSize"; type: "i64" }, { docs: ["Number of base native in a base lot. Must be a power of 10.", "", "Example: If base decimals for the underlying asset is 6, base lot size", "is 100 and and base position lots is 10_000 then base position native is", "1_000_000 and base position ui is 1."]; name: "baseLotSize"; type: "i64" }, { docs: ["These weights apply to the base position. The quote position has", "no explicit weight (but may be covered by the overall pnl asset weight)."]; name: "maintBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "initBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "maintBaseLiabWeight"; type: { defined: "I80F48" } }, { name: "initBaseLiabWeight"; type: { defined: "I80F48" } }, { docs: ["Number of base lots currently active in the market. Always >= 0.", "", "Since this counts positive base lots and negative base lots, the more relevant", "number of open base lot pairs is half this value."]; name: "openInterest"; type: "i64" }, { docs: ["Total number of orders seen"]; name: "seqNum"; type: "u64" }, { docs: ["Timestamp in seconds that the market was registered at."]; name: "registrationTime"; type: "u64" }, { docs: ["Minimal funding rate per day, must be <= 0."]; name: "minFunding"; type: { defined: "I80F48" } }, { docs: ["Maximal funding rate per day, must be >= 0."]; name: "maxFunding"; type: { defined: "I80F48" } }, { docs: ["For funding, get the impact price this many base lots deep into the book."]; name: "impactQuantity"; type: "i64" }, { docs: ["Current long funding value. Increasing it means that every long base lot", "needs to pay that amount of quote native in funding.", "", "PerpPosition uses and tracks it settle funding. Updated by the perp", "keeper instruction."]; name: "longFunding"; type: { defined: "I80F48" } }, { docs: ["See long_funding."]; name: "shortFunding"; type: { defined: "I80F48" } }, { docs: ["timestamp that funding was last updated in"]; name: "fundingLastUpdated"; type: "u64" }, { docs: ["Fees", "Fee for base position liquidation"]; name: "baseLiquidationFee"; type: { defined: "I80F48" } }, { docs: ["Fee when matching maker orders. May be negative."]; name: "makerFee"; type: { defined: "I80F48" } }, { docs: ["Fee for taker orders, may not be negative."]; name: "takerFee"; type: { defined: "I80F48" } }, { docs: ["Fees accrued in native quote currency", "these are increased when new fees are paid and decreased when perp_settle_fees is called"]; name: "feesAccrued"; type: { defined: "I80F48" } }, { docs: ["Fees settled in native quote currency", "these are increased when perp_settle_fees is called, and never decreased"]; name: "feesSettled"; type: { defined: "I80F48" } }, { docs: ["Fee (in quote native) to charge for ioc orders"]; name: "feePenalty"; type: "f32" }, { docs: ["In native units of settlement token, given to each settle call above the", "settle_fee_amount_threshold."]; name: "settleFeeFlat"; type: "f32" }, { docs: ["Pnl settlement amount needed to be eligible for the flat fee."]; name: "settleFeeAmountThreshold"; type: "f32" }, { docs: ["Fraction of pnl to pay out as fee if +pnl account has low health."]; name: "settleFeeFractionLowHealth"; type: "f32" }, { docs: ["Controls the strictness of the settle limit.", "Set to a negative value to disable the limit.", "", "This factor applies to the settle limit in two ways", "- for the unrealized pnl settle limit, the factor is multiplied with the stable perp base value", "(i.e. limit_factor * base_native * stable_price)", "- when increasing the realized pnl settle limit (stored per PerpPosition), the factor is", "multiplied with the stable value of the perp pnl being realized", "(i.e. limit_factor * reduced_native * stable_price)", "", "See also PerpPosition::settle_pnl_limit_realized_trade"]; name: "settlePnlLimitFactor"; type: "f32" }, { name: "padding3"; type: { array: ["u8", 4] } }, { docs: ["Window size in seconds for the perp settlement limit"]; name: "settlePnlLimitWindowSizeTs"; type: "u64" }, { docs: ["If true, users may no longer increase their market exposure. Only actions", "that reduce their position are still allowed."]; name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding4"; type: { array: ["u8", 6] } }, { docs: ["Weights for full perp market health, if positive"]; name: "maintOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "initOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "positivePnlLiquidationFee"; type: { defined: "I80F48" } }, { name: "feesWithdrawn"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 1880] } }]; kind: "struct" } }, { name: "serum3Market"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 2] } }, { name: "name"; type: { array: ["u8", 16] } }, { name: "serumProgram"; type: "publicKey" }, { name: "serumMarketExternal"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "bump"; type: "u8" }, { name: "padding2"; type: { array: ["u8", 5] } }, { name: "registrationTime"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 128] } }]; kind: "struct" } }, { name: "serum3MarketIndexReservation"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "reserved"; type: { array: ["u8", 38] } }]; kind: "struct" } }]; errors: [{ code: 6000; msg: ""; name: "SomeError" }, { code: 6001; msg: ""; name: "NotImplementedError" }, { code: 6002; msg: "checked math error"; name: "MathError" }, { code: 6003; msg: ""; name: "UnexpectedOracle" }, { code: 6004; msg: "oracle type cannot be determined"; name: "UnknownOracleType" }, { code: 6005; msg: ""; name: "InvalidFlashLoanTargetCpiProgram" }, { code: 6006; msg: "health must be positive"; name: "HealthMustBePositive" }, { code: 6007; msg: "health must be positive or not decrease"; name: "HealthMustBePositiveOrIncrease" }, { code: 6008; msg: "health must be negative"; name: "HealthMustBeNegative" }, { code: 6009; msg: "the account is bankrupt"; name: "IsBankrupt" }, { code: 6010; msg: "the account is not bankrupt"; name: "IsNotBankrupt" }, { code: 6011; msg: "no free token position index"; name: "NoFreeTokenPositionIndex" }, { code: 6012; msg: "no free serum3 open orders index"; name: "NoFreeSerum3OpenOrdersIndex" }, { code: 6013; msg: "no free perp position index"; name: "NoFreePerpPositionIndex" }, { code: 6014; msg: "serum3 open orders exist already"; name: "Serum3OpenOrdersExistAlready" }, { code: 6015; msg: "bank vault has insufficent funds"; name: "InsufficentBankVaultFunds" }, { code: 6016; msg: "account is currently being liquidated"; name: "BeingLiquidated" }, { code: 6017; msg: "invalid bank"; name: "InvalidBank" }, { code: 6018; msg: "account profitability is mismatched"; name: "ProfitabilityMismatch" }, { code: 6019; msg: "cannot settle with self"; name: "CannotSettleWithSelf" }, { code: 6020; msg: "perp position does not exist"; name: "PerpPositionDoesNotExist" }, { code: 6021; msg: "max settle amount must be greater than zero"; name: "MaxSettleAmountMustBeGreaterThanZero" }, { code: 6022; msg: "the perp position has open orders or unprocessed fill events"; name: "HasOpenPerpOrders" }, { code: 6023; msg: "an oracle does not reach the confidence threshold"; name: "OracleConfidence" }, { code: 6024; msg: "an oracle is stale"; name: "OracleStale" }, { code: 6025; msg: "settlement amount must always be positive"; name: "SettlementAmountMustBePositive" }, { code: 6026; msg: "bank utilization has reached limit"; name: "BankBorrowLimitReached" }, { code: 6027; msg: "bank net borrows has reached limit - this is an intermittent error - the limit will reset regularly"; name: "BankNetBorrowsLimitReached" }, { code: 6028; msg: "token position does not exist"; name: "TokenPositionDoesNotExist" }, { code: 6029; msg: "token deposits into accounts that are being liquidated must bring their health above the init threshold"; name: "DepositsIntoLiquidatingMustRecover" }, { code: 6030; msg: "token is in reduce only mode"; name: "TokenInReduceOnlyMode" }, { code: 6031; msg: "market is in reduce only mode"; name: "MarketInReduceOnlyMode" }, { code: 6032; msg: "group is halted"; name: "GroupIsHalted" }, { code: 6033; msg: "the perp position has non-zero base lots"; name: "PerpHasBaseLots" }, { code: 6034; msg: "there are open or unsettled serum3 orders"; name: "HasOpenOrUnsettledSerum3Orders" }, { code: 6035; msg: "has liquidatable token position"; name: "HasLiquidatableTokenPosition" }, { code: 6036; msg: "has liquidatable perp base position"; name: "HasLiquidatablePerpBasePosition" }, { code: 6037; msg: "has liquidatable positive perp pnl"; name: "HasLiquidatablePositivePerpPnl" }, { code: 6038; msg: "account is frozen"; name: "AccountIsFrozen" }, { code: 6039; msg: "Init Asset Weight can't be negative"; name: "InitAssetWeightCantBeNegative" }, { code: 6040; msg: "has open perp taker fills"; name: "HasOpenPerpTakerFills" }, { code: 6041; msg: "deposit crosses the current group deposit limit"; name: "DepositLimit" }, { code: 6042; msg: "instruction is disabled"; name: "IxIsDisabled" }, { code: 6043; msg: "no liquidatable perp base position"; name: "NoLiquidatablePerpBasePosition" }, { code: 6044; msg: "perp order id not found on the orderbook"; name: "PerpOrderIdNotFound" }, { code: 6045; msg: "HealthRegions allow only specific instructions between Begin and End"; name: "HealthRegionBadInnerInstruction" }, { code: 6046; msg: "token is in force close"; name: "TokenInForceClose" }, { code: 6047; msg: "incorrect number of health accounts"; name: "InvalidHealthAccountCount" }, { code: 6048; msg: "would self trade"; name: "WouldSelfTrade" }, { code: 6049; msg: "conditional token swap price is not in execution range"; name: "TokenConditionalSwapPriceNotInRange" }]; events: [{ fields: [{ index: false; name: "healthCache"; type: { defined: "HealthCache" } }, { index: false; name: "initHealth"; type: { defined: "I80F48" } }, { index: false; name: "maintHealth"; type: { defined: "I80F48" } }, { index: false; name: "equity"; type: { defined: "Equity" } }]; name: "MangoAccountData" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "basePosition"; type: "i64" }, { index: false; name: "quotePosition"; type: "i128" }, { index: false; name: "longSettledFunding"; type: "i128" }, { index: false; name: "shortSettledFunding"; type: "i128" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }]; name: "PerpBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "indexedPosition"; type: "i128" }, { index: false; name: "depositIndex"; type: "i128" }, { index: false; name: "borrowIndex"; type: "i128" }]; name: "TokenBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenLoanDetails"; type: { vec: { defined: "FlashLoanTokenDetail" } } }, { index: false; name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "FlashLoanLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenLoanDetails"; type: { vec: { defined: "FlashLoanTokenDetailV2" } } }, { index: false; name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "FlashLoanLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "signer"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "quantity"; type: "u64" }, { index: false; name: "price"; type: "i128" }]; name: "WithdrawLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "signer"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "quantity"; type: "u64" }, { index: false; name: "price"; type: "i128" }]; name: "DepositLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerOrderId"; type: "u128" }, { index: false; name: "makerFee"; type: "i128" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerOrderId"; type: "u128" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "i128" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }]; name: "FillLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerClientOrderId"; type: "u64" }, { index: false; name: "makerFee"; type: "f32" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "f32" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }]; name: "FillLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerClientOrderId"; type: "u64" }, { index: false; name: "makerFee"; type: "f32" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "f32" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }, { index: false; name: "makerClosedPnl"; type: "f64" }, { index: false; name: "takerClosedPnl"; type: "f64" }]; name: "FillLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "oracleSlot"; type: "u64" }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "feesAccrued"; type: "i128" }, { index: false; name: "feesSettled"; type: "i128" }, { index: false; name: "openInterest"; type: "i64" }, { index: false; name: "instantaneousFundingRate"; type: "i128" }]; name: "PerpUpdateFundingLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "oracleSlot"; type: "u64" }, { index: false; name: "oracleConfidence"; type: "i128" }, { index: false; name: "oracleType"; type: { defined: "OracleType" } }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "feesAccrued"; type: "i128" }, { index: false; name: "feesSettled"; type: "i128" }, { index: false; name: "openInterest"; type: "i64" }, { index: false; name: "instantaneousFundingRate"; type: "i128" }]; name: "PerpUpdateFundingLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "depositIndex"; type: "i128" }, { index: false; name: "borrowIndex"; type: "i128" }, { index: false; name: "avgUtilization"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "collectedFees"; type: "i128" }, { index: false; name: "loanFeeRate"; type: "i128" }, { index: false; name: "totalBorrows"; type: "i128" }, { index: false; name: "totalDeposits"; type: "i128" }, { index: false; name: "borrowRate"; type: "i128" }, { index: false; name: "depositRate"; type: "i128" }]; name: "UpdateIndexLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "rate0"; type: "i128" }, { index: false; name: "rate1"; type: "i128" }, { index: false; name: "maxRate"; type: "i128" }]; name: "UpdateRateLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransfer"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "bankruptcy"; type: "bool" }]; name: "TokenLiqWithTokenLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "baseTotal"; type: "u64" }, { index: false; name: "baseFree"; type: "u64" }, { index: false; name: "quoteTotal"; type: "u64" }, { index: false; name: "quoteFree"; type: "u64" }, { index: false; name: "referrerRebatesAccrued"; type: "u64" }]; name: "Serum3OpenOrdersBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "baseTotal"; type: "u64" }, { index: false; name: "baseFree"; type: "u64" }, { index: false; name: "quoteTotal"; type: "u64" }, { index: false; name: "quoteFree"; type: "u64" }, { index: false; name: "referrerRebatesAccrued"; type: "u64" }]; name: "Serum3OpenOrdersBalanceLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "loanOriginationFee"; type: "i128" }, { index: false; name: "instruction"; type: { defined: "LoanOriginationFeeInstruction" } }]; name: "WithdrawLoanOriginationFeeLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "loanAmount"; type: "i128" }, { index: false; name: "loanOriginationFee"; type: "i128" }, { index: false; name: "instruction"; type: { defined: "LoanOriginationFeeInstruction" } }, { index: false; name: "price"; type: { option: "i128" } }]; name: "WithdrawLoanLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "initialLiabNative"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "insuranceTokenIndex"; type: "u16" }, { index: false; name: "insuranceTransfer"; type: "i128" }, { index: false; name: "socializedLoss"; type: "i128" }, { index: false; name: "startingLiabDepositIndex"; type: "i128" }, { index: false; name: "endingLiabDepositIndex"; type: "i128" }]; name: "TokenLiqBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "cumulativeDepositInterest"; type: "f64" }, { index: false; name: "cumulativeBorrowInterest"; type: "f64" }]; name: "DeactivateTokenPositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "cumulativeLongFunding"; type: "f64" }, { index: false; name: "cumulativeShortFunding"; type: "f64" }, { index: false; name: "makerVolume"; type: "u64" }, { index: false; name: "takerVolume"; type: "u64" }, { index: false; name: "perpSpotTransfers"; type: "i64" }]; name: "DeactivatePerpPositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mint"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "mintDecimals"; type: "u8" }, { index: false; name: "oracle"; type: "publicKey" }, { index: false; name: "mintInfo"; type: "publicKey" }]; name: "TokenMetaDataLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarket"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "baseDecimals"; type: "u8" }, { index: false; name: "baseLotSize"; type: "i64" }, { index: false; name: "quoteLotSize"; type: "i64" }, { index: false; name: "oracle"; type: "publicKey" }]; name: "PerpMarketMetaDataLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "serumMarket"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "serumProgram"; type: "publicKey" }, { index: false; name: "serumProgramExternal"; type: "publicKey" }]; name: "Serum3RegisterMarketLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "baseTransfer"; type: "i64" }, { index: false; name: "quoteTransfer"; type: "i128" }, { index: false; name: "pnlTransfer"; type: "i128" }, { index: false; name: "pnlSettleLimitTransfer"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "PerpLiqBaseOrPositivePnlLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "insuranceTransfer"; type: "i128" }, { index: false; name: "socializedLoss"; type: "i128" }, { index: false; name: "startingLongFunding"; type: "i128" }, { index: false; name: "startingShortFunding"; type: "i128" }, { index: false; name: "endingLongFunding"; type: "i128" }, { index: false; name: "endingShortFunding"; type: "i128" }]; name: "PerpLiqBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }]; name: "PerpLiqNegativePnlOrBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccountA"; type: "publicKey" }, { index: false; name: "mangoAccountB"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }, { index: false; name: "settler"; type: "publicKey" }, { index: false; name: "fee"; type: "i128" }]; name: "PerpSettlePnlLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }]; name: "PerpSettleFeesLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "buybackFees"; type: "i128" }, { index: false; name: "buybackMngo"; type: "i128" }, { index: false; name: "mngoBuybackPrice"; type: "i128" }, { index: false; name: "oraclePrice"; type: "i128" }]; name: "AccountBuybackFeesWithMngoLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "seqNum"; type: "u64" }]; name: "FilledPerpOrderLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "totalBaseLotsTaken"; type: "i64" }, { index: false; name: "totalBaseLotsDecremented"; type: "i64" }, { index: false; name: "totalQuoteLotsTaken"; type: "i64" }, { index: false; name: "totalQuoteLotsDecremented"; type: "i64" }, { index: false; name: "takerFeesPaid"; type: "i128" }, { index: false; name: "feePenalty"; type: "i128" }]; name: "PerpTakerTradeLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "accountA"; type: "publicKey" }, { index: false; name: "accountB"; type: "publicKey" }, { index: false; name: "baseTransfer"; type: "i64" }, { index: false; name: "quoteTransfer"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "PerpForceClosePositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransfer"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "feeFactor"; type: "i128" }]; name: "TokenForceCloseBorrowsWithTokenLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }, { index: false; name: "maxBuy"; type: "u64" }, { index: false; name: "maxSell"; type: "u64" }, { index: false; name: "expiryTimestamp"; type: "u64" }, { index: false; name: "priceLowerLimit"; type: "f64" }, { index: false; name: "priceUpperLimit"; type: "f64" }, { index: false; name: "pricePremiumRate"; type: "f64" }, { index: false; name: "takerFeeRate"; type: "f32" }, { index: false; name: "makerFeeRate"; type: "f32" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "allowCreatingDeposits"; type: "bool" }, { index: false; name: "allowCreatingBorrows"; type: "bool" }]; name: "TokenConditionalSwapCreateLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }, { index: false; name: "maxBuy"; type: "u64" }, { index: false; name: "maxSell"; type: "u64" }, { index: false; name: "expiryTimestamp"; type: "u64" }, { index: false; name: "priceLowerLimit"; type: "f64" }, { index: false; name: "priceUpperLimit"; type: "f64" }, { index: false; name: "pricePremiumRate"; type: "f64" }, { index: false; name: "takerFeeRate"; type: "f32" }, { index: false; name: "makerFeeRate"; type: "f32" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "allowCreatingDeposits"; type: "bool" }, { index: false; name: "allowCreatingBorrows"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }]; name: "TokenConditionalSwapCreateLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "buyAmount"; type: "u64" }, { index: false; name: "sellAmount"; type: "u64" }, { index: false; name: "makerFee"; type: "u64" }, { index: false; name: "takerFee"; type: "u64" }, { index: false; name: "buyTokenPrice"; type: "i128" }, { index: false; name: "sellTokenPrice"; type: "i128" }, { index: false; name: "closed"; type: "bool" }]; name: "TokenConditionalSwapTriggerLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "buyAmount"; type: "u64" }, { index: false; name: "sellAmount"; type: "u64" }, { index: false; name: "makerFee"; type: "u64" }, { index: false; name: "takerFee"; type: "u64" }, { index: false; name: "buyTokenPrice"; type: "i128" }, { index: false; name: "sellTokenPrice"; type: "i128" }, { index: false; name: "closed"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }]; name: "TokenConditionalSwapTriggerLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }]; name: "TokenConditionalSwapCancelLog" }]; instructions: [{ accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: true; name: "admin" }]; args: []; name: "adminTokenWithdrawFees" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: true; name: "admin" }]; args: []; name: "adminPerpWithdrawFees" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Group" }, { kind: "account"; path: "creator"; type: "publicKey" }, { kind: "arg"; path: "group_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "creator" }, { isMut: false; isSigner: false; name: "insuranceMint" }, { isMut: true; isSigner: false; name: "insuranceVault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "InsuranceVault" }, { kind: "account"; path: "group"; type: "publicKey" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "groupNum"; type: "u32" }, { name: "testing"; type: "u8" }, { name: "version"; type: "u8" }]; name: "groupCreate" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "adminOpt"; type: { option: "publicKey" } }, { name: "fastListingAdminOpt"; type: { option: "publicKey" } }, { name: "securityAdminOpt"; type: { option: "publicKey" } }, { name: "testingOpt"; type: { option: "u8" } }, { name: "versionOpt"; type: { option: "u8" } }, { name: "depositLimitQuoteOpt"; type: { option: "u64" } }, { name: "buybackFeesOpt"; type: { option: "bool" } }, { name: "buybackFeesBonusFactorOpt"; type: { option: "f32" } }, { name: "buybackFeesSwapMangoAccountOpt"; type: { option: "publicKey" } }, { name: "mngoTokenIndexOpt"; type: { option: "u16" } }, { name: "buybackFeesExpiryIntervalOpt"; type: { option: "u64" } }]; name: "groupEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault", "admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "destination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }]; name: "groupWithdrawInsuranceFund" }, { accounts: [{ isMut: true; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "ixGate"; type: "u128" }]; name: "ixGateSet" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin", "insurance_vault"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "groupClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "mintInfo"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MintInfo" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "mint"; type: "publicKey" }] } }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oracleConfig"; type: { defined: "OracleConfigParams" } }, { name: "interestRateParams"; type: { defined: "InterestRateParams" } }, { name: "loanFeeRate"; type: "f32" }, { name: "loanOriginationFeeRate"; type: "f32" }, { name: "maintAssetWeight"; type: "f32" }, { name: "initAssetWeight"; type: "f32" }, { name: "maintLiabWeight"; type: "f32" }, { name: "initLiabWeight"; type: "f32" }, { name: "liquidationFee"; type: "f32" }, { name: "stablePriceDelayIntervalSeconds"; type: "u32" }, { name: "stablePriceDelayGrowthLimit"; type: "f32" }, { name: "stablePriceGrowthLimit"; type: "f32" }, { name: "minVaultToDepositsRatio"; type: "f64" }, { name: "netBorrowLimitWindowSizeTs"; type: "u64" }, { name: "netBorrowLimitPerWindowQuote"; type: "i64" }, { name: "borrowWeightScaleStartQuote"; type: "f64" }, { name: "depositWeightScaleStartQuote"; type: "f64" }, { name: "reduceOnly"; type: "u8" }, { name: "tokenConditionalSwapTakerFeeRate"; type: "f32" }, { name: "tokenConditionalSwapMakerFeeRate"; type: "f32" }, { name: "flashLoanSwapFeeRate"; type: "f32" }]; name: "tokenRegister" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "mintInfo"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MintInfo" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "mint"; type: "publicKey" }] } }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "name"; type: "string" }]; name: "tokenRegisterTrustless" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group"] }, { docs: ["The oracle account is optional and only used when reset_stable_price is set.", ""]; isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "oracleOpt"; type: { option: "publicKey" } }, { name: "oracleConfigOpt"; type: { option: { defined: "OracleConfigParams" } } }, { name: "groupInsuranceFundOpt"; type: { option: "bool" } }, { name: "interestRateParamsOpt"; type: { option: { defined: "InterestRateParams" } } }, { name: "loanFeeRateOpt"; type: { option: "f32" } }, { name: "loanOriginationFeeRateOpt"; type: { option: "f32" } }, { name: "maintAssetWeightOpt"; type: { option: "f32" } }, { name: "initAssetWeightOpt"; type: { option: "f32" } }, { name: "maintLiabWeightOpt"; type: { option: "f32" } }, { name: "initLiabWeightOpt"; type: { option: "f32" } }, { name: "liquidationFeeOpt"; type: { option: "f32" } }, { name: "stablePriceDelayIntervalSecondsOpt"; type: { option: "u32" } }, { name: "stablePriceDelayGrowthLimitOpt"; type: { option: "f32" } }, { name: "stablePriceGrowthLimitOpt"; type: { option: "f32" } }, { name: "minVaultToDepositsRatioOpt"; type: { option: "f64" } }, { name: "netBorrowLimitPerWindowQuoteOpt"; type: { option: "i64" } }, { name: "netBorrowLimitWindowSizeTsOpt"; type: { option: "u64" } }, { name: "borrowWeightScaleStartQuoteOpt"; type: { option: "f64" } }, { name: "depositWeightScaleStartQuoteOpt"; type: { option: "f64" } }, { name: "resetStablePrice"; type: "bool" }, { name: "resetNetBorrowLimit"; type: "bool" }, { name: "reduceOnlyOpt"; type: { option: "u8" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "tokenConditionalSwapTakerFeeRateOpt"; type: { option: "f32" } }, { name: "tokenConditionalSwapMakerFeeRateOpt"; type: { option: "f32" } }, { name: "flashLoanSwapFeeRateOpt"; type: { option: "f32" } }]; name: "tokenEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: false; isSigner: false; name: "existingBank"; relations: ["group", "mint"] }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "arg"; path: "bank_num"; type: "u32" }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "arg"; path: "bank_num"; type: "u32" }] } }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group", "mint"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "bankNum"; type: "u32" }]; name: "tokenAddBank" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "dustVault" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "tokenDeregister" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "mintInfo"; relations: ["oracle", "group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: false; isSigner: false; name: "instructions" }]; args: []; name: "tokenUpdateIndexAndRate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MangoAccount" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "owner"; type: "publicKey" }, { kind: "arg"; path: "account_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "accountNum"; type: "u32" }, { name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "name"; type: "string" }]; name: "accountCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }]; name: "accountExpand" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "tokenConditionalSwapCount"; type: "u8" }]; name: "accountExpandV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }]; args: [{ name: "nameOpt"; type: { option: "string" } }, { name: "delegateOpt"; type: { option: "publicKey" } }, { name: "temporaryDelegateOpt"; type: { option: "publicKey" } }, { name: "temporaryDelegateExpiryOpt"; type: { option: "u64" } }]; name: "accountEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "freeze"; type: "bool" }]; name: "accountToggleFreeze" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "forceClose"; type: "bool" }]; name: "accountClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "daoAccount"; relations: ["group"] }, { isMut: true; isSigner: false; name: "mngoBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "mngoOracle" }, { isMut: true; isSigner: false; name: "feesBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "feesOracle" }]; args: [{ name: "maxBuybackUsd"; type: "u64" }]; name: "accountBuybackFeesWithMngo" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: false; name: "oracle"; pda: { seeds: [{ kind: "const"; type: "string"; value: "StubOracle" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "mint"; type: "publicKey" }] } }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "price"; type: { defined: "I80F48" } }]; name: "stubOracleCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "stubOracleClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }]; args: [{ name: "price"; type: { defined: "I80F48" } }]; name: "stubOracleSet" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }]; args: [{ name: "price"; type: { defined: "I80F48" } }, { name: "lastUpdateSlot"; type: "u64" }, { name: "deviation"; type: { defined: "I80F48" } }]; name: "stubOracleSetTest" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: true; name: "tokenAuthority" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "reduceOnly"; type: "bool" }]; name: "tokenDeposit" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: true; name: "tokenAuthority" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "reduceOnly"; type: "bool" }]; name: "tokenDepositIntoExisting" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "allowBorrow"; type: "bool" }]; name: "tokenWithdraw" }, { accounts: [{ isMut: false; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { docs: ["Instructions Sysvar for instruction introspection"]; isMut: false; isSigner: false; name: "instructions" }]; args: [{ name: "loanAmounts"; type: { vec: "u64" } }]; name: "flashLoanBegin" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "flashLoanEnd" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "numLoans"; type: "u8" }, { name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "flashLoanEndV2" }, { accounts: [{ docs: ["Instructions Sysvar for instruction introspection"]; isMut: false; isSigner: false; name: "instructions" }, { isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }]; args: []; name: "healthRegionBegin" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }]; args: []; name: "healthRegionEnd" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "serumMarket"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3Market" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "serum_market_external"; type: "publicKey" }] } }, { isMut: true; isSigner: false; name: "indexReservation"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3Index" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "market_index"; type: "u16" }] } }, { isMut: false; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "marketIndex"; type: "u16" }, { name: "name"; type: "string" }]; docs: ["", "Serum", ""]; name: "serum3RegisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "market"; relations: ["group"] }]; args: [{ name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "nameOpt"; type: { option: "string" } }]; name: "serum3EditMarket" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "serumMarket"; relations: ["group"] }, { isMut: true; isSigner: false; name: "indexReservation"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "serum3DeregisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "openOrders"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3OO" }, { kind: "account"; path: "account"; type: "publicKey" }, { kind: "account"; path: "serum_market"; type: "publicKey" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: []; name: "serum3CreateOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: true; isSigner: false; name: "solDestination" }]; args: []; name: "serum3CloseOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }, { isMut: true; isSigner: false; name: "marketRequestQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerVault" }, { isMut: false; isSigner: false; name: "payerOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: { defined: "Serum3Side" } }, { name: "limitPrice"; type: "u64" }, { name: "maxBaseQty"; type: "u64" }, { name: "maxNativeQuoteQtyIncludingFees"; type: "u64" }, { name: "selfTradeBehavior"; type: { defined: "Serum3SelfTradeBehavior" } }, { name: "orderType"; type: { defined: "Serum3OrderType" } }, { name: "clientOrderId"; type: "u64" }, { name: "limit"; type: "u16" }]; name: "serum3PlaceOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }]; args: [{ name: "side"; type: { defined: "Serum3Side" } }, { name: "orderId"; type: "u128" }]; name: "serum3CancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }]; args: [{ name: "limit"; type: "u8" }]; name: "serum3CancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; docs: ["Deprecated instruction that used to settles all free funds from the OpenOrders account", "into the MangoAccount.", "", "Any serum \"referrer rebates\" (ui fees) are considered Mango fees."]; name: "serum3SettleFunds" }, { accounts: [{ accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; name: "v1" }, { accounts: [{ isMut: false; isSigner: false; name: "quoteOracle" }, { isMut: false; isSigner: false; name: "baseOracle" }]; name: "v2" }]; args: [{ name: "feesToDao"; type: "bool" }]; docs: ["Like Serum3SettleFunds, but `fees_to_dao` determines if referrer rebates are considered fees", "or are credited to the MangoAccount."]; name: "serum3SettleFundsV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "limit"; type: "u8" }]; name: "serum3LiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "liqTokenWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: false; isSigner: false; name: "liabMintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "liqTokenBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "tokenLiqWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: "u64" }]; name: "tokenForceCloseBorrowsWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: false; isSigner: false; name: "liabMintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "tokenLiqBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "perpMarket"; pda: { seeds: [{ kind: "const"; type: "string"; value: "PerpMarket" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "perp_market_index"; type: "u16" }] } }, { docs: ["Accounts are initialised by client,", "anchor discriminator is set first when ix exits,"]; isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "perpMarketIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oracleConfig"; type: { defined: "OracleConfigParams" } }, { name: "baseDecimals"; type: "u8" }, { name: "quoteLotSize"; type: "i64" }, { name: "baseLotSize"; type: "i64" }, { name: "maintBaseAssetWeight"; type: "f32" }, { name: "initBaseAssetWeight"; type: "f32" }, { name: "maintBaseLiabWeight"; type: "f32" }, { name: "initBaseLiabWeight"; type: "f32" }, { name: "maintOverallAssetWeight"; type: "f32" }, { name: "initOverallAssetWeight"; type: "f32" }, { name: "baseLiquidationFee"; type: "f32" }, { name: "makerFee"; type: "f32" }, { name: "takerFee"; type: "f32" }, { name: "minFunding"; type: "f32" }, { name: "maxFunding"; type: "f32" }, { name: "impactQuantity"; type: "i64" }, { name: "groupInsuranceFund"; type: "bool" }, { name: "feePenalty"; type: "f32" }, { name: "settleFeeFlat"; type: "f32" }, { name: "settleFeeAmountThreshold"; type: "f32" }, { name: "settleFeeFractionLowHealth"; type: "f32" }, { name: "settleTokenIndex"; type: "u16" }, { name: "settlePnlLimitFactor"; type: "f32" }, { name: "settlePnlLimitWindowSizeTs"; type: "u64" }, { name: "positivePnlLiquidationFee"; type: "f32" }]; docs: ["", "Perps", ""]; name: "perpCreateMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group"] }, { docs: ["The oracle account is optional and only used when reset_stable_price is set.", ""]; isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "oracleOpt"; type: { option: "publicKey" } }, { name: "oracleConfigOpt"; type: { option: { defined: "OracleConfigParams" } } }, { name: "baseDecimalsOpt"; type: { option: "u8" } }, { name: "maintBaseAssetWeightOpt"; type: { option: "f32" } }, { name: "initBaseAssetWeightOpt"; type: { option: "f32" } }, { name: "maintBaseLiabWeightOpt"; type: { option: "f32" } }, { name: "initBaseLiabWeightOpt"; type: { option: "f32" } }, { name: "maintOverallAssetWeightOpt"; type: { option: "f32" } }, { name: "initOverallAssetWeightOpt"; type: { option: "f32" } }, { name: "baseLiquidationFeeOpt"; type: { option: "f32" } }, { name: "makerFeeOpt"; type: { option: "f32" } }, { name: "takerFeeOpt"; type: { option: "f32" } }, { name: "minFundingOpt"; type: { option: "f32" } }, { name: "maxFundingOpt"; type: { option: "f32" } }, { name: "impactQuantityOpt"; type: { option: "i64" } }, { name: "groupInsuranceFundOpt"; type: { option: "bool" } }, { name: "feePenaltyOpt"; type: { option: "f32" } }, { name: "settleFeeFlatOpt"; type: { option: "f32" } }, { name: "settleFeeAmountThresholdOpt"; type: { option: "f32" } }, { name: "settleFeeFractionLowHealthOpt"; type: { option: "f32" } }, { name: "stablePriceDelayIntervalSecondsOpt"; type: { option: "u32" } }, { name: "stablePriceDelayGrowthLimitOpt"; type: { option: "f32" } }, { name: "stablePriceGrowthLimitOpt"; type: { option: "f32" } }, { name: "settlePnlLimitFactorOpt"; type: { option: "f32" } }, { name: "settlePnlLimitWindowSizeTsOpt"; type: { option: "u64" } }, { name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "resetStablePrice"; type: "bool" }, { name: "positivePnlLiquidationFeeOpt"; type: { option: "f32" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "forceCloseOpt"; type: { option: "bool" } }]; name: "perpEditMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "perpCloseMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "perpMarket"; relations: ["group"] }]; args: []; name: "perpDeactivatePosition" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceLots"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }]; name: "perpPlaceOrder"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceLots"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "selfTradeBehavior"; type: { defined: "SelfTradeBehavior" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }]; name: "perpPlaceOrderV2"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceOffsetLots"; type: "i64" }, { name: "pegLimit"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }, { name: "maxOracleStalenessSlots"; type: "i32" }]; name: "perpPlaceOrderPegged"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceOffsetLots"; type: "i64" }, { name: "pegLimit"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "selfTradeBehavior"; type: { defined: "SelfTradeBehavior" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }, { name: "maxOracleStalenessSlots"; type: "i32" }]; name: "perpPlaceOrderPeggedV2"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "orderId"; type: "u128" }]; name: "perpCancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "clientOrderId"; type: "u64" }]; name: "perpCancelOrderByClientOrderId" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }]; name: "perpCancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "sideOption"; type: { option: { defined: "Side" } } }, { name: "limit"; type: "u8" }]; name: "perpCancelAllOrdersBySide" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "event_queue"] }, { isMut: true; isSigner: false; name: "eventQueue" }]; args: [{ name: "limit"; type: "u64" }]; name: "perpConsumeEvents" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: false; isSigner: false; name: "oracle" }]; args: []; name: "perpUpdateFunding" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "settler"; relations: ["group"] }, { isMut: false; isSigner: true; name: "settlerOwner" }, { isMut: false; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "accountA"; relations: ["group"] }, { isMut: true; isSigner: false; name: "accountB"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: []; name: "perpSettlePnl" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "accountA"; relations: ["group"] }, { isMut: true; isSigner: false; name: "accountB"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }]; args: []; name: "perpForceClosePosition" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: [{ name: "maxSettleAmount"; type: "u64" }]; name: "perpSettleFees" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: [{ name: "maxBaseTransfer"; type: "i64" }, { name: "maxPnlTransfer"; type: "u64" }]; name: "perpLiqBaseOrPositivePnl" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }]; name: "perpLiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: "u64" }]; name: "perpLiqNegativePnlOrBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "insuranceBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "insuranceBankVault" }, { isMut: false; isSigner: false; name: "insuranceOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: "u64" }]; name: "perpLiqNegativePnlOrBankruptcyV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceLowerLimit"; type: "f64" }, { name: "priceUpperLimit"; type: "f64" }, { name: "pricePremiumRate"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }]; name: "tokenConditionalSwapCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceLowerLimit"; type: "f64" }, { name: "priceUpperLimit"; type: "f64" }, { name: "pricePremiumRate"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }, { name: "displayPriceStyle"; type: { defined: "TokenConditionalSwapDisplayPriceStyle" } }, { name: "intention"; type: { defined: "TokenConditionalSwapIntention" } }]; name: "tokenConditionalSwapCreateV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { docs: ["The bank's token_index is checked at #1"]; isMut: true; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }]; name: "tokenConditionalSwapCancel" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorAuthority" }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }, { name: "maxBuyTokenToLiqee"; type: "u64" }, { name: "maxSellTokenToLiqor"; type: "u64" }]; name: "tokenConditionalSwapTrigger" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "addressLookupTable" }]; args: [{ name: "index"; type: "u8" }]; name: "altSet" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: true; name: "payer" }, { isMut: true; isSigner: false; name: "addressLookupTable" }]; args: [{ name: "index"; type: "u8" }, { name: "newAddresses"; type: { vec: "publicKey" } }]; name: "altExtend" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "account"; relations: ["group"] }]; args: []; name: "computeAccountData" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "openbookV2Market"; pda: { seeds: [{ kind: "const"; type: "string"; value: "OpenbookV2Market" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "openbook_v2_market_external"; type: "publicKey" }] } }, { isMut: true; isSigner: false; name: "indexReservation"; pda: { seeds: [{ kind: "const"; type: "string"; value: "OpenbookV2Index" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "market_index"; type: "u16" }] } }, { isMut: false; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "marketIndex"; type: "u16" }, { name: "name"; type: "string" }]; docs: ["", "OpenbookV2", ""]; name: "openbookV2RegisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "market"; relations: ["group"] }]; args: [{ name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "forceCloseOpt"; type: { option: "bool" } }]; name: "openbookV2EditMarket" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "openbookV2Market"; relations: ["group"] }, { isMut: true; isSigner: false; name: "indexReservation"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "openbookV2DeregisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "openOrders"; pda: { programId: { kind: "account"; path: "openbook_v2_program"; type: "publicKey" }; seeds: [{ kind: "const"; type: "string"; value: "OpenOrders" }, { kind: "account"; path: "openbook_v2_market"; type: "publicKey" }, { kind: "account"; path: "openbook_v2_market_external"; type: "publicKey" }, { kind: "arg"; path: "account_num"; type: "u32" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "accountNum"; type: "u32" }]; name: "openbookV2CreateOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: true; isSigner: false; name: "solDestination" }]; args: []; name: "openbookV2CloseOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market" }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks", "event_queue"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerVault" }, { isMut: false; isSigner: false; name: "payerOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: "u8" }, { name: "limitPrice"; type: "u64" }, { name: "maxBaseQty"; type: "u64" }, { name: "maxNativeQuoteQtyIncludingFees"; type: "u64" }, { name: "selfTradeBehavior"; type: "u8" }, { name: "orderType"; type: "u8" }, { name: "clientOrderId"; type: "u64" }, { name: "limit"; type: "u16" }]; name: "openbookV2PlaceOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks", "event_queue"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: false; name: "marketRequestQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerVault" }, { isMut: false; isSigner: false; name: "payerOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: "u8" }, { name: "limitPrice"; type: "u64" }, { name: "maxBaseQty"; type: "u64" }, { name: "maxNativeQuoteQtyIncludingFees"; type: "u64" }, { name: "selfTradeBehavior"; type: "u8" }, { name: "clientOrderId"; type: "u64" }, { name: "limit"; type: "u16" }]; name: "openbookV2PlaceTakerOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "side"; type: "u8" }, { name: "orderId"; type: "u128" }]; name: "openbookV2CancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "quoteOracle" }, { isMut: false; isSigner: false; name: "baseOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "feesToDao"; type: "bool" }]; name: "openbookV2SettleFunds" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks", "event_queue"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "limit"; type: "u8" }]; name: "openbookV2LiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }]; name: "openbookV2CancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "dummy" }]; args: []; docs: ["", "benchmark", ""]; name: "benchmark" }]; name: "mango_v4"; types: [{ name: "InterestRateParams"; type: { fields: [{ name: "util0"; type: "f32" }, { name: "rate0"; type: "f32" }, { name: "util1"; type: "f32" }, { name: "rate1"; type: "f32" }, { name: "maxRate"; type: "f32" }, { name: "adjustmentFactor"; type: "f32" }]; kind: "struct" } }, { name: "Equity"; type: { fields: [{ name: "tokens"; type: { vec: { defined: "TokenEquity" } } }, { name: "perps"; type: { vec: { defined: "PerpEquity" } } }]; kind: "struct" } }, { name: "TokenEquity"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "value"; type: { defined: "I80F48" } }]; kind: "struct" } }, { name: "PerpEquity"; type: { fields: [{ name: "perpMarketIndex"; type: "u16" }, { name: "value"; type: { defined: "I80F48" } }]; kind: "struct" } }, { docs: ["Information about prices for a bank or perp market."]; name: "Prices"; type: { fields: [{ docs: ["The current oracle price"]; name: "oracle"; type: { defined: "I80F48" } }, { docs: ["A \"stable\" price, provided by StablePriceModel"]; name: "stable"; type: { defined: "I80F48" } }]; kind: "struct" } }, { name: "TokenInfo"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "maintAssetWeight"; type: { defined: "I80F48" } }, { name: "initAssetWeight"; type: { defined: "I80F48" } }, { name: "initScaledAssetWeight"; type: { defined: "I80F48" } }, { name: "maintLiabWeight"; type: { defined: "I80F48" } }, { name: "initLiabWeight"; type: { defined: "I80F48" } }, { name: "initScaledLiabWeight"; type: { defined: "I80F48" } }, { name: "prices"; type: { defined: "Prices" } }, { docs: ["Freely available spot balance for the token.", "", "Includes TokenPosition and free Serum3OpenOrders balances.", "Does not include perp upnl or Serum3 reserved amounts."]; name: "balanceSpot"; type: { defined: "I80F48" } }]; kind: "struct" } }, { docs: ["Information about reserved funds on Serum3 open orders accounts.", "", "Note that all \"free\" funds on open orders accounts are added directly", "to the token info. This is only about dealing with the reserved funds", "that might end up as base OR quote tokens, depending on whether the", "open orders execute on not."]; name: "Serum3Info"; type: { fields: [{ name: "reservedBase"; type: { defined: "I80F48" } }, { name: "reservedQuote"; type: { defined: "I80F48" } }, { name: "baseInfoIndex"; type: "u64" }, { name: "quoteInfoIndex"; type: "u64" }, { name: "marketIndex"; type: "u16" }, { docs: ["The open orders account has no free or reserved funds"]; name: "hasZeroFunds"; type: "bool" }]; kind: "struct" } }, { docs: ["Stores information about perp market positions and their open orders.", "", "Perp markets affect account health indirectly, though the token balance in the", "perp market's settle token. See `effective_token_balances()`."]; name: "PerpInfo"; type: { fields: [{ name: "perpMarketIndex"; type: "u16" }, { name: "settleTokenIndex"; type: "u16" }, { name: "maintBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "initBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "maintBaseLiabWeight"; type: { defined: "I80F48" } }, { name: "initBaseLiabWeight"; type: { defined: "I80F48" } }, { name: "maintOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "initOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "baseLotSize"; type: "i64" }, { name: "baseLots"; type: "i64" }, { name: "bidsBaseLots"; type: "i64" }, { name: "asksBaseLots"; type: "i64" }, { name: "quote"; type: { defined: "I80F48" } }, { name: "basePrices"; type: { defined: "Prices" } }, { name: "hasOpenOrders"; type: "bool" }, { name: "hasOpenFills"; type: "bool" }]; kind: "struct" } }, { docs: ["Store information needed to compute account health", "", "This is called a cache, because it extracts information from a MangoAccount and", "the Bank, Perp, oracle accounts once and then allows computing different types", "of health.", "", "For compute-saving reasons, it also allows applying adjustments to the extracted", "positions. That's often helpful for instructions that want to re-compute health", "after having made small, well-known changes to an account. Recomputing the", "HealthCache from scratch would be significantly more expensive.", "", "However, there's a real risk of getting the adjustments wrong and computing an", "inconsistent result, so particular care needs to be taken when this is done."]; name: "HealthCache"; type: { fields: [{ name: "tokenInfos"; type: { vec: { defined: "TokenInfo" } } }, { name: "serum3Infos"; type: { vec: { defined: "Serum3Info" } } }, { name: "perpInfos"; type: { vec: { defined: "PerpInfo" } } }, { name: "beingLiquidated"; type: "bool" }]; kind: "struct" } }, { name: "FlashLoanTokenDetail"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "changeAmount"; type: "i128" }, { name: "loan"; type: "i128" }, { name: "loanOriginationFee"; type: "i128" }, { name: "depositIndex"; type: "i128" }, { name: "borrowIndex"; type: "i128" }, { name: "price"; type: "i128" }]; kind: "struct" } }, { name: "FlashLoanTokenDetailV2"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "changeAmount"; type: "i128" }, { name: "loan"; type: "i128" }, { name: "loanOriginationFee"; type: "i128" }, { name: "depositIndex"; type: "i128" }, { name: "borrowIndex"; type: "i128" }, { name: "price"; type: "i128" }, { name: "swapFee"; type: "i128" }]; kind: "struct" } }, { name: "TokenPosition"; type: { fields: [{ docs: ["The deposit_index (if positive) or borrow_index (if negative) scaled position"]; name: "indexedPosition"; type: { defined: "I80F48" } }, { docs: ["index into Group.tokens"]; name: "tokenIndex"; type: "u16" }, { docs: ["incremented when a market requires this position to stay alive"]; name: "inUseCount"; type: "u16" }, { name: "padding"; type: { array: ["u8", 4] } }, { name: "previousIndex"; type: { defined: "I80F48" } }, { name: "cumulativeDepositInterest"; type: "f64" }, { name: "cumulativeBorrowInterest"; type: "f64" }, { name: "reserved"; type: { array: ["u8", 128] } }]; kind: "struct" } }, { name: "Serum3Orders"; type: { fields: [{ name: "openOrders"; type: "publicKey" }, { docs: ["Tracks the amount of borrows that have flowed into the serum open orders account.", "These borrows did not have the loan origination fee applied, and that may happen", "later (in serum3_settle_funds) if we can guarantee that the funds were used.", "In particular a place-on-book, cancel, settle should not cost fees."]; name: "baseBorrowsWithoutFee"; type: "u64" }, { name: "quoteBorrowsWithoutFee"; type: "u64" }, { name: "marketIndex"; type: "u16" }, { docs: ["Store the base/quote token index, so health computations don't need", "to get passed the static SerumMarket to find which tokens a market", "uses and look up the correct oracles."]; name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { name: "reserved"; type: { array: ["u8", 64] } }]; kind: "struct" } }, { name: "PerpPosition"; type: { fields: [{ name: "marketIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { docs: ["Index of the current settle pnl limit window"]; name: "settlePnlLimitWindow"; type: "u32" }, { docs: ["Amount of realized trade pnl and unrealized pnl that was already settled this window.", "", "Will be negative when negative pnl was settled.", "", "Note that this will be adjusted for bookkeeping reasons when the realized_trade settle", "limitchanges and is not useable for actually tracking how much pnl was settled", "on balance."]; name: "settlePnlLimitSettledInCurrentWindowNative"; type: "i64" }, { docs: ["Active position size, measured in base lots"]; name: "basePositionLots"; type: "i64" }, { docs: ["Active position in oracle quote native. At the same time this is 1:1 a settle_token native amount.", "", "Example: Say there's a perp market on the BTC/USD price using SOL for settlement. The user buys", "one long contract for $20k, then base = 1, quote = -20k. The price goes to $21k. Now their", "unsettled pnl is (1 * 21k - 20k) __SOL__ = 1000 SOL. This is because the perp contract arbitrarily", "decides that each unit of price difference creates 1 SOL worth of settlement.", "(yes, causing 1 SOL of settlement for each $1 price change implies a lot of extra leverage; likely", "there should be an extra configurable scaling factor before we use this for cases like that)"]; name: "quotePositionNative"; type: { defined: "I80F48" } }, { docs: ["Tracks what the position is to calculate average entry & break even price"]; name: "quoteRunningNative"; type: "i64" }, { docs: ["Already settled long funding"]; name: "longSettledFunding"; type: { defined: "I80F48" } }, { docs: ["Already settled short funding"]; name: "shortSettledFunding"; type: { defined: "I80F48" } }, { docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { docs: ["Amount of base lots on the EventQueue waiting to be processed"]; name: "takerBaseLots"; type: "i64" }, { docs: ["Amount of quote lots on the EventQueue waiting to be processed"]; name: "takerQuoteLots"; type: "i64" }, { docs: ["Cumulative long funding in quote native units.", "If the user paid $1 in funding for a long position, this would be 1e6.", "Beware of the sign!", "", "(Display only)"]; name: "cumulativeLongFunding"; type: "f64" }, { docs: ["Cumulative short funding in quote native units", "If the user paid $1 in funding for a short position, this would be -1e6.", "", "(Display only)"]; name: "cumulativeShortFunding"; type: "f64" }, { docs: ["Cumulative maker volume in quote native units", "", "(Display only)"]; name: "makerVolume"; type: "u64" }, { docs: ["Cumulative taker volume in quote native units", "", "(Display only)"]; name: "takerVolume"; type: "u64" }, { docs: ["Cumulative number of quote native units transfered from the perp position", "to the settle token spot position.", "", "For example, if the user settled $1 of positive pnl into their USDC spot", "position, this would be 1e6.", "", "(Display only)"]; name: "perpSpotTransfers"; type: "i64" }, { docs: ["The native average entry price for the base lots of the current position.", "Reset to 0 when the base position reaches or crosses 0."]; name: "avgEntryPricePerBaseLot"; type: "f64" }, { docs: ["Amount of pnl that was realized by bringing the base position closer to 0.", "", "The settlement of this type of pnl is limited by settle_pnl_limit_realized_trade.", "Settling pnl reduces this value once other_pnl below is exhausted."]; name: "realizedTradePnlNative"; type: { defined: "I80F48" } }, { docs: ["Amount of pnl realized from fees, funding and liquidation.", "", "This type of realized pnl is always settleable.", "Settling pnl reduces this value first."]; name: "realizedOtherPnlNative"; type: { defined: "I80F48" } }, { docs: ["Settle limit contribution from realized pnl.", "", "Every time pnl is realized, this is increased by a fraction of the stable", "value of the realization. It magnitude decreases when realized pnl drops below its value."]; name: "settlePnlLimitRealizedTrade"; type: "i64" }, { docs: ["Trade pnl, fees, funding that were added over the current position's lifetime.", "", "Reset when the position changes sign or goes to zero.", "Not decreased by settling.", "", "This is tracked for display purposes: this value plus the difference between entry", "price and current price of the base position is the overall pnl."]; name: "realizedPnlForPositionNative"; type: { defined: "I80F48" } }, { name: "reserved"; type: { array: ["u8", 88] } }]; kind: "struct" } }, { name: "PerpOpenOrder"; type: { fields: [{ name: "sideAndTree"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 1] } }, { name: "market"; type: "u16" }, { name: "padding2"; type: { array: ["u8", 4] } }, { name: "clientId"; type: "u64" }, { name: "id"; type: "u128" }, { name: "reserved"; type: { array: ["u8", 64] } }]; kind: "struct" } }, { name: "MangoAccountFixed"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "owner"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 32] } }, { name: "delegate"; type: "publicKey" }, { name: "accountNum"; type: "u32" }, { name: "beingLiquidated"; type: "u8" }, { name: "inHealthRegion"; type: "u8" }, { name: "bump"; type: "u8" }, { name: "padding"; type: { array: ["u8", 1] } }, { name: "netDeposits"; type: "i64" }, { name: "perpSpotTransfers"; type: "i64" }, { name: "healthRegionBeginInitHealth"; type: "i64" }, { name: "frozenUntil"; type: "u64" }, { name: "buybackFeesAccruedCurrent"; type: "u64" }, { name: "buybackFeesAccruedPrevious"; type: "u64" }, { name: "buybackFeesExpiryTimestamp"; type: "u64" }, { name: "nextTokenConditionalSwapId"; type: "u64" }, { name: "temporaryDelegate"; type: "publicKey" }, { name: "temporaryDelegateExpiry"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 160] } }]; kind: "struct" } }, { name: "OracleConfig"; type: { fields: [{ name: "confFilter"; type: { defined: "I80F48" } }, { name: "maxStalenessSlots"; type: "i64" }, { name: "reserved"; type: { array: ["u8", 72] } }]; kind: "struct" } }, { name: "OracleConfigParams"; type: { fields: [{ name: "confFilter"; type: "f32" }, { name: "maxStalenessSlots"; type: { option: "u32" } }]; kind: "struct" } }, { docs: ["InnerNodes and LeafNodes compose the binary tree of orders.", "", "Each InnerNode has exactly two children, which are either InnerNodes themselves,", "or LeafNodes. The children share the top `prefix_len` bits of `key`. The left", "child has a 0 in the next bit, and the right a 1."]; name: "InnerNode"; type: { fields: [{ name: "tag"; type: "u8" }, { name: "padding"; type: { array: ["u8", 3] } }, { docs: ["number of highest `key` bits that all children share", "e.g. if it's 2, the two highest bits of `key` will be the same on all children"]; name: "prefixLen"; type: "u32" }, { docs: ["only the top `prefix_len` bits of `key` are relevant"]; name: "key"; type: "u128" }, { docs: ["indexes into `BookSide::nodes`"]; name: "children"; type: { array: ["u32", 2] } }, { docs: ["The earliest expiry timestamp for the left and right subtrees.", "", "Needed to be able to find and remove expired orders without having to", "iterate through the whole bookside."]; name: "childEarliestExpiry"; type: { array: ["u64", 2] } }, { name: "reserved"; type: { array: ["u8", 72] } }]; kind: "struct" } }, { docs: ["LeafNodes represent an order in the binary tree"]; name: "LeafNode"; type: { fields: [{ docs: ["NodeTag"]; name: "tag"; type: "u8" }, { docs: ["Index into the owning MangoAccount's PerpOpenOrders"]; name: "ownerSlot"; type: "u8" }, { docs: ["PostOrderType, this was added for TradingView move order"]; name: "orderType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 1] } }, { docs: ["Time in seconds after `timestamp` at which the order expires.", "A value of 0 means no expiry."]; name: "timeInForce"; type: "u16" }, { name: "padding2"; type: { array: ["u8", 2] } }, { docs: ["The binary tree key, see new_node_key()"]; name: "key"; type: "u128" }, { docs: ["Address of the owning MangoAccount"]; name: "owner"; type: "publicKey" }, { docs: ["Number of base lots to buy or sell, always >=1"]; name: "quantity"; type: "i64" }, { docs: ["The time the order was placed"]; name: "timestamp"; type: "u64" }, { docs: ["If the effective price of an oracle pegged order exceeds this limit,", "it will be considered invalid and may be removed.", "", "Only applicable in the oracle_pegged OrderTree"]; name: "pegLimit"; type: "i64" }, { docs: ["User defined id for this order, used in FillEvents"]; name: "clientOrderId"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 32] } }]; kind: "struct" } }, { name: "AnyNode"; type: { fields: [{ name: "tag"; type: "u8" }, { name: "data"; type: { array: ["u8", 119] } }]; kind: "struct" } }, { name: "OrderTreeRoot"; type: { fields: [{ name: "maybeNode"; type: "u32" }, { name: "leafCount"; type: "u32" }]; kind: "struct" } }, { docs: ["A binary tree on AnyNode::key()", "", "The key encodes the price in the top 64 bits."]; name: "OrderTreeNodes"; type: { fields: [{ name: "orderTreeType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 3] } }, { name: "bumpIndex"; type: "u32" }, { name: "freeListLen"; type: "u32" }, { name: "freeListHead"; type: "u32" }, { name: "reserved"; type: { array: ["u8", 512] } }, { name: "nodes"; type: { array: [{ defined: "AnyNode" }, 1024] } }]; kind: "struct" } }, { name: "EventQueueHeader"; type: { fields: [{ name: "head"; type: "u32" }, { name: "count"; type: "u32" }, { name: "seqNum"; type: "u64" }]; kind: "struct" } }, { name: "AnyEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 207] } }]; kind: "struct" } }, { name: "FillEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "takerSide"; type: "u8" }, { name: "makerOut"; type: "u8" }, { name: "makerSlot"; type: "u8" }, { name: "padding"; type: { array: ["u8", 4] } }, { name: "timestamp"; type: "u64" }, { name: "seqNum"; type: "u64" }, { name: "maker"; type: "publicKey" }, { name: "padding2"; type: { array: ["u8", 32] } }, { name: "makerTimestamp"; type: "u64" }, { name: "taker"; type: "publicKey" }, { name: "padding3"; type: { array: ["u8", 16] } }, { name: "takerClientOrderId"; type: "u64" }, { name: "padding4"; type: { array: ["u8", 16] } }, { name: "price"; type: "i64" }, { name: "quantity"; type: "i64" }, { name: "makerClientOrderId"; type: "u64" }, { name: "makerFee"; type: "f32" }, { name: "takerFee"; type: "f32" }, { name: "reserved"; type: { array: ["u8", 8] } }]; kind: "struct" } }, { name: "OutEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "side"; type: "u8" }, { name: "ownerSlot"; type: "u8" }, { name: "padding0"; type: { array: ["u8", 5] } }, { name: "timestamp"; type: "u64" }, { name: "seqNum"; type: "u64" }, { name: "owner"; type: "publicKey" }, { name: "quantity"; type: "i64" }, { name: "padding1"; type: { array: ["u8", 144] } }]; kind: "struct" } }, { docs: ["Maintains a \"stable_price\" based on the oracle price.", "", "The stable price follows the oracle price, but its relative rate of", "change is limited (to `stable_growth_limit`) and futher reduced if", "the oracle price is far from the `delay_price`.", "", "Conceptually the `delay_price` is itself a time delayed", "(`24 * delay_interval_seconds`, assume 24h) and relative rate of change limited", "function of the oracle price. It is implemented as averaging the oracle", "price over every `delay_interval_seconds` (assume 1h) and then applying the", "`delay_growth_limit` between intervals."]; name: "StablePriceModel"; type: { fields: [{ docs: ["Current stable price to use in health"]; name: "stablePrice"; type: "f64" }, { name: "lastUpdateTimestamp"; type: "u64" }, { docs: ["Stored delay_price for each delay_interval.", "If we want the delay_price to be 24h delayed, we would store one for each hour.", "This is used in a cyclical way: We use the maximally-delayed value at delay_interval_index", "and once enough time passes to move to the next delay interval, that gets overwritten and", "we use the next one."]; name: "delayPrices"; type: { array: ["f64", 24] } }, { docs: ["The delay price is based on an average over each delay_interval. The contributions", "to the average are summed up here."]; name: "delayAccumulatorPrice"; type: "f64" }, { docs: ["Accumulating the total time for the above average."]; name: "delayAccumulatorTime"; type: "u32" }, { docs: ["Length of a delay_interval"]; name: "delayIntervalSeconds"; type: "u32" }, { docs: ["Maximal relative difference between two delay_price in consecutive intervals."]; name: "delayGrowthLimit"; type: "f32" }, { docs: ["Maximal per-second relative difference of the stable price.", "It gets further reduced if stable and delay price disagree."]; name: "stableGrowthLimit"; type: "f32" }, { docs: ["The delay_interval_index that update() was last called on."]; name: "lastDelayIntervalIndex"; type: "u8" }, { docs: ["If set to 1, the stable price will reset on the next non-zero price it sees."]; name: "resetOnNonzeroPrice"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }, { name: "reserved"; type: { array: ["u8", 48] } }]; kind: "struct" } }, { name: "TokenConditionalSwap"; type: { fields: [{ name: "id"; type: "u64" }, { docs: ["maximum amount of native tokens to buy or sell"]; name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { docs: ["how many native tokens were already bought/sold"]; name: "bought"; type: "u64" }, { name: "sold"; type: "u64" }, { docs: ["timestamp until which the conditional swap is valid"]; name: "expiryTimestamp"; type: "u64" }, { docs: ["The price must exceed this threshold to allow execution.", "", "This threshold is compared to the \"sell_token per buy_token\" oracle price", "(which can be computed by dividing the buy token oracle price by the", "sell token oracle price). If that price is >= lower_limit and <= upper_limit", "the tcs may be executable.", "", "Example: Stop loss to get out of a SOL long: The user bought SOL at 20 USDC/SOL", "and wants to stop loss at 18 USDC/SOL. They'd set buy_token=USDC, sell_token=SOL", "so the reference price is in SOL/USDC units. Set price_lower_limit=toNative(1/18)", "and price_upper_limit=toNative(1/10). Also set allow_borrows=false.", "", "Example: Want to buy SOL with USDC if the price falls below 22 USDC/SOL.", "buy_token=SOL, sell_token=USDC, reference price is in USDC/SOL units. Set", "price_upper_limit=toNative(22), price_lower_limit=0."]; name: "priceLowerLimit"; type: "f64" }, { docs: ["Parallel to price_lower_limit, but an upper limit."]; name: "priceUpperLimit"; type: "f64" }, { docs: ["The premium to pay over oracle price to incentivize execution."]; name: "pricePremiumRate"; type: "f64" }, { docs: ["The taker receives only premium_price * (1 - taker_fee_rate)"]; name: "takerFeeRate"; type: "f32" }, { docs: ["The maker has to pay premium_price * (1 + maker_fee_rate)"]; name: "makerFeeRate"; type: "f32" }, { docs: ["indexes of tokens for the swap"]; name: "buyTokenIndex"; type: "u16" }, { name: "sellTokenIndex"; type: "u16" }, { name: "hasData"; type: "u8" }, { docs: ["may token purchases create deposits? (often users just want to get out of a borrow)"]; name: "allowCreatingDeposits"; type: "u8" }, { docs: ["may token selling create borrows? (often users just want to get out of a long)"]; name: "allowCreatingBorrows"; type: "u8" }, { docs: ["The stored prices are always \"sell token per buy token\", but if the user", "used \"buy token per sell token\" when creating the tcs order, we should continue", "to show them prices in that way.", "", "Stores a TokenConditionalSwapDisplayPriceStyle enum value"]; name: "displayPriceStyle"; type: "u8" }, { docs: ["The intention the user had when placing this order, display-only", "", "Stores a TokenConditionalSwapIntention enum value"]; name: "intention"; type: "u8" }, { name: "reserved"; type: { array: ["u8", 111] } }]; kind: "struct" } }, { docs: ["Nothing in Rust shall use these types. They only exist so that the Anchor IDL", "knows about them and typescript can deserialize it."]; name: "TokenIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "Serum3MarketIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "PerpMarketIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "I80F48"; type: { fields: [{ name: "val"; type: "i128" }]; kind: "struct" } }, { name: "FlashLoanType"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "Swap" }] } }, { docs: ["Copy paste a bunch of enums so that we could AnchorSerialize & AnchorDeserialize them"]; name: "Serum3SelfTradeBehavior"; type: { kind: "enum"; variants: [{ name: "DecrementTake" }, { name: "CancelProvide" }, { name: "AbortTransaction" }] } }, { name: "Serum3OrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "ImmediateOrCancel" }, { name: "PostOnly" }] } }, { name: "Serum3Side"; type: { kind: "enum"; variants: [{ name: "Bid" }, { name: "Ask" }] } }, { docs: ["There are three types of health:", "- initial health (\"init\"): users can only open new positions if it's >= 0", "- maintenance health (\"maint\"): users get liquidated if it's < 0", "- liquidation end health: once liquidation started (see being_liquidated), it", "only stops once this is >= 0", "", "The ordering is", "init health <= liquidation end health <= maint health", "", "The different health types are realized by using different weights and prices:", "- init health: init weights with scaling, stable-price adjusted prices", "- liq end health: init weights without scaling, oracle prices", "- maint health: maint weights, oracle prices", ""]; name: "HealthType"; type: { kind: "enum"; variants: [{ name: "Init" }, { name: "Maint" }, { name: "LiquidationEnd" }] } }, { name: "LoanOriginationFeeInstruction"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "LiqTokenBankruptcy" }, { name: "LiqTokenWithToken" }, { name: "Serum3LiqForceCancelOrders" }, { name: "Serum3PlaceOrder" }, { name: "Serum3SettleFunds" }, { name: "TokenWithdraw" }, { name: "TokenConditionalSwapTrigger" }] } }, { docs: ["Enum for lookup into ix gate", "note:", "total ix files 56,", "ix files included 48,", "ix files not included 8,", "- Benchmark,", "- ComputeAccountData,", "- GroupCreate", "- GroupEdit", "- IxGateSet,", "- PerpZeroOut,", "- PerpEditMarket,", "- TokenEdit,"]; name: "IxGate"; type: { kind: "enum"; variants: [{ name: "AccountClose" }, { name: "AccountCreate" }, { name: "AccountEdit" }, { name: "AccountExpand" }, { name: "AccountToggleFreeze" }, { name: "AltExtend" }, { name: "AltSet" }, { name: "FlashLoan" }, { name: "GroupClose" }, { name: "GroupCreate" }, { name: "HealthRegion" }, { name: "PerpCancelAllOrders" }, { name: "PerpCancelAllOrdersBySide" }, { name: "PerpCancelOrder" }, { name: "PerpCancelOrderByClientOrderId" }, { name: "PerpCloseMarket" }, { name: "PerpConsumeEvents" }, { name: "PerpCreateMarket" }, { name: "PerpDeactivatePosition" }, { name: "PerpLiqBaseOrPositivePnl" }, { name: "PerpLiqForceCancelOrders" }, { name: "PerpLiqNegativePnlOrBankruptcy" }, { name: "PerpPlaceOrder" }, { name: "PerpSettleFees" }, { name: "PerpSettlePnl" }, { name: "PerpUpdateFunding" }, { name: "Serum3CancelAllOrders" }, { name: "Serum3CancelOrder" }, { name: "Serum3CloseOpenOrders" }, { name: "Serum3CreateOpenOrders" }, { name: "Serum3DeregisterMarket" }, { name: "Serum3EditMarket" }, { name: "Serum3LiqForceCancelOrders" }, { name: "Serum3PlaceOrder" }, { name: "Serum3RegisterMarket" }, { name: "Serum3SettleFunds" }, { name: "StubOracleClose" }, { name: "StubOracleCreate" }, { name: "StubOracleSet" }, { name: "TokenAddBank" }, { name: "TokenDeposit" }, { name: "TokenDeregister" }, { name: "TokenLiqBankruptcy" }, { name: "TokenLiqWithToken" }, { name: "TokenRegister" }, { name: "TokenRegisterTrustless" }, { name: "TokenUpdateIndexAndRate" }, { name: "TokenWithdraw" }, { name: "AccountBuybackFeesWithMngo" }, { name: "TokenForceCloseBorrowsWithToken" }, { name: "PerpForceClosePosition" }, { name: "GroupWithdrawInsuranceFund" }, { name: "TokenConditionalSwapCreate" }, { name: "TokenConditionalSwapTrigger" }, { name: "TokenConditionalSwapCancel" }, { name: "OpenbookV2CancelOrder" }, { name: "OpenbookV2CloseOpenOrders" }, { name: "OpenbookV2CreateOpenOrders" }, { name: "OpenbookV2DeregisterMarket" }, { name: "OpenbookV2EditMarket" }, { name: "OpenbookV2LiqForceCancelOrders" }, { name: "OpenbookV2PlaceOrder" }, { name: "OpenbookV2PlaceTakeOrder" }, { name: "OpenbookV2RegisterMarket" }, { name: "OpenbookV2SettleFunds" }, { name: "AdminTokenWithdrawFees" }, { name: "AdminPerpWithdrawFees" }] } }, { name: "CheckLiquidatable"; type: { kind: "enum"; variants: [{ name: "NotLiquidatable" }, { name: "Liquidatable" }, { name: "BecameNotLiquidatable" }] } }, { name: "OracleType"; type: { kind: "enum"; variants: [{ name: "Pyth" }, { name: "Stub" }, { name: "SwitchboardV1" }, { name: "SwitchboardV2" }] } }, { name: "OrderState"; type: { kind: "enum"; variants: [{ name: "Valid" }, { name: "Invalid" }, { name: "Skipped" }] } }, { name: "BookSideOrderTree"; type: { kind: "enum"; variants: [{ name: "Fixed" }, { name: "OraclePegged" }] } }, { name: "NodeTag"; type: { kind: "enum"; variants: [{ name: "Uninitialized" }, { name: "InnerNode" }, { name: "LeafNode" }, { name: "FreeNode" }, { name: "LastFreeNode" }] } }, { name: "PlaceOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "ImmediateOrCancel" }, { name: "PostOnly" }, { name: "Market" }, { name: "PostOnlySlide" }] } }, { name: "PostOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "PostOnly" }, { name: "PostOnlySlide" }] } }, { docs: ["Self trade behavior controls how taker orders interact with resting limit orders of the same account.", "This setting has no influence on placing a resting or oracle pegged limit order that does not match", "immediately, instead it's the responsibility of the user to correctly configure his taker orders."]; name: "SelfTradeBehavior"; type: { kind: "enum"; variants: [{ name: "DecrementTake" }, { name: "CancelProvide" }, { name: "AbortTransaction" }] } }, { name: "Side"; type: { kind: "enum"; variants: [{ name: "Bid" }, { name: "Ask" }] } }, { docs: ["SideAndOrderTree is a storage optimization, so we don't need two bytes for the data"]; name: "SideAndOrderTree"; type: { kind: "enum"; variants: [{ name: "BidFixed" }, { name: "AskFixed" }, { name: "BidOraclePegged" }, { name: "AskOraclePegged" }] } }, { name: "OrderParams"; type: { kind: "enum"; variants: [{ name: "Market" }, { fields: [{ name: "price_lots"; type: "i64" }]; name: "ImmediateOrCancel" }, { fields: [{ name: "price_lots"; type: "i64" }, { name: "order_type"; type: { defined: "PostOrderType" } }]; name: "Fixed" }, { fields: [{ name: "price_offset_lots"; type: "i64" }, { name: "order_type"; type: { defined: "PostOrderType" } }, { name: "peg_limit"; type: "i64" }, { name: "max_oracle_staleness_slots"; type: "i32" }]; name: "OraclePegged" }] } }, { name: "OrderTreeType"; type: { kind: "enum"; variants: [{ name: "Bids" }, { name: "Asks" }] } }, { name: "EventType"; type: { kind: "enum"; variants: [{ name: "Fill" }, { name: "Out" }, { name: "Liquidate" }] } }, { name: "TokenConditionalSwapDisplayPriceStyle"; type: { kind: "enum"; variants: [{ name: "SellTokenPerBuyToken" }, { name: "BuyTokenPerSellToken" }] } }, { name: "TokenConditionalSwapIntention"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "StopLoss" }, { name: "TakeProfit" }] } }]; version: "0.18.0" }

                                                                                                                          Type declaration

                                                                                                                          • accounts: [{ name: "bank"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 16] } }, { name: "mint"; type: "publicKey" }, { name: "vault"; type: "publicKey" }, { name: "oracle"; type: "publicKey" }, { name: "oracleConfig"; type: { defined: "OracleConfig" } }, { name: "stablePriceModel"; type: { defined: "StablePriceModel" } }, { docs: ["the index used to scale the value of an IndexedPosition", "TODO: should always be >= 0, add checks?"]; name: "depositIndex"; type: { defined: "I80F48" } }, { name: "borrowIndex"; type: { defined: "I80F48" } }, { docs: ["deposits/borrows for this bank", "", "Note that these may become negative. It's perfectly fine for users to borrow one one bank", "(increasing indexed_borrows there) and paying back on another (possibly decreasing indexed_borrows", "below zero).", "", "The vault amount is not deducable from these values.", "", "These become meaningful when summed over all banks (like in update_index_and_rate)."]; name: "indexedDeposits"; type: { defined: "I80F48" } }, { name: "indexedBorrows"; type: { defined: "I80F48" } }, { name: "indexLastUpdated"; type: "u64" }, { name: "bankRateLastUpdated"; type: "u64" }, { name: "avgUtilization"; type: { defined: "I80F48" } }, { name: "adjustmentFactor"; type: { defined: "I80F48" } }, { name: "util0"; type: { defined: "I80F48" } }, { name: "rate0"; type: { defined: "I80F48" } }, { name: "util1"; type: { defined: "I80F48" } }, { name: "rate1"; type: { defined: "I80F48" } }, { name: "maxRate"; type: { defined: "I80F48" } }, { name: "collectedFeesNative"; type: { defined: "I80F48" } }, { name: "loanOriginationFeeRate"; type: { defined: "I80F48" } }, { name: "loanFeeRate"; type: { defined: "I80F48" } }, { name: "maintAssetWeight"; type: { defined: "I80F48" } }, { name: "initAssetWeight"; type: { defined: "I80F48" } }, { name: "maintLiabWeight"; type: { defined: "I80F48" } }, { name: "initLiabWeight"; type: { defined: "I80F48" } }, { name: "liquidationFee"; type: { defined: "I80F48" } }, { name: "dust"; type: { defined: "I80F48" } }, { name: "flashLoanTokenAccountInitial"; type: "u64" }, { name: "flashLoanApprovedAmount"; type: "u64" }, { name: "tokenIndex"; type: "u16" }, { name: "bump"; type: "u8" }, { name: "mintDecimals"; type: "u8" }, { name: "bankNum"; type: "u32" }, { docs: ["Min fraction of deposits that must remain in the vault when borrowing."]; name: "minVaultToDepositsRatio"; type: "f64" }, { docs: ["Size in seconds of a net borrows window"]; name: "netBorrowLimitWindowSizeTs"; type: "u64" }, { docs: ["Timestamp at which the last net borrows window started"]; name: "lastNetBorrowsWindowStartTs"; type: "u64" }, { docs: ["Net borrow limit per window in quote native; set to -1 to disable."]; name: "netBorrowLimitPerWindowQuote"; type: "i64" }, { docs: ["Sum of all deposits and borrows in the last window, in native units."]; name: "netBorrowsInWindow"; type: "i64" }, { docs: ["Soft borrow limit in native quote", "", "Once the borrows on the bank exceed this quote value, init_liab_weight is scaled up.", "Set to f64::MAX to disable.", "", "See scaled_init_liab_weight()."]; name: "borrowWeightScaleStartQuote"; type: "f64" }, { docs: ["Limit for collateral of deposits in native quote", "", "Once the deposits in the bank exceed this quote value, init_asset_weight is scaled", "down to keep the total collateral value constant.", "Set to f64::MAX to disable.", "", "See scaled_init_asset_weight()."]; name: "depositWeightScaleStartQuote"; type: "f64" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }, { name: "feesWithdrawn"; type: "u64" }, { docs: ["Fees for the token conditional swap feature"]; name: "tokenConditionalSwapTakerFeeRate"; type: "f32" }, { name: "tokenConditionalSwapMakerFeeRate"; type: "f32" }, { name: "flashLoanSwapFeeRate"; type: "f32" }, { name: "reserved"; type: { array: ["u8", 2092] } }]; kind: "struct" } }, { name: "group"; type: { fields: [{ name: "creator"; type: "publicKey" }, { name: "groupNum"; type: "u32" }, { name: "admin"; type: "publicKey" }, { name: "fastListingAdmin"; type: "publicKey" }, { name: "mngoTokenIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { name: "insuranceVault"; type: "publicKey" }, { name: "insuranceMint"; type: "publicKey" }, { name: "bump"; type: "u8" }, { name: "testing"; type: "u8" }, { name: "version"; type: "u8" }, { name: "buybackFees"; type: "u8" }, { name: "buybackFeesMngoBonusFactor"; type: "f32" }, { name: "addressLookupTables"; type: { array: ["publicKey", 20] } }, { name: "securityAdmin"; type: "publicKey" }, { name: "depositLimitQuote"; type: "u64" }, { name: "ixGate"; type: "u128" }, { name: "buybackFeesSwapMangoAccount"; type: "publicKey" }, { docs: ["Number of seconds after which fees that could be used with the fees buyback feature expire.", "", "The actual expiry is staggered such that the fees users accumulate are always", "available for at least this interval - but may be available for up to twice this time.", "", "When set to 0, there's no expiry of buyback fees."]; name: "buybackFeesExpiryInterval"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 1824] } }]; kind: "struct" } }, { name: "mangoAccount"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "owner"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 32] } }, { name: "delegate"; type: "publicKey" }, { name: "accountNum"; type: "u32" }, { docs: ["Tracks that this account should be liquidated until init_health >= 0.", "", "Normally accounts can not be liquidated while maint_health >= 0. But when an account", "reaches maint_health < 0, liquidators will call a liquidation instruction and thereby", "set this flag. Now the account may be liquidated until init_health >= 0.", "", "Many actions should be disabled while the account is being liquidated, even if", "its maint health has recovered to positive. Creating new open orders would, for example,", "confuse liquidators."]; name: "beingLiquidated"; type: "u8" }, { docs: ["The account is currently inside a health region marked by HealthRegionBegin...HealthRegionEnd.", "", "Must never be set after a transaction ends."]; name: "inHealthRegion"; type: "u8" }, { name: "bump"; type: "u8" }, { name: "padding"; type: { array: ["u8", 1] } }, { name: "netDeposits"; type: "i64" }, { name: "perpSpotTransfers"; type: "i64" }, { docs: ["Init health as calculated during HealthReginBegin, rounded up."]; name: "healthRegionBeginInitHealth"; type: "i64" }, { name: "frozenUntil"; type: "u64" }, { docs: ["Fees usable with the \"fees buyback\" feature.", "This tracks the ones that accrued in the current expiry interval."]; name: "buybackFeesAccruedCurrent"; type: "u64" }, { docs: ["Fees buyback amount from the previous expiry interval."]; name: "buybackFeesAccruedPrevious"; type: "u64" }, { docs: ["End timestamp of the current expiry interval of the buyback fees amount."]; name: "buybackFeesExpiryTimestamp"; type: "u64" }, { docs: ["Next id to use when adding a token condition swap"]; name: "nextTokenConditionalSwapId"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 200] } }, { name: "headerVersion"; type: "u8" }, { name: "padding3"; type: { array: ["u8", 7] } }, { name: "padding4"; type: "u32" }, { name: "tokens"; type: { vec: { defined: "TokenPosition" } } }, { name: "padding5"; type: "u32" }, { name: "serum3"; type: { vec: { defined: "Serum3Orders" } } }, { name: "padding6"; type: "u32" }, { name: "perps"; type: { vec: { defined: "PerpPosition" } } }, { name: "padding7"; type: "u32" }, { name: "perpOpenOrders"; type: { vec: { defined: "PerpOpenOrder" } } }]; kind: "struct" } }, { name: "mintInfo"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "tokenIndex"; type: "u16" }, { name: "groupInsuranceFund"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }, { name: "mint"; type: "publicKey" }, { name: "banks"; type: { array: ["publicKey", 6] } }, { name: "vaults"; type: { array: ["publicKey", 6] } }, { name: "oracle"; type: "publicKey" }, { name: "registrationTime"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 2560] } }]; kind: "struct" } }, { name: "openbookV2Market"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 2] } }, { name: "name"; type: { array: ["u8", 16] } }, { name: "openbookV2Program"; type: "publicKey" }, { name: "openbookV2MarketExternal"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "bump"; type: "u8" }, { name: "padding2"; type: { array: ["u8", 5] } }, { name: "registrationTime"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 512] } }]; kind: "struct" } }, { name: "openbookV2MarketIndexReservation"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "reserved"; type: { array: ["u8", 38] } }]; kind: "struct" } }, { name: "stubOracle"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "mint"; type: "publicKey" }, { name: "price"; type: { defined: "I80F48" } }, { name: "lastUpdateTs"; type: "i64" }, { name: "lastUpdateSlot"; type: "u64" }, { name: "deviation"; type: { defined: "I80F48" } }, { name: "reserved"; type: { array: ["u8", 104] } }]; kind: "struct" } }, { name: "bookSide"; type: { fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" } }, { name: "eventQueue"; type: { fields: [{ name: "header"; type: { defined: "EventQueueHeader" } }, { name: "buf"; type: { array: [{ defined: "AnyEvent" }, 488] } }, { name: "reserved"; type: { array: ["u8", 64] } }]; kind: "struct" } }, { name: "perpMarket"; type: { fields: [{ name: "group"; type: "publicKey" }, { docs: ["Token index that settlements happen in.", "", "Currently required to be 0, USDC. In the future settlement", "may be allowed to happen in other tokens."]; name: "settleTokenIndex"; type: "u16" }, { docs: ["Index of this perp market. Other data, like the MangoAccount's PerpPosition", "reference this market via this index. Unique for this group's perp markets."]; name: "perpMarketIndex"; type: "u16" }, { docs: ["Field used to contain the trusted_market flag and is now unused."]; name: "blocked1"; type: "u8" }, { docs: ["Is this market covered by the group insurance fund?"]; name: "groupInsuranceFund"; type: "u8" }, { docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { docs: ["Name. Trailing zero bytes are ignored."]; name: "name"; type: { array: ["u8", 16] } }, { docs: ["Address of the BookSide account for bids"]; name: "bids"; type: "publicKey" }, { docs: ["Address of the BookSide account for asks"]; name: "asks"; type: "publicKey" }, { docs: ["Address of the EventQueue account"]; name: "eventQueue"; type: "publicKey" }, { docs: ["Oracle account address"]; name: "oracle"; type: "publicKey" }, { docs: ["Oracle configuration"]; name: "oracleConfig"; type: { defined: "OracleConfig" } }, { docs: ["Maintains a stable price based on the oracle price that is less volatile."]; name: "stablePriceModel"; type: { defined: "StablePriceModel" } }, { docs: ["Number of quote native in a quote lot. Must be a power of 10.", "", "Primarily useful for increasing the tick size on the market: A lot price", "of 1 becomes a native price of quote_lot_size/base_lot_size becomes a", "ui price of quote_lot_size*base_decimals/base_lot_size/quote_decimals."]; name: "quoteLotSize"; type: "i64" }, { docs: ["Number of base native in a base lot. Must be a power of 10.", "", "Example: If base decimals for the underlying asset is 6, base lot size", "is 100 and and base position lots is 10_000 then base position native is", "1_000_000 and base position ui is 1."]; name: "baseLotSize"; type: "i64" }, { docs: ["These weights apply to the base position. The quote position has", "no explicit weight (but may be covered by the overall pnl asset weight)."]; name: "maintBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "initBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "maintBaseLiabWeight"; type: { defined: "I80F48" } }, { name: "initBaseLiabWeight"; type: { defined: "I80F48" } }, { docs: ["Number of base lots currently active in the market. Always >= 0.", "", "Since this counts positive base lots and negative base lots, the more relevant", "number of open base lot pairs is half this value."]; name: "openInterest"; type: "i64" }, { docs: ["Total number of orders seen"]; name: "seqNum"; type: "u64" }, { docs: ["Timestamp in seconds that the market was registered at."]; name: "registrationTime"; type: "u64" }, { docs: ["Minimal funding rate per day, must be <= 0."]; name: "minFunding"; type: { defined: "I80F48" } }, { docs: ["Maximal funding rate per day, must be >= 0."]; name: "maxFunding"; type: { defined: "I80F48" } }, { docs: ["For funding, get the impact price this many base lots deep into the book."]; name: "impactQuantity"; type: "i64" }, { docs: ["Current long funding value. Increasing it means that every long base lot", "needs to pay that amount of quote native in funding.", "", "PerpPosition uses and tracks it settle funding. Updated by the perp", "keeper instruction."]; name: "longFunding"; type: { defined: "I80F48" } }, { docs: ["See long_funding."]; name: "shortFunding"; type: { defined: "I80F48" } }, { docs: ["timestamp that funding was last updated in"]; name: "fundingLastUpdated"; type: "u64" }, { docs: ["Fees", "Fee for base position liquidation"]; name: "baseLiquidationFee"; type: { defined: "I80F48" } }, { docs: ["Fee when matching maker orders. May be negative."]; name: "makerFee"; type: { defined: "I80F48" } }, { docs: ["Fee for taker orders, may not be negative."]; name: "takerFee"; type: { defined: "I80F48" } }, { docs: ["Fees accrued in native quote currency", "these are increased when new fees are paid and decreased when perp_settle_fees is called"]; name: "feesAccrued"; type: { defined: "I80F48" } }, { docs: ["Fees settled in native quote currency", "these are increased when perp_settle_fees is called, and never decreased"]; name: "feesSettled"; type: { defined: "I80F48" } }, { docs: ["Fee (in quote native) to charge for ioc orders"]; name: "feePenalty"; type: "f32" }, { docs: ["In native units of settlement token, given to each settle call above the", "settle_fee_amount_threshold."]; name: "settleFeeFlat"; type: "f32" }, { docs: ["Pnl settlement amount needed to be eligible for the flat fee."]; name: "settleFeeAmountThreshold"; type: "f32" }, { docs: ["Fraction of pnl to pay out as fee if +pnl account has low health."]; name: "settleFeeFractionLowHealth"; type: "f32" }, { docs: ["Controls the strictness of the settle limit.", "Set to a negative value to disable the limit.", "", "This factor applies to the settle limit in two ways", "- for the unrealized pnl settle limit, the factor is multiplied with the stable perp base value", "(i.e. limit_factor * base_native * stable_price)", "- when increasing the realized pnl settle limit (stored per PerpPosition), the factor is", "multiplied with the stable value of the perp pnl being realized", "(i.e. limit_factor * reduced_native * stable_price)", "", "See also PerpPosition::settle_pnl_limit_realized_trade"]; name: "settlePnlLimitFactor"; type: "f32" }, { name: "padding3"; type: { array: ["u8", 4] } }, { docs: ["Window size in seconds for the perp settlement limit"]; name: "settlePnlLimitWindowSizeTs"; type: "u64" }, { docs: ["If true, users may no longer increase their market exposure. Only actions", "that reduce their position are still allowed."]; name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding4"; type: { array: ["u8", 6] } }, { docs: ["Weights for full perp market health, if positive"]; name: "maintOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "initOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "positivePnlLiquidationFee"; type: { defined: "I80F48" } }, { name: "feesWithdrawn"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 1880] } }]; kind: "struct" } }, { name: "serum3Market"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 2] } }, { name: "name"; type: { array: ["u8", 16] } }, { name: "serumProgram"; type: "publicKey" }, { name: "serumMarketExternal"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "bump"; type: "u8" }, { name: "padding2"; type: { array: ["u8", 5] } }, { name: "registrationTime"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 128] } }]; kind: "struct" } }, { name: "serum3MarketIndexReservation"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "reserved"; type: { array: ["u8", 38] } }]; kind: "struct" } }]
                                                                                                                          • errors: [{ code: 6000; msg: ""; name: "SomeError" }, { code: 6001; msg: ""; name: "NotImplementedError" }, { code: 6002; msg: "checked math error"; name: "MathError" }, { code: 6003; msg: ""; name: "UnexpectedOracle" }, { code: 6004; msg: "oracle type cannot be determined"; name: "UnknownOracleType" }, { code: 6005; msg: ""; name: "InvalidFlashLoanTargetCpiProgram" }, { code: 6006; msg: "health must be positive"; name: "HealthMustBePositive" }, { code: 6007; msg: "health must be positive or not decrease"; name: "HealthMustBePositiveOrIncrease" }, { code: 6008; msg: "health must be negative"; name: "HealthMustBeNegative" }, { code: 6009; msg: "the account is bankrupt"; name: "IsBankrupt" }, { code: 6010; msg: "the account is not bankrupt"; name: "IsNotBankrupt" }, { code: 6011; msg: "no free token position index"; name: "NoFreeTokenPositionIndex" }, { code: 6012; msg: "no free serum3 open orders index"; name: "NoFreeSerum3OpenOrdersIndex" }, { code: 6013; msg: "no free perp position index"; name: "NoFreePerpPositionIndex" }, { code: 6014; msg: "serum3 open orders exist already"; name: "Serum3OpenOrdersExistAlready" }, { code: 6015; msg: "bank vault has insufficent funds"; name: "InsufficentBankVaultFunds" }, { code: 6016; msg: "account is currently being liquidated"; name: "BeingLiquidated" }, { code: 6017; msg: "invalid bank"; name: "InvalidBank" }, { code: 6018; msg: "account profitability is mismatched"; name: "ProfitabilityMismatch" }, { code: 6019; msg: "cannot settle with self"; name: "CannotSettleWithSelf" }, { code: 6020; msg: "perp position does not exist"; name: "PerpPositionDoesNotExist" }, { code: 6021; msg: "max settle amount must be greater than zero"; name: "MaxSettleAmountMustBeGreaterThanZero" }, { code: 6022; msg: "the perp position has open orders or unprocessed fill events"; name: "HasOpenPerpOrders" }, { code: 6023; msg: "an oracle does not reach the confidence threshold"; name: "OracleConfidence" }, { code: 6024; msg: "an oracle is stale"; name: "OracleStale" }, { code: 6025; msg: "settlement amount must always be positive"; name: "SettlementAmountMustBePositive" }, { code: 6026; msg: "bank utilization has reached limit"; name: "BankBorrowLimitReached" }, { code: 6027; msg: "bank net borrows has reached limit - this is an intermittent error - the limit will reset regularly"; name: "BankNetBorrowsLimitReached" }, { code: 6028; msg: "token position does not exist"; name: "TokenPositionDoesNotExist" }, { code: 6029; msg: "token deposits into accounts that are being liquidated must bring their health above the init threshold"; name: "DepositsIntoLiquidatingMustRecover" }, { code: 6030; msg: "token is in reduce only mode"; name: "TokenInReduceOnlyMode" }, { code: 6031; msg: "market is in reduce only mode"; name: "MarketInReduceOnlyMode" }, { code: 6032; msg: "group is halted"; name: "GroupIsHalted" }, { code: 6033; msg: "the perp position has non-zero base lots"; name: "PerpHasBaseLots" }, { code: 6034; msg: "there are open or unsettled serum3 orders"; name: "HasOpenOrUnsettledSerum3Orders" }, { code: 6035; msg: "has liquidatable token position"; name: "HasLiquidatableTokenPosition" }, { code: 6036; msg: "has liquidatable perp base position"; name: "HasLiquidatablePerpBasePosition" }, { code: 6037; msg: "has liquidatable positive perp pnl"; name: "HasLiquidatablePositivePerpPnl" }, { code: 6038; msg: "account is frozen"; name: "AccountIsFrozen" }, { code: 6039; msg: "Init Asset Weight can't be negative"; name: "InitAssetWeightCantBeNegative" }, { code: 6040; msg: "has open perp taker fills"; name: "HasOpenPerpTakerFills" }, { code: 6041; msg: "deposit crosses the current group deposit limit"; name: "DepositLimit" }, { code: 6042; msg: "instruction is disabled"; name: "IxIsDisabled" }, { code: 6043; msg: "no liquidatable perp base position"; name: "NoLiquidatablePerpBasePosition" }, { code: 6044; msg: "perp order id not found on the orderbook"; name: "PerpOrderIdNotFound" }, { code: 6045; msg: "HealthRegions allow only specific instructions between Begin and End"; name: "HealthRegionBadInnerInstruction" }, { code: 6046; msg: "token is in force close"; name: "TokenInForceClose" }, { code: 6047; msg: "incorrect number of health accounts"; name: "InvalidHealthAccountCount" }, { code: 6048; msg: "would self trade"; name: "WouldSelfTrade" }, { code: 6049; msg: "conditional token swap price is not in execution range"; name: "TokenConditionalSwapPriceNotInRange" }]
                                                                                                                          • events: [{ fields: [{ index: false; name: "healthCache"; type: { defined: "HealthCache" } }, { index: false; name: "initHealth"; type: { defined: "I80F48" } }, { index: false; name: "maintHealth"; type: { defined: "I80F48" } }, { index: false; name: "equity"; type: { defined: "Equity" } }]; name: "MangoAccountData" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "basePosition"; type: "i64" }, { index: false; name: "quotePosition"; type: "i128" }, { index: false; name: "longSettledFunding"; type: "i128" }, { index: false; name: "shortSettledFunding"; type: "i128" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }]; name: "PerpBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "indexedPosition"; type: "i128" }, { index: false; name: "depositIndex"; type: "i128" }, { index: false; name: "borrowIndex"; type: "i128" }]; name: "TokenBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenLoanDetails"; type: { vec: { defined: "FlashLoanTokenDetail" } } }, { index: false; name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "FlashLoanLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenLoanDetails"; type: { vec: { defined: "FlashLoanTokenDetailV2" } } }, { index: false; name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "FlashLoanLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "signer"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "quantity"; type: "u64" }, { index: false; name: "price"; type: "i128" }]; name: "WithdrawLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "signer"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "quantity"; type: "u64" }, { index: false; name: "price"; type: "i128" }]; name: "DepositLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerOrderId"; type: "u128" }, { index: false; name: "makerFee"; type: "i128" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerOrderId"; type: "u128" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "i128" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }]; name: "FillLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerClientOrderId"; type: "u64" }, { index: false; name: "makerFee"; type: "f32" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "f32" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }]; name: "FillLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerClientOrderId"; type: "u64" }, { index: false; name: "makerFee"; type: "f32" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "f32" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }, { index: false; name: "makerClosedPnl"; type: "f64" }, { index: false; name: "takerClosedPnl"; type: "f64" }]; name: "FillLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "oracleSlot"; type: "u64" }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "feesAccrued"; type: "i128" }, { index: false; name: "feesSettled"; type: "i128" }, { index: false; name: "openInterest"; type: "i64" }, { index: false; name: "instantaneousFundingRate"; type: "i128" }]; name: "PerpUpdateFundingLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "oracleSlot"; type: "u64" }, { index: false; name: "oracleConfidence"; type: "i128" }, { index: false; name: "oracleType"; type: { defined: "OracleType" } }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "feesAccrued"; type: "i128" }, { index: false; name: "feesSettled"; type: "i128" }, { index: false; name: "openInterest"; type: "i64" }, { index: false; name: "instantaneousFundingRate"; type: "i128" }]; name: "PerpUpdateFundingLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "depositIndex"; type: "i128" }, { index: false; name: "borrowIndex"; type: "i128" }, { index: false; name: "avgUtilization"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "collectedFees"; type: "i128" }, { index: false; name: "loanFeeRate"; type: "i128" }, { index: false; name: "totalBorrows"; type: "i128" }, { index: false; name: "totalDeposits"; type: "i128" }, { index: false; name: "borrowRate"; type: "i128" }, { index: false; name: "depositRate"; type: "i128" }]; name: "UpdateIndexLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "rate0"; type: "i128" }, { index: false; name: "rate1"; type: "i128" }, { index: false; name: "maxRate"; type: "i128" }]; name: "UpdateRateLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransfer"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "bankruptcy"; type: "bool" }]; name: "TokenLiqWithTokenLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "baseTotal"; type: "u64" }, { index: false; name: "baseFree"; type: "u64" }, { index: false; name: "quoteTotal"; type: "u64" }, { index: false; name: "quoteFree"; type: "u64" }, { index: false; name: "referrerRebatesAccrued"; type: "u64" }]; name: "Serum3OpenOrdersBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "baseTotal"; type: "u64" }, { index: false; name: "baseFree"; type: "u64" }, { index: false; name: "quoteTotal"; type: "u64" }, { index: false; name: "quoteFree"; type: "u64" }, { index: false; name: "referrerRebatesAccrued"; type: "u64" }]; name: "Serum3OpenOrdersBalanceLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "loanOriginationFee"; type: "i128" }, { index: false; name: "instruction"; type: { defined: "LoanOriginationFeeInstruction" } }]; name: "WithdrawLoanOriginationFeeLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "loanAmount"; type: "i128" }, { index: false; name: "loanOriginationFee"; type: "i128" }, { index: false; name: "instruction"; type: { defined: "LoanOriginationFeeInstruction" } }, { index: false; name: "price"; type: { option: "i128" } }]; name: "WithdrawLoanLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "initialLiabNative"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "insuranceTokenIndex"; type: "u16" }, { index: false; name: "insuranceTransfer"; type: "i128" }, { index: false; name: "socializedLoss"; type: "i128" }, { index: false; name: "startingLiabDepositIndex"; type: "i128" }, { index: false; name: "endingLiabDepositIndex"; type: "i128" }]; name: "TokenLiqBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "cumulativeDepositInterest"; type: "f64" }, { index: false; name: "cumulativeBorrowInterest"; type: "f64" }]; name: "DeactivateTokenPositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "cumulativeLongFunding"; type: "f64" }, { index: false; name: "cumulativeShortFunding"; type: "f64" }, { index: false; name: "makerVolume"; type: "u64" }, { index: false; name: "takerVolume"; type: "u64" }, { index: false; name: "perpSpotTransfers"; type: "i64" }]; name: "DeactivatePerpPositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mint"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "mintDecimals"; type: "u8" }, { index: false; name: "oracle"; type: "publicKey" }, { index: false; name: "mintInfo"; type: "publicKey" }]; name: "TokenMetaDataLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarket"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "baseDecimals"; type: "u8" }, { index: false; name: "baseLotSize"; type: "i64" }, { index: false; name: "quoteLotSize"; type: "i64" }, { index: false; name: "oracle"; type: "publicKey" }]; name: "PerpMarketMetaDataLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "serumMarket"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "serumProgram"; type: "publicKey" }, { index: false; name: "serumProgramExternal"; type: "publicKey" }]; name: "Serum3RegisterMarketLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "baseTransfer"; type: "i64" }, { index: false; name: "quoteTransfer"; type: "i128" }, { index: false; name: "pnlTransfer"; type: "i128" }, { index: false; name: "pnlSettleLimitTransfer"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "PerpLiqBaseOrPositivePnlLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "insuranceTransfer"; type: "i128" }, { index: false; name: "socializedLoss"; type: "i128" }, { index: false; name: "startingLongFunding"; type: "i128" }, { index: false; name: "startingShortFunding"; type: "i128" }, { index: false; name: "endingLongFunding"; type: "i128" }, { index: false; name: "endingShortFunding"; type: "i128" }]; name: "PerpLiqBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }]; name: "PerpLiqNegativePnlOrBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccountA"; type: "publicKey" }, { index: false; name: "mangoAccountB"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }, { index: false; name: "settler"; type: "publicKey" }, { index: false; name: "fee"; type: "i128" }]; name: "PerpSettlePnlLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }]; name: "PerpSettleFeesLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "buybackFees"; type: "i128" }, { index: false; name: "buybackMngo"; type: "i128" }, { index: false; name: "mngoBuybackPrice"; type: "i128" }, { index: false; name: "oraclePrice"; type: "i128" }]; name: "AccountBuybackFeesWithMngoLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "seqNum"; type: "u64" }]; name: "FilledPerpOrderLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "totalBaseLotsTaken"; type: "i64" }, { index: false; name: "totalBaseLotsDecremented"; type: "i64" }, { index: false; name: "totalQuoteLotsTaken"; type: "i64" }, { index: false; name: "totalQuoteLotsDecremented"; type: "i64" }, { index: false; name: "takerFeesPaid"; type: "i128" }, { index: false; name: "feePenalty"; type: "i128" }]; name: "PerpTakerTradeLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "accountA"; type: "publicKey" }, { index: false; name: "accountB"; type: "publicKey" }, { index: false; name: "baseTransfer"; type: "i64" }, { index: false; name: "quoteTransfer"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "PerpForceClosePositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransfer"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "feeFactor"; type: "i128" }]; name: "TokenForceCloseBorrowsWithTokenLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }, { index: false; name: "maxBuy"; type: "u64" }, { index: false; name: "maxSell"; type: "u64" }, { index: false; name: "expiryTimestamp"; type: "u64" }, { index: false; name: "priceLowerLimit"; type: "f64" }, { index: false; name: "priceUpperLimit"; type: "f64" }, { index: false; name: "pricePremiumRate"; type: "f64" }, { index: false; name: "takerFeeRate"; type: "f32" }, { index: false; name: "makerFeeRate"; type: "f32" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "allowCreatingDeposits"; type: "bool" }, { index: false; name: "allowCreatingBorrows"; type: "bool" }]; name: "TokenConditionalSwapCreateLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }, { index: false; name: "maxBuy"; type: "u64" }, { index: false; name: "maxSell"; type: "u64" }, { index: false; name: "expiryTimestamp"; type: "u64" }, { index: false; name: "priceLowerLimit"; type: "f64" }, { index: false; name: "priceUpperLimit"; type: "f64" }, { index: false; name: "pricePremiumRate"; type: "f64" }, { index: false; name: "takerFeeRate"; type: "f32" }, { index: false; name: "makerFeeRate"; type: "f32" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "allowCreatingDeposits"; type: "bool" }, { index: false; name: "allowCreatingBorrows"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }]; name: "TokenConditionalSwapCreateLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "buyAmount"; type: "u64" }, { index: false; name: "sellAmount"; type: "u64" }, { index: false; name: "makerFee"; type: "u64" }, { index: false; name: "takerFee"; type: "u64" }, { index: false; name: "buyTokenPrice"; type: "i128" }, { index: false; name: "sellTokenPrice"; type: "i128" }, { index: false; name: "closed"; type: "bool" }]; name: "TokenConditionalSwapTriggerLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "buyAmount"; type: "u64" }, { index: false; name: "sellAmount"; type: "u64" }, { index: false; name: "makerFee"; type: "u64" }, { index: false; name: "takerFee"; type: "u64" }, { index: false; name: "buyTokenPrice"; type: "i128" }, { index: false; name: "sellTokenPrice"; type: "i128" }, { index: false; name: "closed"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }]; name: "TokenConditionalSwapTriggerLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }]; name: "TokenConditionalSwapCancelLog" }]
                                                                                                                          • instructions: [{ accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: true; name: "admin" }]; args: []; name: "adminTokenWithdrawFees" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: true; name: "admin" }]; args: []; name: "adminPerpWithdrawFees" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Group" }, { kind: "account"; path: "creator"; type: "publicKey" }, { kind: "arg"; path: "group_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "creator" }, { isMut: false; isSigner: false; name: "insuranceMint" }, { isMut: true; isSigner: false; name: "insuranceVault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "InsuranceVault" }, { kind: "account"; path: "group"; type: "publicKey" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "groupNum"; type: "u32" }, { name: "testing"; type: "u8" }, { name: "version"; type: "u8" }]; name: "groupCreate" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "adminOpt"; type: { option: "publicKey" } }, { name: "fastListingAdminOpt"; type: { option: "publicKey" } }, { name: "securityAdminOpt"; type: { option: "publicKey" } }, { name: "testingOpt"; type: { option: "u8" } }, { name: "versionOpt"; type: { option: "u8" } }, { name: "depositLimitQuoteOpt"; type: { option: "u64" } }, { name: "buybackFeesOpt"; type: { option: "bool" } }, { name: "buybackFeesBonusFactorOpt"; type: { option: "f32" } }, { name: "buybackFeesSwapMangoAccountOpt"; type: { option: "publicKey" } }, { name: "mngoTokenIndexOpt"; type: { option: "u16" } }, { name: "buybackFeesExpiryIntervalOpt"; type: { option: "u64" } }]; name: "groupEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault", "admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "destination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }]; name: "groupWithdrawInsuranceFund" }, { accounts: [{ isMut: true; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "ixGate"; type: "u128" }]; name: "ixGateSet" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin", "insurance_vault"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "groupClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "mintInfo"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MintInfo" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "mint"; type: "publicKey" }] } }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oracleConfig"; type: { defined: "OracleConfigParams" } }, { name: "interestRateParams"; type: { defined: "InterestRateParams" } }, { name: "loanFeeRate"; type: "f32" }, { name: "loanOriginationFeeRate"; type: "f32" }, { name: "maintAssetWeight"; type: "f32" }, { name: "initAssetWeight"; type: "f32" }, { name: "maintLiabWeight"; type: "f32" }, { name: "initLiabWeight"; type: "f32" }, { name: "liquidationFee"; type: "f32" }, { name: "stablePriceDelayIntervalSeconds"; type: "u32" }, { name: "stablePriceDelayGrowthLimit"; type: "f32" }, { name: "stablePriceGrowthLimit"; type: "f32" }, { name: "minVaultToDepositsRatio"; type: "f64" }, { name: "netBorrowLimitWindowSizeTs"; type: "u64" }, { name: "netBorrowLimitPerWindowQuote"; type: "i64" }, { name: "borrowWeightScaleStartQuote"; type: "f64" }, { name: "depositWeightScaleStartQuote"; type: "f64" }, { name: "reduceOnly"; type: "u8" }, { name: "tokenConditionalSwapTakerFeeRate"; type: "f32" }, { name: "tokenConditionalSwapMakerFeeRate"; type: "f32" }, { name: "flashLoanSwapFeeRate"; type: "f32" }]; name: "tokenRegister" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "mintInfo"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MintInfo" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "mint"; type: "publicKey" }] } }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "name"; type: "string" }]; name: "tokenRegisterTrustless" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group"] }, { docs: ["The oracle account is optional and only used when reset_stable_price is set.", ""]; isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "oracleOpt"; type: { option: "publicKey" } }, { name: "oracleConfigOpt"; type: { option: { defined: "OracleConfigParams" } } }, { name: "groupInsuranceFundOpt"; type: { option: "bool" } }, { name: "interestRateParamsOpt"; type: { option: { defined: "InterestRateParams" } } }, { name: "loanFeeRateOpt"; type: { option: "f32" } }, { name: "loanOriginationFeeRateOpt"; type: { option: "f32" } }, { name: "maintAssetWeightOpt"; type: { option: "f32" } }, { name: "initAssetWeightOpt"; type: { option: "f32" } }, { name: "maintLiabWeightOpt"; type: { option: "f32" } }, { name: "initLiabWeightOpt"; type: { option: "f32" } }, { name: "liquidationFeeOpt"; type: { option: "f32" } }, { name: "stablePriceDelayIntervalSecondsOpt"; type: { option: "u32" } }, { name: "stablePriceDelayGrowthLimitOpt"; type: { option: "f32" } }, { name: "stablePriceGrowthLimitOpt"; type: { option: "f32" } }, { name: "minVaultToDepositsRatioOpt"; type: { option: "f64" } }, { name: "netBorrowLimitPerWindowQuoteOpt"; type: { option: "i64" } }, { name: "netBorrowLimitWindowSizeTsOpt"; type: { option: "u64" } }, { name: "borrowWeightScaleStartQuoteOpt"; type: { option: "f64" } }, { name: "depositWeightScaleStartQuoteOpt"; type: { option: "f64" } }, { name: "resetStablePrice"; type: "bool" }, { name: "resetNetBorrowLimit"; type: "bool" }, { name: "reduceOnlyOpt"; type: { option: "u8" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "tokenConditionalSwapTakerFeeRateOpt"; type: { option: "f32" } }, { name: "tokenConditionalSwapMakerFeeRateOpt"; type: { option: "f32" } }, { name: "flashLoanSwapFeeRateOpt"; type: { option: "f32" } }]; name: "tokenEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: false; isSigner: false; name: "existingBank"; relations: ["group", "mint"] }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "arg"; path: "bank_num"; type: "u32" }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "arg"; path: "bank_num"; type: "u32" }] } }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group", "mint"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "bankNum"; type: "u32" }]; name: "tokenAddBank" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "dustVault" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "tokenDeregister" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "mintInfo"; relations: ["oracle", "group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: false; isSigner: false; name: "instructions" }]; args: []; name: "tokenUpdateIndexAndRate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MangoAccount" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "owner"; type: "publicKey" }, { kind: "arg"; path: "account_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "accountNum"; type: "u32" }, { name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "name"; type: "string" }]; name: "accountCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }]; name: "accountExpand" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "tokenConditionalSwapCount"; type: "u8" }]; name: "accountExpandV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }]; args: [{ name: "nameOpt"; type: { option: "string" } }, { name: "delegateOpt"; type: { option: "publicKey" } }, { name: "temporaryDelegateOpt"; type: { option: "publicKey" } }, { name: "temporaryDelegateExpiryOpt"; type: { option: "u64" } }]; name: "accountEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "freeze"; type: "bool" }]; name: "accountToggleFreeze" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "forceClose"; type: "bool" }]; name: "accountClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "daoAccount"; relations: ["group"] }, { isMut: true; isSigner: false; name: "mngoBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "mngoOracle" }, { isMut: true; isSigner: false; name: "feesBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "feesOracle" }]; args: [{ name: "maxBuybackUsd"; type: "u64" }]; name: "accountBuybackFeesWithMngo" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: false; name: "oracle"; pda: { seeds: [{ kind: "const"; type: "string"; value: "StubOracle" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "mint"; type: "publicKey" }] } }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "price"; type: { defined: "I80F48" } }]; name: "stubOracleCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "stubOracleClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }]; args: [{ name: "price"; type: { defined: "I80F48" } }]; name: "stubOracleSet" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }]; args: [{ name: "price"; type: { defined: "I80F48" } }, { name: "lastUpdateSlot"; type: "u64" }, { name: "deviation"; type: { defined: "I80F48" } }]; name: "stubOracleSetTest" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: true; name: "tokenAuthority" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "reduceOnly"; type: "bool" }]; name: "tokenDeposit" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: true; name: "tokenAuthority" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "reduceOnly"; type: "bool" }]; name: "tokenDepositIntoExisting" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "allowBorrow"; type: "bool" }]; name: "tokenWithdraw" }, { accounts: [{ isMut: false; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { docs: ["Instructions Sysvar for instruction introspection"]; isMut: false; isSigner: false; name: "instructions" }]; args: [{ name: "loanAmounts"; type: { vec: "u64" } }]; name: "flashLoanBegin" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "flashLoanEnd" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "numLoans"; type: "u8" }, { name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "flashLoanEndV2" }, { accounts: [{ docs: ["Instructions Sysvar for instruction introspection"]; isMut: false; isSigner: false; name: "instructions" }, { isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }]; args: []; name: "healthRegionBegin" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }]; args: []; name: "healthRegionEnd" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "serumMarket"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3Market" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "serum_market_external"; type: "publicKey" }] } }, { isMut: true; isSigner: false; name: "indexReservation"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3Index" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "market_index"; type: "u16" }] } }, { isMut: false; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "marketIndex"; type: "u16" }, { name: "name"; type: "string" }]; docs: ["", "Serum", ""]; name: "serum3RegisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "market"; relations: ["group"] }]; args: [{ name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "nameOpt"; type: { option: "string" } }]; name: "serum3EditMarket" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "serumMarket"; relations: ["group"] }, { isMut: true; isSigner: false; name: "indexReservation"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "serum3DeregisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "openOrders"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3OO" }, { kind: "account"; path: "account"; type: "publicKey" }, { kind: "account"; path: "serum_market"; type: "publicKey" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: []; name: "serum3CreateOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: true; isSigner: false; name: "solDestination" }]; args: []; name: "serum3CloseOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }, { isMut: true; isSigner: false; name: "marketRequestQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerVault" }, { isMut: false; isSigner: false; name: "payerOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: { defined: "Serum3Side" } }, { name: "limitPrice"; type: "u64" }, { name: "maxBaseQty"; type: "u64" }, { name: "maxNativeQuoteQtyIncludingFees"; type: "u64" }, { name: "selfTradeBehavior"; type: { defined: "Serum3SelfTradeBehavior" } }, { name: "orderType"; type: { defined: "Serum3OrderType" } }, { name: "clientOrderId"; type: "u64" }, { name: "limit"; type: "u16" }]; name: "serum3PlaceOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }]; args: [{ name: "side"; type: { defined: "Serum3Side" } }, { name: "orderId"; type: "u128" }]; name: "serum3CancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }]; args: [{ name: "limit"; type: "u8" }]; name: "serum3CancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; docs: ["Deprecated instruction that used to settles all free funds from the OpenOrders account", "into the MangoAccount.", "", "Any serum \"referrer rebates\" (ui fees) are considered Mango fees."]; name: "serum3SettleFunds" }, { accounts: [{ accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; name: "v1" }, { accounts: [{ isMut: false; isSigner: false; name: "quoteOracle" }, { isMut: false; isSigner: false; name: "baseOracle" }]; name: "v2" }]; args: [{ name: "feesToDao"; type: "bool" }]; docs: ["Like Serum3SettleFunds, but `fees_to_dao` determines if referrer rebates are considered fees", "or are credited to the MangoAccount."]; name: "serum3SettleFundsV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "limit"; type: "u8" }]; name: "serum3LiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "liqTokenWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: false; isSigner: false; name: "liabMintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "liqTokenBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "tokenLiqWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: "u64" }]; name: "tokenForceCloseBorrowsWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: false; isSigner: false; name: "liabMintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "tokenLiqBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "perpMarket"; pda: { seeds: [{ kind: "const"; type: "string"; value: "PerpMarket" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "perp_market_index"; type: "u16" }] } }, { docs: ["Accounts are initialised by client,", "anchor discriminator is set first when ix exits,"]; isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "perpMarketIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oracleConfig"; type: { defined: "OracleConfigParams" } }, { name: "baseDecimals"; type: "u8" }, { name: "quoteLotSize"; type: "i64" }, { name: "baseLotSize"; type: "i64" }, { name: "maintBaseAssetWeight"; type: "f32" }, { name: "initBaseAssetWeight"; type: "f32" }, { name: "maintBaseLiabWeight"; type: "f32" }, { name: "initBaseLiabWeight"; type: "f32" }, { name: "maintOverallAssetWeight"; type: "f32" }, { name: "initOverallAssetWeight"; type: "f32" }, { name: "baseLiquidationFee"; type: "f32" }, { name: "makerFee"; type: "f32" }, { name: "takerFee"; type: "f32" }, { name: "minFunding"; type: "f32" }, { name: "maxFunding"; type: "f32" }, { name: "impactQuantity"; type: "i64" }, { name: "groupInsuranceFund"; type: "bool" }, { name: "feePenalty"; type: "f32" }, { name: "settleFeeFlat"; type: "f32" }, { name: "settleFeeAmountThreshold"; type: "f32" }, { name: "settleFeeFractionLowHealth"; type: "f32" }, { name: "settleTokenIndex"; type: "u16" }, { name: "settlePnlLimitFactor"; type: "f32" }, { name: "settlePnlLimitWindowSizeTs"; type: "u64" }, { name: "positivePnlLiquidationFee"; type: "f32" }]; docs: ["", "Perps", ""]; name: "perpCreateMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group"] }, { docs: ["The oracle account is optional and only used when reset_stable_price is set.", ""]; isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "oracleOpt"; type: { option: "publicKey" } }, { name: "oracleConfigOpt"; type: { option: { defined: "OracleConfigParams" } } }, { name: "baseDecimalsOpt"; type: { option: "u8" } }, { name: "maintBaseAssetWeightOpt"; type: { option: "f32" } }, { name: "initBaseAssetWeightOpt"; type: { option: "f32" } }, { name: "maintBaseLiabWeightOpt"; type: { option: "f32" } }, { name: "initBaseLiabWeightOpt"; type: { option: "f32" } }, { name: "maintOverallAssetWeightOpt"; type: { option: "f32" } }, { name: "initOverallAssetWeightOpt"; type: { option: "f32" } }, { name: "baseLiquidationFeeOpt"; type: { option: "f32" } }, { name: "makerFeeOpt"; type: { option: "f32" } }, { name: "takerFeeOpt"; type: { option: "f32" } }, { name: "minFundingOpt"; type: { option: "f32" } }, { name: "maxFundingOpt"; type: { option: "f32" } }, { name: "impactQuantityOpt"; type: { option: "i64" } }, { name: "groupInsuranceFundOpt"; type: { option: "bool" } }, { name: "feePenaltyOpt"; type: { option: "f32" } }, { name: "settleFeeFlatOpt"; type: { option: "f32" } }, { name: "settleFeeAmountThresholdOpt"; type: { option: "f32" } }, { name: "settleFeeFractionLowHealthOpt"; type: { option: "f32" } }, { name: "stablePriceDelayIntervalSecondsOpt"; type: { option: "u32" } }, { name: "stablePriceDelayGrowthLimitOpt"; type: { option: "f32" } }, { name: "stablePriceGrowthLimitOpt"; type: { option: "f32" } }, { name: "settlePnlLimitFactorOpt"; type: { option: "f32" } }, { name: "settlePnlLimitWindowSizeTsOpt"; type: { option: "u64" } }, { name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "resetStablePrice"; type: "bool" }, { name: "positivePnlLiquidationFeeOpt"; type: { option: "f32" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "forceCloseOpt"; type: { option: "bool" } }]; name: "perpEditMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "perpCloseMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "perpMarket"; relations: ["group"] }]; args: []; name: "perpDeactivatePosition" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceLots"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }]; name: "perpPlaceOrder"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceLots"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "selfTradeBehavior"; type: { defined: "SelfTradeBehavior" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }]; name: "perpPlaceOrderV2"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceOffsetLots"; type: "i64" }, { name: "pegLimit"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }, { name: "maxOracleStalenessSlots"; type: "i32" }]; name: "perpPlaceOrderPegged"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceOffsetLots"; type: "i64" }, { name: "pegLimit"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "selfTradeBehavior"; type: { defined: "SelfTradeBehavior" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }, { name: "maxOracleStalenessSlots"; type: "i32" }]; name: "perpPlaceOrderPeggedV2"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "orderId"; type: "u128" }]; name: "perpCancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "clientOrderId"; type: "u64" }]; name: "perpCancelOrderByClientOrderId" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }]; name: "perpCancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "sideOption"; type: { option: { defined: "Side" } } }, { name: "limit"; type: "u8" }]; name: "perpCancelAllOrdersBySide" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "event_queue"] }, { isMut: true; isSigner: false; name: "eventQueue" }]; args: [{ name: "limit"; type: "u64" }]; name: "perpConsumeEvents" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: false; isSigner: false; name: "oracle" }]; args: []; name: "perpUpdateFunding" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "settler"; relations: ["group"] }, { isMut: false; isSigner: true; name: "settlerOwner" }, { isMut: false; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "accountA"; relations: ["group"] }, { isMut: true; isSigner: false; name: "accountB"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: []; name: "perpSettlePnl" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "accountA"; relations: ["group"] }, { isMut: true; isSigner: false; name: "accountB"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }]; args: []; name: "perpForceClosePosition" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: [{ name: "maxSettleAmount"; type: "u64" }]; name: "perpSettleFees" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: [{ name: "maxBaseTransfer"; type: "i64" }, { name: "maxPnlTransfer"; type: "u64" }]; name: "perpLiqBaseOrPositivePnl" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }]; name: "perpLiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: "u64" }]; name: "perpLiqNegativePnlOrBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "insuranceBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "insuranceBankVault" }, { isMut: false; isSigner: false; name: "insuranceOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: "u64" }]; name: "perpLiqNegativePnlOrBankruptcyV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceLowerLimit"; type: "f64" }, { name: "priceUpperLimit"; type: "f64" }, { name: "pricePremiumRate"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }]; name: "tokenConditionalSwapCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceLowerLimit"; type: "f64" }, { name: "priceUpperLimit"; type: "f64" }, { name: "pricePremiumRate"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }, { name: "displayPriceStyle"; type: { defined: "TokenConditionalSwapDisplayPriceStyle" } }, { name: "intention"; type: { defined: "TokenConditionalSwapIntention" } }]; name: "tokenConditionalSwapCreateV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { docs: ["The bank's token_index is checked at #1"]; isMut: true; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }]; name: "tokenConditionalSwapCancel" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorAuthority" }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }, { name: "maxBuyTokenToLiqee"; type: "u64" }, { name: "maxSellTokenToLiqor"; type: "u64" }]; name: "tokenConditionalSwapTrigger" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "addressLookupTable" }]; args: [{ name: "index"; type: "u8" }]; name: "altSet" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: true; name: "payer" }, { isMut: true; isSigner: false; name: "addressLookupTable" }]; args: [{ name: "index"; type: "u8" }, { name: "newAddresses"; type: { vec: "publicKey" } }]; name: "altExtend" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "account"; relations: ["group"] }]; args: []; name: "computeAccountData" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "openbookV2Market"; pda: { seeds: [{ kind: "const"; type: "string"; value: "OpenbookV2Market" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "openbook_v2_market_external"; type: "publicKey" }] } }, { isMut: true; isSigner: false; name: "indexReservation"; pda: { seeds: [{ kind: "const"; type: "string"; value: "OpenbookV2Index" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "market_index"; type: "u16" }] } }, { isMut: false; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "marketIndex"; type: "u16" }, { name: "name"; type: "string" }]; docs: ["", "OpenbookV2", ""]; name: "openbookV2RegisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "market"; relations: ["group"] }]; args: [{ name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "forceCloseOpt"; type: { option: "bool" } }]; name: "openbookV2EditMarket" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "openbookV2Market"; relations: ["group"] }, { isMut: true; isSigner: false; name: "indexReservation"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "openbookV2DeregisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "openOrders"; pda: { programId: { kind: "account"; path: "openbook_v2_program"; type: "publicKey" }; seeds: [{ kind: "const"; type: "string"; value: "OpenOrders" }, { kind: "account"; path: "openbook_v2_market"; type: "publicKey" }, { kind: "account"; path: "openbook_v2_market_external"; type: "publicKey" }, { kind: "arg"; path: "account_num"; type: "u32" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "accountNum"; type: "u32" }]; name: "openbookV2CreateOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: true; isSigner: false; name: "solDestination" }]; args: []; name: "openbookV2CloseOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market" }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks", "event_queue"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerVault" }, { isMut: false; isSigner: false; name: "payerOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: "u8" }, { name: "limitPrice"; type: "u64" }, { name: "maxBaseQty"; type: "u64" }, { name: "maxNativeQuoteQtyIncludingFees"; type: "u64" }, { name: "selfTradeBehavior"; type: "u8" }, { name: "orderType"; type: "u8" }, { name: "clientOrderId"; type: "u64" }, { name: "limit"; type: "u16" }]; name: "openbookV2PlaceOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks", "event_queue"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: false; name: "marketRequestQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerVault" }, { isMut: false; isSigner: false; name: "payerOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: "u8" }, { name: "limitPrice"; type: "u64" }, { name: "maxBaseQty"; type: "u64" }, { name: "maxNativeQuoteQtyIncludingFees"; type: "u64" }, { name: "selfTradeBehavior"; type: "u8" }, { name: "clientOrderId"; type: "u64" }, { name: "limit"; type: "u16" }]; name: "openbookV2PlaceTakerOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "side"; type: "u8" }, { name: "orderId"; type: "u128" }]; name: "openbookV2CancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "quoteOracle" }, { isMut: false; isSigner: false; name: "baseOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "feesToDao"; type: "bool" }]; name: "openbookV2SettleFunds" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks", "event_queue"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "limit"; type: "u8" }]; name: "openbookV2LiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }]; name: "openbookV2CancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "dummy" }]; args: []; docs: ["", "benchmark", ""]; name: "benchmark" }]
                                                                                                                          • name: "mango_v4"
                                                                                                                          • types: [{ name: "InterestRateParams"; type: { fields: [{ name: "util0"; type: "f32" }, { name: "rate0"; type: "f32" }, { name: "util1"; type: "f32" }, { name: "rate1"; type: "f32" }, { name: "maxRate"; type: "f32" }, { name: "adjustmentFactor"; type: "f32" }]; kind: "struct" } }, { name: "Equity"; type: { fields: [{ name: "tokens"; type: { vec: { defined: "TokenEquity" } } }, { name: "perps"; type: { vec: { defined: "PerpEquity" } } }]; kind: "struct" } }, { name: "TokenEquity"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "value"; type: { defined: "I80F48" } }]; kind: "struct" } }, { name: "PerpEquity"; type: { fields: [{ name: "perpMarketIndex"; type: "u16" }, { name: "value"; type: { defined: "I80F48" } }]; kind: "struct" } }, { docs: ["Information about prices for a bank or perp market."]; name: "Prices"; type: { fields: [{ docs: ["The current oracle price"]; name: "oracle"; type: { defined: "I80F48" } }, { docs: ["A \"stable\" price, provided by StablePriceModel"]; name: "stable"; type: { defined: "I80F48" } }]; kind: "struct" } }, { name: "TokenInfo"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "maintAssetWeight"; type: { defined: "I80F48" } }, { name: "initAssetWeight"; type: { defined: "I80F48" } }, { name: "initScaledAssetWeight"; type: { defined: "I80F48" } }, { name: "maintLiabWeight"; type: { defined: "I80F48" } }, { name: "initLiabWeight"; type: { defined: "I80F48" } }, { name: "initScaledLiabWeight"; type: { defined: "I80F48" } }, { name: "prices"; type: { defined: "Prices" } }, { docs: ["Freely available spot balance for the token.", "", "Includes TokenPosition and free Serum3OpenOrders balances.", "Does not include perp upnl or Serum3 reserved amounts."]; name: "balanceSpot"; type: { defined: "I80F48" } }]; kind: "struct" } }, { docs: ["Information about reserved funds on Serum3 open orders accounts.", "", "Note that all \"free\" funds on open orders accounts are added directly", "to the token info. This is only about dealing with the reserved funds", "that might end up as base OR quote tokens, depending on whether the", "open orders execute on not."]; name: "Serum3Info"; type: { fields: [{ name: "reservedBase"; type: { defined: "I80F48" } }, { name: "reservedQuote"; type: { defined: "I80F48" } }, { name: "baseInfoIndex"; type: "u64" }, { name: "quoteInfoIndex"; type: "u64" }, { name: "marketIndex"; type: "u16" }, { docs: ["The open orders account has no free or reserved funds"]; name: "hasZeroFunds"; type: "bool" }]; kind: "struct" } }, { docs: ["Stores information about perp market positions and their open orders.", "", "Perp markets affect account health indirectly, though the token balance in the", "perp market's settle token. See `effective_token_balances()`."]; name: "PerpInfo"; type: { fields: [{ name: "perpMarketIndex"; type: "u16" }, { name: "settleTokenIndex"; type: "u16" }, { name: "maintBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "initBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "maintBaseLiabWeight"; type: { defined: "I80F48" } }, { name: "initBaseLiabWeight"; type: { defined: "I80F48" } }, { name: "maintOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "initOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "baseLotSize"; type: "i64" }, { name: "baseLots"; type: "i64" }, { name: "bidsBaseLots"; type: "i64" }, { name: "asksBaseLots"; type: "i64" }, { name: "quote"; type: { defined: "I80F48" } }, { name: "basePrices"; type: { defined: "Prices" } }, { name: "hasOpenOrders"; type: "bool" }, { name: "hasOpenFills"; type: "bool" }]; kind: "struct" } }, { docs: ["Store information needed to compute account health", "", "This is called a cache, because it extracts information from a MangoAccount and", "the Bank, Perp, oracle accounts once and then allows computing different types", "of health.", "", "For compute-saving reasons, it also allows applying adjustments to the extracted", "positions. That's often helpful for instructions that want to re-compute health", "after having made small, well-known changes to an account. Recomputing the", "HealthCache from scratch would be significantly more expensive.", "", "However, there's a real risk of getting the adjustments wrong and computing an", "inconsistent result, so particular care needs to be taken when this is done."]; name: "HealthCache"; type: { fields: [{ name: "tokenInfos"; type: { vec: { defined: "TokenInfo" } } }, { name: "serum3Infos"; type: { vec: { defined: "Serum3Info" } } }, { name: "perpInfos"; type: { vec: { defined: "PerpInfo" } } }, { name: "beingLiquidated"; type: "bool" }]; kind: "struct" } }, { name: "FlashLoanTokenDetail"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "changeAmount"; type: "i128" }, { name: "loan"; type: "i128" }, { name: "loanOriginationFee"; type: "i128" }, { name: "depositIndex"; type: "i128" }, { name: "borrowIndex"; type: "i128" }, { name: "price"; type: "i128" }]; kind: "struct" } }, { name: "FlashLoanTokenDetailV2"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "changeAmount"; type: "i128" }, { name: "loan"; type: "i128" }, { name: "loanOriginationFee"; type: "i128" }, { name: "depositIndex"; type: "i128" }, { name: "borrowIndex"; type: "i128" }, { name: "price"; type: "i128" }, { name: "swapFee"; type: "i128" }]; kind: "struct" } }, { name: "TokenPosition"; type: { fields: [{ docs: ["The deposit_index (if positive) or borrow_index (if negative) scaled position"]; name: "indexedPosition"; type: { defined: "I80F48" } }, { docs: ["index into Group.tokens"]; name: "tokenIndex"; type: "u16" }, { docs: ["incremented when a market requires this position to stay alive"]; name: "inUseCount"; type: "u16" }, { name: "padding"; type: { array: ["u8", 4] } }, { name: "previousIndex"; type: { defined: "I80F48" } }, { name: "cumulativeDepositInterest"; type: "f64" }, { name: "cumulativeBorrowInterest"; type: "f64" }, { name: "reserved"; type: { array: ["u8", 128] } }]; kind: "struct" } }, { name: "Serum3Orders"; type: { fields: [{ name: "openOrders"; type: "publicKey" }, { docs: ["Tracks the amount of borrows that have flowed into the serum open orders account.", "These borrows did not have the loan origination fee applied, and that may happen", "later (in serum3_settle_funds) if we can guarantee that the funds were used.", "In particular a place-on-book, cancel, settle should not cost fees."]; name: "baseBorrowsWithoutFee"; type: "u64" }, { name: "quoteBorrowsWithoutFee"; type: "u64" }, { name: "marketIndex"; type: "u16" }, { docs: ["Store the base/quote token index, so health computations don't need", "to get passed the static SerumMarket to find which tokens a market", "uses and look up the correct oracles."]; name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { name: "reserved"; type: { array: ["u8", 64] } }]; kind: "struct" } }, { name: "PerpPosition"; type: { fields: [{ name: "marketIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { docs: ["Index of the current settle pnl limit window"]; name: "settlePnlLimitWindow"; type: "u32" }, { docs: ["Amount of realized trade pnl and unrealized pnl that was already settled this window.", "", "Will be negative when negative pnl was settled.", "", "Note that this will be adjusted for bookkeeping reasons when the realized_trade settle", "limitchanges and is not useable for actually tracking how much pnl was settled", "on balance."]; name: "settlePnlLimitSettledInCurrentWindowNative"; type: "i64" }, { docs: ["Active position size, measured in base lots"]; name: "basePositionLots"; type: "i64" }, { docs: ["Active position in oracle quote native. At the same time this is 1:1 a settle_token native amount.", "", "Example: Say there's a perp market on the BTC/USD price using SOL for settlement. The user buys", "one long contract for $20k, then base = 1, quote = -20k. The price goes to $21k. Now their", "unsettled pnl is (1 * 21k - 20k) __SOL__ = 1000 SOL. This is because the perp contract arbitrarily", "decides that each unit of price difference creates 1 SOL worth of settlement.", "(yes, causing 1 SOL of settlement for each $1 price change implies a lot of extra leverage; likely", "there should be an extra configurable scaling factor before we use this for cases like that)"]; name: "quotePositionNative"; type: { defined: "I80F48" } }, { docs: ["Tracks what the position is to calculate average entry & break even price"]; name: "quoteRunningNative"; type: "i64" }, { docs: ["Already settled long funding"]; name: "longSettledFunding"; type: { defined: "I80F48" } }, { docs: ["Already settled short funding"]; name: "shortSettledFunding"; type: { defined: "I80F48" } }, { docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { docs: ["Amount of base lots on the EventQueue waiting to be processed"]; name: "takerBaseLots"; type: "i64" }, { docs: ["Amount of quote lots on the EventQueue waiting to be processed"]; name: "takerQuoteLots"; type: "i64" }, { docs: ["Cumulative long funding in quote native units.", "If the user paid $1 in funding for a long position, this would be 1e6.", "Beware of the sign!", "", "(Display only)"]; name: "cumulativeLongFunding"; type: "f64" }, { docs: ["Cumulative short funding in quote native units", "If the user paid $1 in funding for a short position, this would be -1e6.", "", "(Display only)"]; name: "cumulativeShortFunding"; type: "f64" }, { docs: ["Cumulative maker volume in quote native units", "", "(Display only)"]; name: "makerVolume"; type: "u64" }, { docs: ["Cumulative taker volume in quote native units", "", "(Display only)"]; name: "takerVolume"; type: "u64" }, { docs: ["Cumulative number of quote native units transfered from the perp position", "to the settle token spot position.", "", "For example, if the user settled $1 of positive pnl into their USDC spot", "position, this would be 1e6.", "", "(Display only)"]; name: "perpSpotTransfers"; type: "i64" }, { docs: ["The native average entry price for the base lots of the current position.", "Reset to 0 when the base position reaches or crosses 0."]; name: "avgEntryPricePerBaseLot"; type: "f64" }, { docs: ["Amount of pnl that was realized by bringing the base position closer to 0.", "", "The settlement of this type of pnl is limited by settle_pnl_limit_realized_trade.", "Settling pnl reduces this value once other_pnl below is exhausted."]; name: "realizedTradePnlNative"; type: { defined: "I80F48" } }, { docs: ["Amount of pnl realized from fees, funding and liquidation.", "", "This type of realized pnl is always settleable.", "Settling pnl reduces this value first."]; name: "realizedOtherPnlNative"; type: { defined: "I80F48" } }, { docs: ["Settle limit contribution from realized pnl.", "", "Every time pnl is realized, this is increased by a fraction of the stable", "value of the realization. It magnitude decreases when realized pnl drops below its value."]; name: "settlePnlLimitRealizedTrade"; type: "i64" }, { docs: ["Trade pnl, fees, funding that were added over the current position's lifetime.", "", "Reset when the position changes sign or goes to zero.", "Not decreased by settling.", "", "This is tracked for display purposes: this value plus the difference between entry", "price and current price of the base position is the overall pnl."]; name: "realizedPnlForPositionNative"; type: { defined: "I80F48" } }, { name: "reserved"; type: { array: ["u8", 88] } }]; kind: "struct" } }, { name: "PerpOpenOrder"; type: { fields: [{ name: "sideAndTree"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 1] } }, { name: "market"; type: "u16" }, { name: "padding2"; type: { array: ["u8", 4] } }, { name: "clientId"; type: "u64" }, { name: "id"; type: "u128" }, { name: "reserved"; type: { array: ["u8", 64] } }]; kind: "struct" } }, { name: "MangoAccountFixed"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "owner"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 32] } }, { name: "delegate"; type: "publicKey" }, { name: "accountNum"; type: "u32" }, { name: "beingLiquidated"; type: "u8" }, { name: "inHealthRegion"; type: "u8" }, { name: "bump"; type: "u8" }, { name: "padding"; type: { array: ["u8", 1] } }, { name: "netDeposits"; type: "i64" }, { name: "perpSpotTransfers"; type: "i64" }, { name: "healthRegionBeginInitHealth"; type: "i64" }, { name: "frozenUntil"; type: "u64" }, { name: "buybackFeesAccruedCurrent"; type: "u64" }, { name: "buybackFeesAccruedPrevious"; type: "u64" }, { name: "buybackFeesExpiryTimestamp"; type: "u64" }, { name: "nextTokenConditionalSwapId"; type: "u64" }, { name: "temporaryDelegate"; type: "publicKey" }, { name: "temporaryDelegateExpiry"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 160] } }]; kind: "struct" } }, { name: "OracleConfig"; type: { fields: [{ name: "confFilter"; type: { defined: "I80F48" } }, { name: "maxStalenessSlots"; type: "i64" }, { name: "reserved"; type: { array: ["u8", 72] } }]; kind: "struct" } }, { name: "OracleConfigParams"; type: { fields: [{ name: "confFilter"; type: "f32" }, { name: "maxStalenessSlots"; type: { option: "u32" } }]; kind: "struct" } }, { docs: ["InnerNodes and LeafNodes compose the binary tree of orders.", "", "Each InnerNode has exactly two children, which are either InnerNodes themselves,", "or LeafNodes. The children share the top `prefix_len` bits of `key`. The left", "child has a 0 in the next bit, and the right a 1."]; name: "InnerNode"; type: { fields: [{ name: "tag"; type: "u8" }, { name: "padding"; type: { array: ["u8", 3] } }, { docs: ["number of highest `key` bits that all children share", "e.g. if it's 2, the two highest bits of `key` will be the same on all children"]; name: "prefixLen"; type: "u32" }, { docs: ["only the top `prefix_len` bits of `key` are relevant"]; name: "key"; type: "u128" }, { docs: ["indexes into `BookSide::nodes`"]; name: "children"; type: { array: ["u32", 2] } }, { docs: ["The earliest expiry timestamp for the left and right subtrees.", "", "Needed to be able to find and remove expired orders without having to", "iterate through the whole bookside."]; name: "childEarliestExpiry"; type: { array: ["u64", 2] } }, { name: "reserved"; type: { array: ["u8", 72] } }]; kind: "struct" } }, { docs: ["LeafNodes represent an order in the binary tree"]; name: "LeafNode"; type: { fields: [{ docs: ["NodeTag"]; name: "tag"; type: "u8" }, { docs: ["Index into the owning MangoAccount's PerpOpenOrders"]; name: "ownerSlot"; type: "u8" }, { docs: ["PostOrderType, this was added for TradingView move order"]; name: "orderType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 1] } }, { docs: ["Time in seconds after `timestamp` at which the order expires.", "A value of 0 means no expiry."]; name: "timeInForce"; type: "u16" }, { name: "padding2"; type: { array: ["u8", 2] } }, { docs: ["The binary tree key, see new_node_key()"]; name: "key"; type: "u128" }, { docs: ["Address of the owning MangoAccount"]; name: "owner"; type: "publicKey" }, { docs: ["Number of base lots to buy or sell, always >=1"]; name: "quantity"; type: "i64" }, { docs: ["The time the order was placed"]; name: "timestamp"; type: "u64" }, { docs: ["If the effective price of an oracle pegged order exceeds this limit,", "it will be considered invalid and may be removed.", "", "Only applicable in the oracle_pegged OrderTree"]; name: "pegLimit"; type: "i64" }, { docs: ["User defined id for this order, used in FillEvents"]; name: "clientOrderId"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 32] } }]; kind: "struct" } }, { name: "AnyNode"; type: { fields: [{ name: "tag"; type: "u8" }, { name: "data"; type: { array: ["u8", 119] } }]; kind: "struct" } }, { name: "OrderTreeRoot"; type: { fields: [{ name: "maybeNode"; type: "u32" }, { name: "leafCount"; type: "u32" }]; kind: "struct" } }, { docs: ["A binary tree on AnyNode::key()", "", "The key encodes the price in the top 64 bits."]; name: "OrderTreeNodes"; type: { fields: [{ name: "orderTreeType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 3] } }, { name: "bumpIndex"; type: "u32" }, { name: "freeListLen"; type: "u32" }, { name: "freeListHead"; type: "u32" }, { name: "reserved"; type: { array: ["u8", 512] } }, { name: "nodes"; type: { array: [{ defined: "AnyNode" }, 1024] } }]; kind: "struct" } }, { name: "EventQueueHeader"; type: { fields: [{ name: "head"; type: "u32" }, { name: "count"; type: "u32" }, { name: "seqNum"; type: "u64" }]; kind: "struct" } }, { name: "AnyEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 207] } }]; kind: "struct" } }, { name: "FillEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "takerSide"; type: "u8" }, { name: "makerOut"; type: "u8" }, { name: "makerSlot"; type: "u8" }, { name: "padding"; type: { array: ["u8", 4] } }, { name: "timestamp"; type: "u64" }, { name: "seqNum"; type: "u64" }, { name: "maker"; type: "publicKey" }, { name: "padding2"; type: { array: ["u8", 32] } }, { name: "makerTimestamp"; type: "u64" }, { name: "taker"; type: "publicKey" }, { name: "padding3"; type: { array: ["u8", 16] } }, { name: "takerClientOrderId"; type: "u64" }, { name: "padding4"; type: { array: ["u8", 16] } }, { name: "price"; type: "i64" }, { name: "quantity"; type: "i64" }, { name: "makerClientOrderId"; type: "u64" }, { name: "makerFee"; type: "f32" }, { name: "takerFee"; type: "f32" }, { name: "reserved"; type: { array: ["u8", 8] } }]; kind: "struct" } }, { name: "OutEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "side"; type: "u8" }, { name: "ownerSlot"; type: "u8" }, { name: "padding0"; type: { array: ["u8", 5] } }, { name: "timestamp"; type: "u64" }, { name: "seqNum"; type: "u64" }, { name: "owner"; type: "publicKey" }, { name: "quantity"; type: "i64" }, { name: "padding1"; type: { array: ["u8", 144] } }]; kind: "struct" } }, { docs: ["Maintains a \"stable_price\" based on the oracle price.", "", "The stable price follows the oracle price, but its relative rate of", "change is limited (to `stable_growth_limit`) and futher reduced if", "the oracle price is far from the `delay_price`.", "", "Conceptually the `delay_price` is itself a time delayed", "(`24 * delay_interval_seconds`, assume 24h) and relative rate of change limited", "function of the oracle price. It is implemented as averaging the oracle", "price over every `delay_interval_seconds` (assume 1h) and then applying the", "`delay_growth_limit` between intervals."]; name: "StablePriceModel"; type: { fields: [{ docs: ["Current stable price to use in health"]; name: "stablePrice"; type: "f64" }, { name: "lastUpdateTimestamp"; type: "u64" }, { docs: ["Stored delay_price for each delay_interval.", "If we want the delay_price to be 24h delayed, we would store one for each hour.", "This is used in a cyclical way: We use the maximally-delayed value at delay_interval_index", "and once enough time passes to move to the next delay interval, that gets overwritten and", "we use the next one."]; name: "delayPrices"; type: { array: ["f64", 24] } }, { docs: ["The delay price is based on an average over each delay_interval. The contributions", "to the average are summed up here."]; name: "delayAccumulatorPrice"; type: "f64" }, { docs: ["Accumulating the total time for the above average."]; name: "delayAccumulatorTime"; type: "u32" }, { docs: ["Length of a delay_interval"]; name: "delayIntervalSeconds"; type: "u32" }, { docs: ["Maximal relative difference between two delay_price in consecutive intervals."]; name: "delayGrowthLimit"; type: "f32" }, { docs: ["Maximal per-second relative difference of the stable price.", "It gets further reduced if stable and delay price disagree."]; name: "stableGrowthLimit"; type: "f32" }, { docs: ["The delay_interval_index that update() was last called on."]; name: "lastDelayIntervalIndex"; type: "u8" }, { docs: ["If set to 1, the stable price will reset on the next non-zero price it sees."]; name: "resetOnNonzeroPrice"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }, { name: "reserved"; type: { array: ["u8", 48] } }]; kind: "struct" } }, { name: "TokenConditionalSwap"; type: { fields: [{ name: "id"; type: "u64" }, { docs: ["maximum amount of native tokens to buy or sell"]; name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { docs: ["how many native tokens were already bought/sold"]; name: "bought"; type: "u64" }, { name: "sold"; type: "u64" }, { docs: ["timestamp until which the conditional swap is valid"]; name: "expiryTimestamp"; type: "u64" }, { docs: ["The price must exceed this threshold to allow execution.", "", "This threshold is compared to the \"sell_token per buy_token\" oracle price", "(which can be computed by dividing the buy token oracle price by the", "sell token oracle price). If that price is >= lower_limit and <= upper_limit", "the tcs may be executable.", "", "Example: Stop loss to get out of a SOL long: The user bought SOL at 20 USDC/SOL", "and wants to stop loss at 18 USDC/SOL. They'd set buy_token=USDC, sell_token=SOL", "so the reference price is in SOL/USDC units. Set price_lower_limit=toNative(1/18)", "and price_upper_limit=toNative(1/10). Also set allow_borrows=false.", "", "Example: Want to buy SOL with USDC if the price falls below 22 USDC/SOL.", "buy_token=SOL, sell_token=USDC, reference price is in USDC/SOL units. Set", "price_upper_limit=toNative(22), price_lower_limit=0."]; name: "priceLowerLimit"; type: "f64" }, { docs: ["Parallel to price_lower_limit, but an upper limit."]; name: "priceUpperLimit"; type: "f64" }, { docs: ["The premium to pay over oracle price to incentivize execution."]; name: "pricePremiumRate"; type: "f64" }, { docs: ["The taker receives only premium_price * (1 - taker_fee_rate)"]; name: "takerFeeRate"; type: "f32" }, { docs: ["The maker has to pay premium_price * (1 + maker_fee_rate)"]; name: "makerFeeRate"; type: "f32" }, { docs: ["indexes of tokens for the swap"]; name: "buyTokenIndex"; type: "u16" }, { name: "sellTokenIndex"; type: "u16" }, { name: "hasData"; type: "u8" }, { docs: ["may token purchases create deposits? (often users just want to get out of a borrow)"]; name: "allowCreatingDeposits"; type: "u8" }, { docs: ["may token selling create borrows? (often users just want to get out of a long)"]; name: "allowCreatingBorrows"; type: "u8" }, { docs: ["The stored prices are always \"sell token per buy token\", but if the user", "used \"buy token per sell token\" when creating the tcs order, we should continue", "to show them prices in that way.", "", "Stores a TokenConditionalSwapDisplayPriceStyle enum value"]; name: "displayPriceStyle"; type: "u8" }, { docs: ["The intention the user had when placing this order, display-only", "", "Stores a TokenConditionalSwapIntention enum value"]; name: "intention"; type: "u8" }, { name: "reserved"; type: { array: ["u8", 111] } }]; kind: "struct" } }, { docs: ["Nothing in Rust shall use these types. They only exist so that the Anchor IDL", "knows about them and typescript can deserialize it."]; name: "TokenIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "Serum3MarketIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "PerpMarketIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "I80F48"; type: { fields: [{ name: "val"; type: "i128" }]; kind: "struct" } }, { name: "FlashLoanType"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "Swap" }] } }, { docs: ["Copy paste a bunch of enums so that we could AnchorSerialize & AnchorDeserialize them"]; name: "Serum3SelfTradeBehavior"; type: { kind: "enum"; variants: [{ name: "DecrementTake" }, { name: "CancelProvide" }, { name: "AbortTransaction" }] } }, { name: "Serum3OrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "ImmediateOrCancel" }, { name: "PostOnly" }] } }, { name: "Serum3Side"; type: { kind: "enum"; variants: [{ name: "Bid" }, { name: "Ask" }] } }, { docs: ["There are three types of health:", "- initial health (\"init\"): users can only open new positions if it's >= 0", "- maintenance health (\"maint\"): users get liquidated if it's < 0", "- liquidation end health: once liquidation started (see being_liquidated), it", "only stops once this is >= 0", "", "The ordering is", "init health <= liquidation end health <= maint health", "", "The different health types are realized by using different weights and prices:", "- init health: init weights with scaling, stable-price adjusted prices", "- liq end health: init weights without scaling, oracle prices", "- maint health: maint weights, oracle prices", ""]; name: "HealthType"; type: { kind: "enum"; variants: [{ name: "Init" }, { name: "Maint" }, { name: "LiquidationEnd" }] } }, { name: "LoanOriginationFeeInstruction"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "LiqTokenBankruptcy" }, { name: "LiqTokenWithToken" }, { name: "Serum3LiqForceCancelOrders" }, { name: "Serum3PlaceOrder" }, { name: "Serum3SettleFunds" }, { name: "TokenWithdraw" }, { name: "TokenConditionalSwapTrigger" }] } }, { docs: ["Enum for lookup into ix gate", "note:", "total ix files 56,", "ix files included 48,", "ix files not included 8,", "- Benchmark,", "- ComputeAccountData,", "- GroupCreate", "- GroupEdit", "- IxGateSet,", "- PerpZeroOut,", "- PerpEditMarket,", "- TokenEdit,"]; name: "IxGate"; type: { kind: "enum"; variants: [{ name: "AccountClose" }, { name: "AccountCreate" }, { name: "AccountEdit" }, { name: "AccountExpand" }, { name: "AccountToggleFreeze" }, { name: "AltExtend" }, { name: "AltSet" }, { name: "FlashLoan" }, { name: "GroupClose" }, { name: "GroupCreate" }, { name: "HealthRegion" }, { name: "PerpCancelAllOrders" }, { name: "PerpCancelAllOrdersBySide" }, { name: "PerpCancelOrder" }, { name: "PerpCancelOrderByClientOrderId" }, { name: "PerpCloseMarket" }, { name: "PerpConsumeEvents" }, { name: "PerpCreateMarket" }, { name: "PerpDeactivatePosition" }, { name: "PerpLiqBaseOrPositivePnl" }, { name: "PerpLiqForceCancelOrders" }, { name: "PerpLiqNegativePnlOrBankruptcy" }, { name: "PerpPlaceOrder" }, { name: "PerpSettleFees" }, { name: "PerpSettlePnl" }, { name: "PerpUpdateFunding" }, { name: "Serum3CancelAllOrders" }, { name: "Serum3CancelOrder" }, { name: "Serum3CloseOpenOrders" }, { name: "Serum3CreateOpenOrders" }, { name: "Serum3DeregisterMarket" }, { name: "Serum3EditMarket" }, { name: "Serum3LiqForceCancelOrders" }, { name: "Serum3PlaceOrder" }, { name: "Serum3RegisterMarket" }, { name: "Serum3SettleFunds" }, { name: "StubOracleClose" }, { name: "StubOracleCreate" }, { name: "StubOracleSet" }, { name: "TokenAddBank" }, { name: "TokenDeposit" }, { name: "TokenDeregister" }, { name: "TokenLiqBankruptcy" }, { name: "TokenLiqWithToken" }, { name: "TokenRegister" }, { name: "TokenRegisterTrustless" }, { name: "TokenUpdateIndexAndRate" }, { name: "TokenWithdraw" }, { name: "AccountBuybackFeesWithMngo" }, { name: "TokenForceCloseBorrowsWithToken" }, { name: "PerpForceClosePosition" }, { name: "GroupWithdrawInsuranceFund" }, { name: "TokenConditionalSwapCreate" }, { name: "TokenConditionalSwapTrigger" }, { name: "TokenConditionalSwapCancel" }, { name: "OpenbookV2CancelOrder" }, { name: "OpenbookV2CloseOpenOrders" }, { name: "OpenbookV2CreateOpenOrders" }, { name: "OpenbookV2DeregisterMarket" }, { name: "OpenbookV2EditMarket" }, { name: "OpenbookV2LiqForceCancelOrders" }, { name: "OpenbookV2PlaceOrder" }, { name: "OpenbookV2PlaceTakeOrder" }, { name: "OpenbookV2RegisterMarket" }, { name: "OpenbookV2SettleFunds" }, { name: "AdminTokenWithdrawFees" }, { name: "AdminPerpWithdrawFees" }] } }, { name: "CheckLiquidatable"; type: { kind: "enum"; variants: [{ name: "NotLiquidatable" }, { name: "Liquidatable" }, { name: "BecameNotLiquidatable" }] } }, { name: "OracleType"; type: { kind: "enum"; variants: [{ name: "Pyth" }, { name: "Stub" }, { name: "SwitchboardV1" }, { name: "SwitchboardV2" }] } }, { name: "OrderState"; type: { kind: "enum"; variants: [{ name: "Valid" }, { name: "Invalid" }, { name: "Skipped" }] } }, { name: "BookSideOrderTree"; type: { kind: "enum"; variants: [{ name: "Fixed" }, { name: "OraclePegged" }] } }, { name: "NodeTag"; type: { kind: "enum"; variants: [{ name: "Uninitialized" }, { name: "InnerNode" }, { name: "LeafNode" }, { name: "FreeNode" }, { name: "LastFreeNode" }] } }, { name: "PlaceOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "ImmediateOrCancel" }, { name: "PostOnly" }, { name: "Market" }, { name: "PostOnlySlide" }] } }, { name: "PostOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "PostOnly" }, { name: "PostOnlySlide" }] } }, { docs: ["Self trade behavior controls how taker orders interact with resting limit orders of the same account.", "This setting has no influence on placing a resting or oracle pegged limit order that does not match", "immediately, instead it's the responsibility of the user to correctly configure his taker orders."]; name: "SelfTradeBehavior"; type: { kind: "enum"; variants: [{ name: "DecrementTake" }, { name: "CancelProvide" }, { name: "AbortTransaction" }] } }, { name: "Side"; type: { kind: "enum"; variants: [{ name: "Bid" }, { name: "Ask" }] } }, { docs: ["SideAndOrderTree is a storage optimization, so we don't need two bytes for the data"]; name: "SideAndOrderTree"; type: { kind: "enum"; variants: [{ name: "BidFixed" }, { name: "AskFixed" }, { name: "BidOraclePegged" }, { name: "AskOraclePegged" }] } }, { name: "OrderParams"; type: { kind: "enum"; variants: [{ name: "Market" }, { fields: [{ name: "price_lots"; type: "i64" }]; name: "ImmediateOrCancel" }, { fields: [{ name: "price_lots"; type: "i64" }, { name: "order_type"; type: { defined: "PostOrderType" } }]; name: "Fixed" }, { fields: [{ name: "price_offset_lots"; type: "i64" }, { name: "order_type"; type: { defined: "PostOrderType" } }, { name: "peg_limit"; type: "i64" }, { name: "max_oracle_staleness_slots"; type: "i32" }]; name: "OraclePegged" }] } }, { name: "OrderTreeType"; type: { kind: "enum"; variants: [{ name: "Bids" }, { name: "Asks" }] } }, { name: "EventType"; type: { kind: "enum"; variants: [{ name: "Fill" }, { name: "Out" }, { name: "Liquidate" }] } }, { name: "TokenConditionalSwapDisplayPriceStyle"; type: { kind: "enum"; variants: [{ name: "SellTokenPerBuyToken" }, { name: "BuyTokenPerSellToken" }] } }, { name: "TokenConditionalSwapIntention"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "StopLoss" }, { name: "TakeProfit" }] } }]
                                                                                                                          • version: "0.18.0"
                                                                                                                          Modify<T, R>: Omit<T, keyof R> & R

                                                                                                                          Type parameters

                                                                                                                          • T

                                                                                                                          • R

                                                                                                                          OracleConfig: { confFilter: I80F48; maxStalenessSlots: BN }

                                                                                                                          Type declaration

                                                                                                                          • confFilter: I80F48
                                                                                                                          • maxStalenessSlots: BN
                                                                                                                          OracleConfigDto: { confFilter: I80F48Dto; maxStalenessSlots: BN }

                                                                                                                          Type declaration

                                                                                                                          ParsedFillEvent: Modify<FillEvent, { price: number; quantity: number }>
                                                                                                                          PerpMarketIndex: number & As<"perp-market-index">
                                                                                                                          PlatformFee: { feeAccount: string; feeBps: number }

                                                                                                                          Type declaration

                                                                                                                          • feeAccount: string
                                                                                                                          • feeBps: number
                                                                                                                          PriceImpact: { avg_price_impact_percent: number; max_price_impact_percent: number; min_price_impact_percent: number; side: "bid" | "ask"; symbol: string; target_amount: number }

                                                                                                                          Type declaration

                                                                                                                          • avg_price_impact_percent: number
                                                                                                                          • max_price_impact_percent: number
                                                                                                                          • min_price_impact_percent: number
                                                                                                                          • side: "bid" | "ask"
                                                                                                                          • symbol: string
                                                                                                                          • target_amount: number
                                                                                                                          QuoteMintToReferrer: Map<TokenMintAddress, string>
                                                                                                                          Routes: { bestRoute: RouteInfo | null; routes: RouteInfo[] }

                                                                                                                          Type declaration

                                                                                                                          StablePriceModel: { delayAccumulatorPrice: number; delayAccumulatorTime: number; delayGrowthLimit: number; delayIntervalSeconds: number; delayPrices: number[]; lastDelayIntervalIndex: number; lastUpdateTimestamp: BN; stableGrowthLimit: number; stablePrice: number }

                                                                                                                          Type declaration

                                                                                                                          • delayAccumulatorPrice: number
                                                                                                                          • delayAccumulatorTime: number
                                                                                                                          • delayGrowthLimit: number
                                                                                                                          • delayIntervalSeconds: number
                                                                                                                          • delayPrices: number[]
                                                                                                                          • lastDelayIntervalIndex: number
                                                                                                                          • lastUpdateTimestamp: BN
                                                                                                                          • stableGrowthLimit: number
                                                                                                                          • stablePrice: number
                                                                                                                          Token: { address: string; chainId: number; decimals: number; extensions: { coingeckoId?: string }; logoURI: string; name: string; symbol: string; tags: string[] }

                                                                                                                          Type declaration

                                                                                                                          • address: string
                                                                                                                          • chainId: number
                                                                                                                          • decimals: number
                                                                                                                          • extensions: { coingeckoId?: string }
                                                                                                                            • Optional coingeckoId?: string
                                                                                                                          • logoURI: string
                                                                                                                          • name: string
                                                                                                                          • symbol: string
                                                                                                                          • tags: string[]
                                                                                                                          TokenIndex: number & As<"token-index">
                                                                                                                          TokenMintAddress: string

                                                                                                                          Variables

                                                                                                                          I64_MAX_BN: BN = ...
                                                                                                                          IDL: MangoV4 = ...
                                                                                                                          MANGO_ROUTER_API_URL: "https://api.mngo.cloud/router/v1" = 'https://api.mngo.cloud/router/v1'
                                                                                                                          MANGO_V4_ID: { devnet: PublicKey; mainnet-beta: PublicKey; testnet: PublicKey } = ...

                                                                                                                          Type declaration

                                                                                                                          • devnet: PublicKey
                                                                                                                          • mainnet-beta: PublicKey
                                                                                                                          • testnet: PublicKey
                                                                                                                          NullPerpEditParams: PerpEditParams = ...
                                                                                                                          NullTokenEditParams: TokenEditParams = ...
                                                                                                                          OPENBOOK_PROGRAM_ID: { devnet: PublicKey; mainnet-beta: PublicKey } = ...

                                                                                                                          Type declaration

                                                                                                                          • devnet: PublicKey
                                                                                                                          • mainnet-beta: PublicKey
                                                                                                                          QUOTE_DECIMALS: 6 = 6
                                                                                                                          TrueIxGateParams: IxGateParams = ...
                                                                                                                          U64_MAX_BN: BN = ...
                                                                                                                          USDC_MINT: PublicKey = ...

                                                                                                                          Functions

                                                                                                                          • RUST_I64_MAX(): BN
                                                                                                                          • RUST_I64_MIN(): BN
                                                                                                                          • RUST_U64_MAX(): BN
                                                                                                                          • bpsToDecimal(bps: number): number
                                                                                                                          • Parameters

                                                                                                                            • bps: number

                                                                                                                            Returns number

                                                                                                                          • buildFetch(): Promise<(input: RequestInfo | URL, init?: RequestInit) => Promise<Response>>
                                                                                                                          • Returns Promise<(input: RequestInfo | URL, init?: RequestInit) => Promise<Response>>

                                                                                                                          • buildIxGate(p: IxGateParams): BN
                                                                                                                          • buildVersionedTx(provider: AnchorProvider, ix: TransactionInstruction[], additionalSigners?: Signer[], alts?: AddressLookupTableAccount[]): Promise<VersionedTransaction>
                                                                                                                          • Parameters

                                                                                                                            • provider: AnchorProvider
                                                                                                                            • ix: TransactionInstruction[]
                                                                                                                            • additionalSigners: Signer[] = []
                                                                                                                            • alts: AddressLookupTableAccount[] = []

                                                                                                                            Returns Promise<VersionedTransaction>

                                                                                                                          • computePriceImpactOnJup(pis: PriceImpact[], usdcAmount: number, tokenName: string): number
                                                                                                                          • +@blockworks-foundation/mango-v4
                                                                                                                            Options
                                                                                                                            All
                                                                                                                            • Public
                                                                                                                            • Public/Protected
                                                                                                                            • All
                                                                                                                            Menu

                                                                                                                            @blockworks-foundation/mango-v4

                                                                                                                            Index

                                                                                                                            Enumerations

                                                                                                                            Classes

                                                                                                                            Interfaces

                                                                                                                            Type aliases

                                                                                                                            Variables

                                                                                                                            Functions

                                                                                                                            Type aliases

                                                                                                                            AccountInfoMap: Map<string, AccountInfo<Buffer> | null>
                                                                                                                            AmmLabel: "Aldrin" | "Crema" | "Cropper" | "Cykura" | "DeltaFi" | "GooseFX" | "Invariant" | "Lifinity" | "Lifinity V2" | "Marinade" | "Mercurial" | "Meteora" | "Raydium" | "Raydium CLMM" | "Saber" | "Serum" | "Orca" | "Step" | "Penguin" | "Saros" | "Stepn" | "Orca (Whirlpools)" | "Sencha" | "Saber (Decimals)" | "Dradex" | "Balansol" | "Openbook" | "Unknown"
                                                                                                                            MangoV4: { accounts: [{ name: "bank"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 16] } }, { name: "mint"; type: "publicKey" }, { name: "vault"; type: "publicKey" }, { name: "oracle"; type: "publicKey" }, { name: "oracleConfig"; type: { defined: "OracleConfig" } }, { name: "stablePriceModel"; type: { defined: "StablePriceModel" } }, { docs: ["the index used to scale the value of an IndexedPosition", "TODO: should always be >= 0, add checks?"]; name: "depositIndex"; type: { defined: "I80F48" } }, { name: "borrowIndex"; type: { defined: "I80F48" } }, { docs: ["deposits/borrows for this bank", "", "Note that these may become negative. It's perfectly fine for users to borrow one one bank", "(increasing indexed_borrows there) and paying back on another (possibly decreasing indexed_borrows", "below zero).", "", "The vault amount is not deducable from these values.", "", "These become meaningful when summed over all banks (like in update_index_and_rate)."]; name: "indexedDeposits"; type: { defined: "I80F48" } }, { name: "indexedBorrows"; type: { defined: "I80F48" } }, { name: "indexLastUpdated"; type: "u64" }, { name: "bankRateLastUpdated"; type: "u64" }, { name: "avgUtilization"; type: { defined: "I80F48" } }, { name: "adjustmentFactor"; type: { defined: "I80F48" } }, { name: "util0"; type: { defined: "I80F48" } }, { name: "rate0"; type: { defined: "I80F48" } }, { name: "util1"; type: { defined: "I80F48" } }, { name: "rate1"; type: { defined: "I80F48" } }, { name: "maxRate"; type: { defined: "I80F48" } }, { name: "collectedFeesNative"; type: { defined: "I80F48" } }, { name: "loanOriginationFeeRate"; type: { defined: "I80F48" } }, { name: "loanFeeRate"; type: { defined: "I80F48" } }, { name: "maintAssetWeight"; type: { defined: "I80F48" } }, { name: "initAssetWeight"; type: { defined: "I80F48" } }, { name: "maintLiabWeight"; type: { defined: "I80F48" } }, { name: "initLiabWeight"; type: { defined: "I80F48" } }, { name: "liquidationFee"; type: { defined: "I80F48" } }, { name: "dust"; type: { defined: "I80F48" } }, { name: "flashLoanTokenAccountInitial"; type: "u64" }, { name: "flashLoanApprovedAmount"; type: "u64" }, { name: "tokenIndex"; type: "u16" }, { name: "bump"; type: "u8" }, { name: "mintDecimals"; type: "u8" }, { name: "bankNum"; type: "u32" }, { docs: ["Min fraction of deposits that must remain in the vault when borrowing."]; name: "minVaultToDepositsRatio"; type: "f64" }, { docs: ["Size in seconds of a net borrows window"]; name: "netBorrowLimitWindowSizeTs"; type: "u64" }, { docs: ["Timestamp at which the last net borrows window started"]; name: "lastNetBorrowsWindowStartTs"; type: "u64" }, { docs: ["Net borrow limit per window in quote native; set to -1 to disable."]; name: "netBorrowLimitPerWindowQuote"; type: "i64" }, { docs: ["Sum of all deposits and borrows in the last window, in native units."]; name: "netBorrowsInWindow"; type: "i64" }, { docs: ["Soft borrow limit in native quote", "", "Once the borrows on the bank exceed this quote value, init_liab_weight is scaled up.", "Set to f64::MAX to disable.", "", "See scaled_init_liab_weight()."]; name: "borrowWeightScaleStartQuote"; type: "f64" }, { docs: ["Limit for collateral of deposits in native quote", "", "Once the deposits in the bank exceed this quote value, init_asset_weight is scaled", "down to keep the total collateral value constant.", "Set to f64::MAX to disable.", "", "See scaled_init_asset_weight()."]; name: "depositWeightScaleStartQuote"; type: "f64" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }, { name: "feesWithdrawn"; type: "u64" }, { docs: ["Fees for the token conditional swap feature"]; name: "tokenConditionalSwapTakerFeeRate"; type: "f32" }, { name: "tokenConditionalSwapMakerFeeRate"; type: "f32" }, { name: "flashLoanSwapFeeRate"; type: "f32" }, { name: "reserved"; type: { array: ["u8", 2092] } }]; kind: "struct" } }, { name: "group"; type: { fields: [{ name: "creator"; type: "publicKey" }, { name: "groupNum"; type: "u32" }, { name: "admin"; type: "publicKey" }, { name: "fastListingAdmin"; type: "publicKey" }, { name: "mngoTokenIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { name: "insuranceVault"; type: "publicKey" }, { name: "insuranceMint"; type: "publicKey" }, { name: "bump"; type: "u8" }, { name: "testing"; type: "u8" }, { name: "version"; type: "u8" }, { name: "buybackFees"; type: "u8" }, { name: "buybackFeesMngoBonusFactor"; type: "f32" }, { name: "addressLookupTables"; type: { array: ["publicKey", 20] } }, { name: "securityAdmin"; type: "publicKey" }, { name: "depositLimitQuote"; type: "u64" }, { name: "ixGate"; type: "u128" }, { name: "buybackFeesSwapMangoAccount"; type: "publicKey" }, { docs: ["Number of seconds after which fees that could be used with the fees buyback feature expire.", "", "The actual expiry is staggered such that the fees users accumulate are always", "available for at least this interval - but may be available for up to twice this time.", "", "When set to 0, there's no expiry of buyback fees."]; name: "buybackFeesExpiryInterval"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 1824] } }]; kind: "struct" } }, { name: "mangoAccount"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "owner"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 32] } }, { name: "delegate"; type: "publicKey" }, { name: "accountNum"; type: "u32" }, { docs: ["Tracks that this account should be liquidated until init_health >= 0.", "", "Normally accounts can not be liquidated while maint_health >= 0. But when an account", "reaches maint_health < 0, liquidators will call a liquidation instruction and thereby", "set this flag. Now the account may be liquidated until init_health >= 0.", "", "Many actions should be disabled while the account is being liquidated, even if", "its maint health has recovered to positive. Creating new open orders would, for example,", "confuse liquidators."]; name: "beingLiquidated"; type: "u8" }, { docs: ["The account is currently inside a health region marked by HealthRegionBegin...HealthRegionEnd.", "", "Must never be set after a transaction ends."]; name: "inHealthRegion"; type: "u8" }, { name: "bump"; type: "u8" }, { name: "padding"; type: { array: ["u8", 1] } }, { name: "netDeposits"; type: "i64" }, { name: "perpSpotTransfers"; type: "i64" }, { docs: ["Init health as calculated during HealthReginBegin, rounded up."]; name: "healthRegionBeginInitHealth"; type: "i64" }, { name: "frozenUntil"; type: "u64" }, { docs: ["Fees usable with the \"fees buyback\" feature.", "This tracks the ones that accrued in the current expiry interval."]; name: "buybackFeesAccruedCurrent"; type: "u64" }, { docs: ["Fees buyback amount from the previous expiry interval."]; name: "buybackFeesAccruedPrevious"; type: "u64" }, { docs: ["End timestamp of the current expiry interval of the buyback fees amount."]; name: "buybackFeesExpiryTimestamp"; type: "u64" }, { docs: ["Next id to use when adding a token condition swap"]; name: "nextTokenConditionalSwapId"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 200] } }, { name: "headerVersion"; type: "u8" }, { name: "padding3"; type: { array: ["u8", 7] } }, { name: "padding4"; type: "u32" }, { name: "tokens"; type: { vec: { defined: "TokenPosition" } } }, { name: "padding5"; type: "u32" }, { name: "serum3"; type: { vec: { defined: "Serum3Orders" } } }, { name: "padding6"; type: "u32" }, { name: "perps"; type: { vec: { defined: "PerpPosition" } } }, { name: "padding7"; type: "u32" }, { name: "perpOpenOrders"; type: { vec: { defined: "PerpOpenOrder" } } }]; kind: "struct" } }, { name: "mintInfo"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "tokenIndex"; type: "u16" }, { name: "groupInsuranceFund"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }, { name: "mint"; type: "publicKey" }, { name: "banks"; type: { array: ["publicKey", 6] } }, { name: "vaults"; type: { array: ["publicKey", 6] } }, { name: "oracle"; type: "publicKey" }, { name: "registrationTime"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 2560] } }]; kind: "struct" } }, { name: "openbookV2Market"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 2] } }, { name: "name"; type: { array: ["u8", 16] } }, { name: "openbookV2Program"; type: "publicKey" }, { name: "openbookV2MarketExternal"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "bump"; type: "u8" }, { name: "padding2"; type: { array: ["u8", 5] } }, { name: "registrationTime"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 512] } }]; kind: "struct" } }, { name: "openbookV2MarketIndexReservation"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "reserved"; type: { array: ["u8", 38] } }]; kind: "struct" } }, { name: "stubOracle"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "mint"; type: "publicKey" }, { name: "price"; type: { defined: "I80F48" } }, { name: "lastUpdateTs"; type: "i64" }, { name: "lastUpdateSlot"; type: "u64" }, { name: "deviation"; type: { defined: "I80F48" } }, { name: "reserved"; type: { array: ["u8", 104] } }]; kind: "struct" } }, { name: "bookSide"; type: { fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" } }, { name: "eventQueue"; type: { fields: [{ name: "header"; type: { defined: "EventQueueHeader" } }, { name: "buf"; type: { array: [{ defined: "AnyEvent" }, 488] } }, { name: "reserved"; type: { array: ["u8", 64] } }]; kind: "struct" } }, { name: "perpMarket"; type: { fields: [{ name: "group"; type: "publicKey" }, { docs: ["Token index that settlements happen in.", "", "Currently required to be 0, USDC. In the future settlement", "may be allowed to happen in other tokens."]; name: "settleTokenIndex"; type: "u16" }, { docs: ["Index of this perp market. Other data, like the MangoAccount's PerpPosition", "reference this market via this index. Unique for this group's perp markets."]; name: "perpMarketIndex"; type: "u16" }, { docs: ["Field used to contain the trusted_market flag and is now unused."]; name: "blocked1"; type: "u8" }, { docs: ["Is this market covered by the group insurance fund?"]; name: "groupInsuranceFund"; type: "u8" }, { docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { docs: ["Name. Trailing zero bytes are ignored."]; name: "name"; type: { array: ["u8", 16] } }, { docs: ["Address of the BookSide account for bids"]; name: "bids"; type: "publicKey" }, { docs: ["Address of the BookSide account for asks"]; name: "asks"; type: "publicKey" }, { docs: ["Address of the EventQueue account"]; name: "eventQueue"; type: "publicKey" }, { docs: ["Oracle account address"]; name: "oracle"; type: "publicKey" }, { docs: ["Oracle configuration"]; name: "oracleConfig"; type: { defined: "OracleConfig" } }, { docs: ["Maintains a stable price based on the oracle price that is less volatile."]; name: "stablePriceModel"; type: { defined: "StablePriceModel" } }, { docs: ["Number of quote native in a quote lot. Must be a power of 10.", "", "Primarily useful for increasing the tick size on the market: A lot price", "of 1 becomes a native price of quote_lot_size/base_lot_size becomes a", "ui price of quote_lot_size*base_decimals/base_lot_size/quote_decimals."]; name: "quoteLotSize"; type: "i64" }, { docs: ["Number of base native in a base lot. Must be a power of 10.", "", "Example: If base decimals for the underlying asset is 6, base lot size", "is 100 and and base position lots is 10_000 then base position native is", "1_000_000 and base position ui is 1."]; name: "baseLotSize"; type: "i64" }, { docs: ["These weights apply to the base position. The quote position has", "no explicit weight (but may be covered by the overall pnl asset weight)."]; name: "maintBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "initBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "maintBaseLiabWeight"; type: { defined: "I80F48" } }, { name: "initBaseLiabWeight"; type: { defined: "I80F48" } }, { docs: ["Number of base lots currently active in the market. Always >= 0.", "", "Since this counts positive base lots and negative base lots, the more relevant", "number of open base lot pairs is half this value."]; name: "openInterest"; type: "i64" }, { docs: ["Total number of orders seen"]; name: "seqNum"; type: "u64" }, { docs: ["Timestamp in seconds that the market was registered at."]; name: "registrationTime"; type: "u64" }, { docs: ["Minimal funding rate per day, must be <= 0."]; name: "minFunding"; type: { defined: "I80F48" } }, { docs: ["Maximal funding rate per day, must be >= 0."]; name: "maxFunding"; type: { defined: "I80F48" } }, { docs: ["For funding, get the impact price this many base lots deep into the book."]; name: "impactQuantity"; type: "i64" }, { docs: ["Current long funding value. Increasing it means that every long base lot", "needs to pay that amount of quote native in funding.", "", "PerpPosition uses and tracks it settle funding. Updated by the perp", "keeper instruction."]; name: "longFunding"; type: { defined: "I80F48" } }, { docs: ["See long_funding."]; name: "shortFunding"; type: { defined: "I80F48" } }, { docs: ["timestamp that funding was last updated in"]; name: "fundingLastUpdated"; type: "u64" }, { docs: ["Fees", "Fee for base position liquidation"]; name: "baseLiquidationFee"; type: { defined: "I80F48" } }, { docs: ["Fee when matching maker orders. May be negative."]; name: "makerFee"; type: { defined: "I80F48" } }, { docs: ["Fee for taker orders, may not be negative."]; name: "takerFee"; type: { defined: "I80F48" } }, { docs: ["Fees accrued in native quote currency", "these are increased when new fees are paid and decreased when perp_settle_fees is called"]; name: "feesAccrued"; type: { defined: "I80F48" } }, { docs: ["Fees settled in native quote currency", "these are increased when perp_settle_fees is called, and never decreased"]; name: "feesSettled"; type: { defined: "I80F48" } }, { docs: ["Fee (in quote native) to charge for ioc orders"]; name: "feePenalty"; type: "f32" }, { docs: ["In native units of settlement token, given to each settle call above the", "settle_fee_amount_threshold."]; name: "settleFeeFlat"; type: "f32" }, { docs: ["Pnl settlement amount needed to be eligible for the flat fee."]; name: "settleFeeAmountThreshold"; type: "f32" }, { docs: ["Fraction of pnl to pay out as fee if +pnl account has low health."]; name: "settleFeeFractionLowHealth"; type: "f32" }, { docs: ["Controls the strictness of the settle limit.", "Set to a negative value to disable the limit.", "", "This factor applies to the settle limit in two ways", "- for the unrealized pnl settle limit, the factor is multiplied with the stable perp base value", "(i.e. limit_factor * base_native * stable_price)", "- when increasing the realized pnl settle limit (stored per PerpPosition), the factor is", "multiplied with the stable value of the perp pnl being realized", "(i.e. limit_factor * reduced_native * stable_price)", "", "See also PerpPosition::settle_pnl_limit_realized_trade"]; name: "settlePnlLimitFactor"; type: "f32" }, { name: "padding3"; type: { array: ["u8", 4] } }, { docs: ["Window size in seconds for the perp settlement limit"]; name: "settlePnlLimitWindowSizeTs"; type: "u64" }, { docs: ["If true, users may no longer increase their market exposure. Only actions", "that reduce their position are still allowed."]; name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding4"; type: { array: ["u8", 6] } }, { docs: ["Weights for full perp market health, if positive"]; name: "maintOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "initOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "positivePnlLiquidationFee"; type: { defined: "I80F48" } }, { name: "feesWithdrawn"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 1880] } }]; kind: "struct" } }, { name: "serum3Market"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 2] } }, { name: "name"; type: { array: ["u8", 16] } }, { name: "serumProgram"; type: "publicKey" }, { name: "serumMarketExternal"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "bump"; type: "u8" }, { name: "padding2"; type: { array: ["u8", 5] } }, { name: "registrationTime"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 128] } }]; kind: "struct" } }, { name: "serum3MarketIndexReservation"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "reserved"; type: { array: ["u8", 38] } }]; kind: "struct" } }]; errors: [{ code: 6000; msg: ""; name: "SomeError" }, { code: 6001; msg: ""; name: "NotImplementedError" }, { code: 6002; msg: "checked math error"; name: "MathError" }, { code: 6003; msg: ""; name: "UnexpectedOracle" }, { code: 6004; msg: "oracle type cannot be determined"; name: "UnknownOracleType" }, { code: 6005; msg: ""; name: "InvalidFlashLoanTargetCpiProgram" }, { code: 6006; msg: "health must be positive"; name: "HealthMustBePositive" }, { code: 6007; msg: "health must be positive or not decrease"; name: "HealthMustBePositiveOrIncrease" }, { code: 6008; msg: "health must be negative"; name: "HealthMustBeNegative" }, { code: 6009; msg: "the account is bankrupt"; name: "IsBankrupt" }, { code: 6010; msg: "the account is not bankrupt"; name: "IsNotBankrupt" }, { code: 6011; msg: "no free token position index"; name: "NoFreeTokenPositionIndex" }, { code: 6012; msg: "no free serum3 open orders index"; name: "NoFreeSerum3OpenOrdersIndex" }, { code: 6013; msg: "no free perp position index"; name: "NoFreePerpPositionIndex" }, { code: 6014; msg: "serum3 open orders exist already"; name: "Serum3OpenOrdersExistAlready" }, { code: 6015; msg: "bank vault has insufficent funds"; name: "InsufficentBankVaultFunds" }, { code: 6016; msg: "account is currently being liquidated"; name: "BeingLiquidated" }, { code: 6017; msg: "invalid bank"; name: "InvalidBank" }, { code: 6018; msg: "account profitability is mismatched"; name: "ProfitabilityMismatch" }, { code: 6019; msg: "cannot settle with self"; name: "CannotSettleWithSelf" }, { code: 6020; msg: "perp position does not exist"; name: "PerpPositionDoesNotExist" }, { code: 6021; msg: "max settle amount must be greater than zero"; name: "MaxSettleAmountMustBeGreaterThanZero" }, { code: 6022; msg: "the perp position has open orders or unprocessed fill events"; name: "HasOpenPerpOrders" }, { code: 6023; msg: "an oracle does not reach the confidence threshold"; name: "OracleConfidence" }, { code: 6024; msg: "an oracle is stale"; name: "OracleStale" }, { code: 6025; msg: "settlement amount must always be positive"; name: "SettlementAmountMustBePositive" }, { code: 6026; msg: "bank utilization has reached limit"; name: "BankBorrowLimitReached" }, { code: 6027; msg: "bank net borrows has reached limit - this is an intermittent error - the limit will reset regularly"; name: "BankNetBorrowsLimitReached" }, { code: 6028; msg: "token position does not exist"; name: "TokenPositionDoesNotExist" }, { code: 6029; msg: "token deposits into accounts that are being liquidated must bring their health above the init threshold"; name: "DepositsIntoLiquidatingMustRecover" }, { code: 6030; msg: "token is in reduce only mode"; name: "TokenInReduceOnlyMode" }, { code: 6031; msg: "market is in reduce only mode"; name: "MarketInReduceOnlyMode" }, { code: 6032; msg: "group is halted"; name: "GroupIsHalted" }, { code: 6033; msg: "the perp position has non-zero base lots"; name: "PerpHasBaseLots" }, { code: 6034; msg: "there are open or unsettled serum3 orders"; name: "HasOpenOrUnsettledSerum3Orders" }, { code: 6035; msg: "has liquidatable token position"; name: "HasLiquidatableTokenPosition" }, { code: 6036; msg: "has liquidatable perp base position"; name: "HasLiquidatablePerpBasePosition" }, { code: 6037; msg: "has liquidatable positive perp pnl"; name: "HasLiquidatablePositivePerpPnl" }, { code: 6038; msg: "account is frozen"; name: "AccountIsFrozen" }, { code: 6039; msg: "Init Asset Weight can't be negative"; name: "InitAssetWeightCantBeNegative" }, { code: 6040; msg: "has open perp taker fills"; name: "HasOpenPerpTakerFills" }, { code: 6041; msg: "deposit crosses the current group deposit limit"; name: "DepositLimit" }, { code: 6042; msg: "instruction is disabled"; name: "IxIsDisabled" }, { code: 6043; msg: "no liquidatable perp base position"; name: "NoLiquidatablePerpBasePosition" }, { code: 6044; msg: "perp order id not found on the orderbook"; name: "PerpOrderIdNotFound" }, { code: 6045; msg: "HealthRegions allow only specific instructions between Begin and End"; name: "HealthRegionBadInnerInstruction" }, { code: 6046; msg: "token is in force close"; name: "TokenInForceClose" }, { code: 6047; msg: "incorrect number of health accounts"; name: "InvalidHealthAccountCount" }, { code: 6048; msg: "would self trade"; name: "WouldSelfTrade" }, { code: 6049; msg: "conditional token swap price is not in execution range"; name: "TokenConditionalSwapPriceNotInRange" }]; events: [{ fields: [{ index: false; name: "healthCache"; type: { defined: "HealthCache" } }, { index: false; name: "initHealth"; type: { defined: "I80F48" } }, { index: false; name: "maintHealth"; type: { defined: "I80F48" } }, { index: false; name: "equity"; type: { defined: "Equity" } }]; name: "MangoAccountData" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "basePosition"; type: "i64" }, { index: false; name: "quotePosition"; type: "i128" }, { index: false; name: "longSettledFunding"; type: "i128" }, { index: false; name: "shortSettledFunding"; type: "i128" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }]; name: "PerpBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "indexedPosition"; type: "i128" }, { index: false; name: "depositIndex"; type: "i128" }, { index: false; name: "borrowIndex"; type: "i128" }]; name: "TokenBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenLoanDetails"; type: { vec: { defined: "FlashLoanTokenDetail" } } }, { index: false; name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "FlashLoanLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenLoanDetails"; type: { vec: { defined: "FlashLoanTokenDetailV2" } } }, { index: false; name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "FlashLoanLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "signer"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "quantity"; type: "u64" }, { index: false; name: "price"; type: "i128" }]; name: "WithdrawLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "signer"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "quantity"; type: "u64" }, { index: false; name: "price"; type: "i128" }]; name: "DepositLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerOrderId"; type: "u128" }, { index: false; name: "makerFee"; type: "i128" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerOrderId"; type: "u128" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "i128" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }]; name: "FillLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerClientOrderId"; type: "u64" }, { index: false; name: "makerFee"; type: "f32" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "f32" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }]; name: "FillLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerClientOrderId"; type: "u64" }, { index: false; name: "makerFee"; type: "f32" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "f32" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }, { index: false; name: "makerClosedPnl"; type: "f64" }, { index: false; name: "takerClosedPnl"; type: "f64" }]; name: "FillLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "oracleSlot"; type: "u64" }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "feesAccrued"; type: "i128" }, { index: false; name: "feesSettled"; type: "i128" }, { index: false; name: "openInterest"; type: "i64" }, { index: false; name: "instantaneousFundingRate"; type: "i128" }]; name: "PerpUpdateFundingLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "oracleSlot"; type: "u64" }, { index: false; name: "oracleConfidence"; type: "i128" }, { index: false; name: "oracleType"; type: { defined: "OracleType" } }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "feesAccrued"; type: "i128" }, { index: false; name: "feesSettled"; type: "i128" }, { index: false; name: "openInterest"; type: "i64" }, { index: false; name: "instantaneousFundingRate"; type: "i128" }]; name: "PerpUpdateFundingLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "depositIndex"; type: "i128" }, { index: false; name: "borrowIndex"; type: "i128" }, { index: false; name: "avgUtilization"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "collectedFees"; type: "i128" }, { index: false; name: "loanFeeRate"; type: "i128" }, { index: false; name: "totalBorrows"; type: "i128" }, { index: false; name: "totalDeposits"; type: "i128" }, { index: false; name: "borrowRate"; type: "i128" }, { index: false; name: "depositRate"; type: "i128" }]; name: "UpdateIndexLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "rate0"; type: "i128" }, { index: false; name: "rate1"; type: "i128" }, { index: false; name: "maxRate"; type: "i128" }]; name: "UpdateRateLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransfer"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "bankruptcy"; type: "bool" }]; name: "TokenLiqWithTokenLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "baseTotal"; type: "u64" }, { index: false; name: "baseFree"; type: "u64" }, { index: false; name: "quoteTotal"; type: "u64" }, { index: false; name: "quoteFree"; type: "u64" }, { index: false; name: "referrerRebatesAccrued"; type: "u64" }]; name: "Serum3OpenOrdersBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "baseTotal"; type: "u64" }, { index: false; name: "baseFree"; type: "u64" }, { index: false; name: "quoteTotal"; type: "u64" }, { index: false; name: "quoteFree"; type: "u64" }, { index: false; name: "referrerRebatesAccrued"; type: "u64" }]; name: "Serum3OpenOrdersBalanceLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "loanOriginationFee"; type: "i128" }, { index: false; name: "instruction"; type: { defined: "LoanOriginationFeeInstruction" } }]; name: "WithdrawLoanOriginationFeeLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "loanAmount"; type: "i128" }, { index: false; name: "loanOriginationFee"; type: "i128" }, { index: false; name: "instruction"; type: { defined: "LoanOriginationFeeInstruction" } }, { index: false; name: "price"; type: { option: "i128" } }]; name: "WithdrawLoanLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "initialLiabNative"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "insuranceTokenIndex"; type: "u16" }, { index: false; name: "insuranceTransfer"; type: "i128" }, { index: false; name: "socializedLoss"; type: "i128" }, { index: false; name: "startingLiabDepositIndex"; type: "i128" }, { index: false; name: "endingLiabDepositIndex"; type: "i128" }]; name: "TokenLiqBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "cumulativeDepositInterest"; type: "f64" }, { index: false; name: "cumulativeBorrowInterest"; type: "f64" }]; name: "DeactivateTokenPositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "cumulativeLongFunding"; type: "f64" }, { index: false; name: "cumulativeShortFunding"; type: "f64" }, { index: false; name: "makerVolume"; type: "u64" }, { index: false; name: "takerVolume"; type: "u64" }, { index: false; name: "perpSpotTransfers"; type: "i64" }]; name: "DeactivatePerpPositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mint"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "mintDecimals"; type: "u8" }, { index: false; name: "oracle"; type: "publicKey" }, { index: false; name: "mintInfo"; type: "publicKey" }]; name: "TokenMetaDataLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarket"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "baseDecimals"; type: "u8" }, { index: false; name: "baseLotSize"; type: "i64" }, { index: false; name: "quoteLotSize"; type: "i64" }, { index: false; name: "oracle"; type: "publicKey" }]; name: "PerpMarketMetaDataLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "serumMarket"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "serumProgram"; type: "publicKey" }, { index: false; name: "serumProgramExternal"; type: "publicKey" }]; name: "Serum3RegisterMarketLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "baseTransfer"; type: "i64" }, { index: false; name: "quoteTransfer"; type: "i128" }, { index: false; name: "pnlTransfer"; type: "i128" }, { index: false; name: "pnlSettleLimitTransfer"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "PerpLiqBaseOrPositivePnlLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "insuranceTransfer"; type: "i128" }, { index: false; name: "socializedLoss"; type: "i128" }, { index: false; name: "startingLongFunding"; type: "i128" }, { index: false; name: "startingShortFunding"; type: "i128" }, { index: false; name: "endingLongFunding"; type: "i128" }, { index: false; name: "endingShortFunding"; type: "i128" }]; name: "PerpLiqBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }]; name: "PerpLiqNegativePnlOrBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccountA"; type: "publicKey" }, { index: false; name: "mangoAccountB"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }, { index: false; name: "settler"; type: "publicKey" }, { index: false; name: "fee"; type: "i128" }]; name: "PerpSettlePnlLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }]; name: "PerpSettleFeesLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "buybackFees"; type: "i128" }, { index: false; name: "buybackMngo"; type: "i128" }, { index: false; name: "mngoBuybackPrice"; type: "i128" }, { index: false; name: "oraclePrice"; type: "i128" }]; name: "AccountBuybackFeesWithMngoLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "seqNum"; type: "u64" }]; name: "FilledPerpOrderLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "totalBaseLotsTaken"; type: "i64" }, { index: false; name: "totalBaseLotsDecremented"; type: "i64" }, { index: false; name: "totalQuoteLotsTaken"; type: "i64" }, { index: false; name: "totalQuoteLotsDecremented"; type: "i64" }, { index: false; name: "takerFeesPaid"; type: "i128" }, { index: false; name: "feePenalty"; type: "i128" }]; name: "PerpTakerTradeLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "accountA"; type: "publicKey" }, { index: false; name: "accountB"; type: "publicKey" }, { index: false; name: "baseTransfer"; type: "i64" }, { index: false; name: "quoteTransfer"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "PerpForceClosePositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransfer"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "feeFactor"; type: "i128" }]; name: "TokenForceCloseBorrowsWithTokenLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }, { index: false; name: "maxBuy"; type: "u64" }, { index: false; name: "maxSell"; type: "u64" }, { index: false; name: "expiryTimestamp"; type: "u64" }, { index: false; name: "priceLowerLimit"; type: "f64" }, { index: false; name: "priceUpperLimit"; type: "f64" }, { index: false; name: "pricePremiumRate"; type: "f64" }, { index: false; name: "takerFeeRate"; type: "f32" }, { index: false; name: "makerFeeRate"; type: "f32" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "allowCreatingDeposits"; type: "bool" }, { index: false; name: "allowCreatingBorrows"; type: "bool" }]; name: "TokenConditionalSwapCreateLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }, { index: false; name: "maxBuy"; type: "u64" }, { index: false; name: "maxSell"; type: "u64" }, { index: false; name: "expiryTimestamp"; type: "u64" }, { index: false; name: "priceLowerLimit"; type: "f64" }, { index: false; name: "priceUpperLimit"; type: "f64" }, { index: false; name: "pricePremiumRate"; type: "f64" }, { index: false; name: "takerFeeRate"; type: "f32" }, { index: false; name: "makerFeeRate"; type: "f32" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "allowCreatingDeposits"; type: "bool" }, { index: false; name: "allowCreatingBorrows"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }]; name: "TokenConditionalSwapCreateLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "buyAmount"; type: "u64" }, { index: false; name: "sellAmount"; type: "u64" }, { index: false; name: "makerFee"; type: "u64" }, { index: false; name: "takerFee"; type: "u64" }, { index: false; name: "buyTokenPrice"; type: "i128" }, { index: false; name: "sellTokenPrice"; type: "i128" }, { index: false; name: "closed"; type: "bool" }]; name: "TokenConditionalSwapTriggerLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "buyAmount"; type: "u64" }, { index: false; name: "sellAmount"; type: "u64" }, { index: false; name: "makerFee"; type: "u64" }, { index: false; name: "takerFee"; type: "u64" }, { index: false; name: "buyTokenPrice"; type: "i128" }, { index: false; name: "sellTokenPrice"; type: "i128" }, { index: false; name: "closed"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }]; name: "TokenConditionalSwapTriggerLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }]; name: "TokenConditionalSwapCancelLog" }]; instructions: [{ accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: true; name: "admin" }]; args: []; name: "adminTokenWithdrawFees" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: true; name: "admin" }]; args: []; name: "adminPerpWithdrawFees" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Group" }, { kind: "account"; path: "creator"; type: "publicKey" }, { kind: "arg"; path: "group_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "creator" }, { isMut: false; isSigner: false; name: "insuranceMint" }, { isMut: true; isSigner: false; name: "insuranceVault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "InsuranceVault" }, { kind: "account"; path: "group"; type: "publicKey" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "groupNum"; type: "u32" }, { name: "testing"; type: "u8" }, { name: "version"; type: "u8" }]; name: "groupCreate" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "adminOpt"; type: { option: "publicKey" } }, { name: "fastListingAdminOpt"; type: { option: "publicKey" } }, { name: "securityAdminOpt"; type: { option: "publicKey" } }, { name: "testingOpt"; type: { option: "u8" } }, { name: "versionOpt"; type: { option: "u8" } }, { name: "depositLimitQuoteOpt"; type: { option: "u64" } }, { name: "buybackFeesOpt"; type: { option: "bool" } }, { name: "buybackFeesBonusFactorOpt"; type: { option: "f32" } }, { name: "buybackFeesSwapMangoAccountOpt"; type: { option: "publicKey" } }, { name: "mngoTokenIndexOpt"; type: { option: "u16" } }, { name: "buybackFeesExpiryIntervalOpt"; type: { option: "u64" } }]; name: "groupEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault", "admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "destination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }]; name: "groupWithdrawInsuranceFund" }, { accounts: [{ isMut: true; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "ixGate"; type: "u128" }]; name: "ixGateSet" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin", "insurance_vault"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "groupClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "mintInfo"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MintInfo" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "mint"; type: "publicKey" }] } }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oracleConfig"; type: { defined: "OracleConfigParams" } }, { name: "interestRateParams"; type: { defined: "InterestRateParams" } }, { name: "loanFeeRate"; type: "f32" }, { name: "loanOriginationFeeRate"; type: "f32" }, { name: "maintAssetWeight"; type: "f32" }, { name: "initAssetWeight"; type: "f32" }, { name: "maintLiabWeight"; type: "f32" }, { name: "initLiabWeight"; type: "f32" }, { name: "liquidationFee"; type: "f32" }, { name: "stablePriceDelayIntervalSeconds"; type: "u32" }, { name: "stablePriceDelayGrowthLimit"; type: "f32" }, { name: "stablePriceGrowthLimit"; type: "f32" }, { name: "minVaultToDepositsRatio"; type: "f64" }, { name: "netBorrowLimitWindowSizeTs"; type: "u64" }, { name: "netBorrowLimitPerWindowQuote"; type: "i64" }, { name: "borrowWeightScaleStartQuote"; type: "f64" }, { name: "depositWeightScaleStartQuote"; type: "f64" }, { name: "reduceOnly"; type: "u8" }, { name: "tokenConditionalSwapTakerFeeRate"; type: "f32" }, { name: "tokenConditionalSwapMakerFeeRate"; type: "f32" }, { name: "flashLoanSwapFeeRate"; type: "f32" }]; name: "tokenRegister" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "mintInfo"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MintInfo" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "mint"; type: "publicKey" }] } }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "name"; type: "string" }]; name: "tokenRegisterTrustless" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group"] }, { docs: ["The oracle account is optional and only used when reset_stable_price is set.", ""]; isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "oracleOpt"; type: { option: "publicKey" } }, { name: "oracleConfigOpt"; type: { option: { defined: "OracleConfigParams" } } }, { name: "groupInsuranceFundOpt"; type: { option: "bool" } }, { name: "interestRateParamsOpt"; type: { option: { defined: "InterestRateParams" } } }, { name: "loanFeeRateOpt"; type: { option: "f32" } }, { name: "loanOriginationFeeRateOpt"; type: { option: "f32" } }, { name: "maintAssetWeightOpt"; type: { option: "f32" } }, { name: "initAssetWeightOpt"; type: { option: "f32" } }, { name: "maintLiabWeightOpt"; type: { option: "f32" } }, { name: "initLiabWeightOpt"; type: { option: "f32" } }, { name: "liquidationFeeOpt"; type: { option: "f32" } }, { name: "stablePriceDelayIntervalSecondsOpt"; type: { option: "u32" } }, { name: "stablePriceDelayGrowthLimitOpt"; type: { option: "f32" } }, { name: "stablePriceGrowthLimitOpt"; type: { option: "f32" } }, { name: "minVaultToDepositsRatioOpt"; type: { option: "f64" } }, { name: "netBorrowLimitPerWindowQuoteOpt"; type: { option: "i64" } }, { name: "netBorrowLimitWindowSizeTsOpt"; type: { option: "u64" } }, { name: "borrowWeightScaleStartQuoteOpt"; type: { option: "f64" } }, { name: "depositWeightScaleStartQuoteOpt"; type: { option: "f64" } }, { name: "resetStablePrice"; type: "bool" }, { name: "resetNetBorrowLimit"; type: "bool" }, { name: "reduceOnlyOpt"; type: { option: "u8" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "tokenConditionalSwapTakerFeeRateOpt"; type: { option: "f32" } }, { name: "tokenConditionalSwapMakerFeeRateOpt"; type: { option: "f32" } }, { name: "flashLoanSwapFeeRateOpt"; type: { option: "f32" } }]; name: "tokenEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: false; isSigner: false; name: "existingBank"; relations: ["group", "mint"] }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "arg"; path: "bank_num"; type: "u32" }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "arg"; path: "bank_num"; type: "u32" }] } }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group", "mint"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "bankNum"; type: "u32" }]; name: "tokenAddBank" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "dustVault" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "tokenDeregister" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "mintInfo"; relations: ["oracle", "group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: false; isSigner: false; name: "instructions" }]; args: []; name: "tokenUpdateIndexAndRate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MangoAccount" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "owner"; type: "publicKey" }, { kind: "arg"; path: "account_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "accountNum"; type: "u32" }, { name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "name"; type: "string" }]; name: "accountCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }]; name: "accountExpand" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "tokenConditionalSwapCount"; type: "u8" }]; name: "accountExpandV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }]; args: [{ name: "nameOpt"; type: { option: "string" } }, { name: "delegateOpt"; type: { option: "publicKey" } }, { name: "temporaryDelegateOpt"; type: { option: "publicKey" } }, { name: "temporaryDelegateExpiryOpt"; type: { option: "u64" } }]; name: "accountEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "freeze"; type: "bool" }]; name: "accountToggleFreeze" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "forceClose"; type: "bool" }]; name: "accountClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "daoAccount"; relations: ["group"] }, { isMut: true; isSigner: false; name: "mngoBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "mngoOracle" }, { isMut: true; isSigner: false; name: "feesBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "feesOracle" }]; args: [{ name: "maxBuybackUsd"; type: "u64" }]; name: "accountBuybackFeesWithMngo" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: false; name: "oracle"; pda: { seeds: [{ kind: "const"; type: "string"; value: "StubOracle" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "mint"; type: "publicKey" }] } }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "price"; type: { defined: "I80F48" } }]; name: "stubOracleCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "stubOracleClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }]; args: [{ name: "price"; type: { defined: "I80F48" } }]; name: "stubOracleSet" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }]; args: [{ name: "price"; type: { defined: "I80F48" } }, { name: "lastUpdateSlot"; type: "u64" }, { name: "deviation"; type: { defined: "I80F48" } }]; name: "stubOracleSetTest" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: true; name: "tokenAuthority" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "reduceOnly"; type: "bool" }]; name: "tokenDeposit" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: true; name: "tokenAuthority" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "reduceOnly"; type: "bool" }]; name: "tokenDepositIntoExisting" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "allowBorrow"; type: "bool" }]; name: "tokenWithdraw" }, { accounts: [{ isMut: false; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { docs: ["Instructions Sysvar for instruction introspection"]; isMut: false; isSigner: false; name: "instructions" }]; args: [{ name: "loanAmounts"; type: { vec: "u64" } }]; name: "flashLoanBegin" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "flashLoanEnd" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "numLoans"; type: "u8" }, { name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "flashLoanEndV2" }, { accounts: [{ docs: ["Instructions Sysvar for instruction introspection"]; isMut: false; isSigner: false; name: "instructions" }, { isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }]; args: []; name: "healthRegionBegin" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }]; args: []; name: "healthRegionEnd" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "serumMarket"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3Market" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "serum_market_external"; type: "publicKey" }] } }, { isMut: true; isSigner: false; name: "indexReservation"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3Index" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "market_index"; type: "u16" }] } }, { isMut: false; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "marketIndex"; type: "u16" }, { name: "name"; type: "string" }]; docs: ["", "Serum", ""]; name: "serum3RegisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "market"; relations: ["group"] }]; args: [{ name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "nameOpt"; type: { option: "string" } }]; name: "serum3EditMarket" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "serumMarket"; relations: ["group"] }, { isMut: true; isSigner: false; name: "indexReservation"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "serum3DeregisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "openOrders"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3OO" }, { kind: "account"; path: "account"; type: "publicKey" }, { kind: "account"; path: "serum_market"; type: "publicKey" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: []; name: "serum3CreateOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: true; isSigner: false; name: "solDestination" }]; args: []; name: "serum3CloseOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }, { isMut: true; isSigner: false; name: "marketRequestQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerVault" }, { isMut: false; isSigner: false; name: "payerOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: { defined: "Serum3Side" } }, { name: "limitPrice"; type: "u64" }, { name: "maxBaseQty"; type: "u64" }, { name: "maxNativeQuoteQtyIncludingFees"; type: "u64" }, { name: "selfTradeBehavior"; type: { defined: "Serum3SelfTradeBehavior" } }, { name: "orderType"; type: { defined: "Serum3OrderType" } }, { name: "clientOrderId"; type: "u64" }, { name: "limit"; type: "u16" }]; name: "serum3PlaceOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }]; args: [{ name: "side"; type: { defined: "Serum3Side" } }, { name: "orderId"; type: "u128" }]; name: "serum3CancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }]; args: [{ name: "limit"; type: "u8" }]; name: "serum3CancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; docs: ["Deprecated instruction that used to settles all free funds from the OpenOrders account", "into the MangoAccount.", "", "Any serum \"referrer rebates\" (ui fees) are considered Mango fees."]; name: "serum3SettleFunds" }, { accounts: [{ accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; name: "v1" }, { accounts: [{ isMut: false; isSigner: false; name: "quoteOracle" }, { isMut: false; isSigner: false; name: "baseOracle" }]; name: "v2" }]; args: [{ name: "feesToDao"; type: "bool" }]; docs: ["Like Serum3SettleFunds, but `fees_to_dao` determines if referrer rebates are considered fees", "or are credited to the MangoAccount."]; name: "serum3SettleFundsV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "limit"; type: "u8" }]; name: "serum3LiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "liqTokenWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: false; isSigner: false; name: "liabMintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "liqTokenBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "tokenLiqWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: "u64" }]; name: "tokenForceCloseBorrowsWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: false; isSigner: false; name: "liabMintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "tokenLiqBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "perpMarket"; pda: { seeds: [{ kind: "const"; type: "string"; value: "PerpMarket" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "perp_market_index"; type: "u16" }] } }, { docs: ["Accounts are initialised by client,", "anchor discriminator is set first when ix exits,"]; isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "perpMarketIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oracleConfig"; type: { defined: "OracleConfigParams" } }, { name: "baseDecimals"; type: "u8" }, { name: "quoteLotSize"; type: "i64" }, { name: "baseLotSize"; type: "i64" }, { name: "maintBaseAssetWeight"; type: "f32" }, { name: "initBaseAssetWeight"; type: "f32" }, { name: "maintBaseLiabWeight"; type: "f32" }, { name: "initBaseLiabWeight"; type: "f32" }, { name: "maintOverallAssetWeight"; type: "f32" }, { name: "initOverallAssetWeight"; type: "f32" }, { name: "baseLiquidationFee"; type: "f32" }, { name: "makerFee"; type: "f32" }, { name: "takerFee"; type: "f32" }, { name: "minFunding"; type: "f32" }, { name: "maxFunding"; type: "f32" }, { name: "impactQuantity"; type: "i64" }, { name: "groupInsuranceFund"; type: "bool" }, { name: "feePenalty"; type: "f32" }, { name: "settleFeeFlat"; type: "f32" }, { name: "settleFeeAmountThreshold"; type: "f32" }, { name: "settleFeeFractionLowHealth"; type: "f32" }, { name: "settleTokenIndex"; type: "u16" }, { name: "settlePnlLimitFactor"; type: "f32" }, { name: "settlePnlLimitWindowSizeTs"; type: "u64" }, { name: "positivePnlLiquidationFee"; type: "f32" }]; docs: ["", "Perps", ""]; name: "perpCreateMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group"] }, { docs: ["The oracle account is optional and only used when reset_stable_price is set.", ""]; isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "oracleOpt"; type: { option: "publicKey" } }, { name: "oracleConfigOpt"; type: { option: { defined: "OracleConfigParams" } } }, { name: "baseDecimalsOpt"; type: { option: "u8" } }, { name: "maintBaseAssetWeightOpt"; type: { option: "f32" } }, { name: "initBaseAssetWeightOpt"; type: { option: "f32" } }, { name: "maintBaseLiabWeightOpt"; type: { option: "f32" } }, { name: "initBaseLiabWeightOpt"; type: { option: "f32" } }, { name: "maintOverallAssetWeightOpt"; type: { option: "f32" } }, { name: "initOverallAssetWeightOpt"; type: { option: "f32" } }, { name: "baseLiquidationFeeOpt"; type: { option: "f32" } }, { name: "makerFeeOpt"; type: { option: "f32" } }, { name: "takerFeeOpt"; type: { option: "f32" } }, { name: "minFundingOpt"; type: { option: "f32" } }, { name: "maxFundingOpt"; type: { option: "f32" } }, { name: "impactQuantityOpt"; type: { option: "i64" } }, { name: "groupInsuranceFundOpt"; type: { option: "bool" } }, { name: "feePenaltyOpt"; type: { option: "f32" } }, { name: "settleFeeFlatOpt"; type: { option: "f32" } }, { name: "settleFeeAmountThresholdOpt"; type: { option: "f32" } }, { name: "settleFeeFractionLowHealthOpt"; type: { option: "f32" } }, { name: "stablePriceDelayIntervalSecondsOpt"; type: { option: "u32" } }, { name: "stablePriceDelayGrowthLimitOpt"; type: { option: "f32" } }, { name: "stablePriceGrowthLimitOpt"; type: { option: "f32" } }, { name: "settlePnlLimitFactorOpt"; type: { option: "f32" } }, { name: "settlePnlLimitWindowSizeTsOpt"; type: { option: "u64" } }, { name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "resetStablePrice"; type: "bool" }, { name: "positivePnlLiquidationFeeOpt"; type: { option: "f32" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "forceCloseOpt"; type: { option: "bool" } }]; name: "perpEditMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "perpCloseMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "perpMarket"; relations: ["group"] }]; args: []; name: "perpDeactivatePosition" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceLots"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }]; name: "perpPlaceOrder"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceLots"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "selfTradeBehavior"; type: { defined: "SelfTradeBehavior" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }]; name: "perpPlaceOrderV2"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceOffsetLots"; type: "i64" }, { name: "pegLimit"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }, { name: "maxOracleStalenessSlots"; type: "i32" }]; name: "perpPlaceOrderPegged"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceOffsetLots"; type: "i64" }, { name: "pegLimit"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "selfTradeBehavior"; type: { defined: "SelfTradeBehavior" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }, { name: "maxOracleStalenessSlots"; type: "i32" }]; name: "perpPlaceOrderPeggedV2"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "orderId"; type: "u128" }]; name: "perpCancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "clientOrderId"; type: "u64" }]; name: "perpCancelOrderByClientOrderId" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }]; name: "perpCancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "sideOption"; type: { option: { defined: "Side" } } }, { name: "limit"; type: "u8" }]; name: "perpCancelAllOrdersBySide" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "event_queue"] }, { isMut: true; isSigner: false; name: "eventQueue" }]; args: [{ name: "limit"; type: "u64" }]; name: "perpConsumeEvents" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: false; isSigner: false; name: "oracle" }]; args: []; name: "perpUpdateFunding" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "settler"; relations: ["group"] }, { isMut: false; isSigner: true; name: "settlerOwner" }, { isMut: false; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "accountA"; relations: ["group"] }, { isMut: true; isSigner: false; name: "accountB"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: []; name: "perpSettlePnl" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "accountA"; relations: ["group"] }, { isMut: true; isSigner: false; name: "accountB"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }]; args: []; name: "perpForceClosePosition" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: [{ name: "maxSettleAmount"; type: "u64" }]; name: "perpSettleFees" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: [{ name: "maxBaseTransfer"; type: "i64" }, { name: "maxPnlTransfer"; type: "u64" }]; name: "perpLiqBaseOrPositivePnl" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }]; name: "perpLiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: "u64" }]; name: "perpLiqNegativePnlOrBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "insuranceBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "insuranceBankVault" }, { isMut: false; isSigner: false; name: "insuranceOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: "u64" }]; name: "perpLiqNegativePnlOrBankruptcyV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceLowerLimit"; type: "f64" }, { name: "priceUpperLimit"; type: "f64" }, { name: "pricePremiumRate"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }]; name: "tokenConditionalSwapCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceLowerLimit"; type: "f64" }, { name: "priceUpperLimit"; type: "f64" }, { name: "pricePremiumRate"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }, { name: "displayPriceStyle"; type: { defined: "TokenConditionalSwapDisplayPriceStyle" } }, { name: "intention"; type: { defined: "TokenConditionalSwapIntention" } }]; name: "tokenConditionalSwapCreateV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { docs: ["The bank's token_index is checked at #1"]; isMut: true; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }]; name: "tokenConditionalSwapCancel" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorAuthority" }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }, { name: "maxBuyTokenToLiqee"; type: "u64" }, { name: "maxSellTokenToLiqor"; type: "u64" }]; name: "tokenConditionalSwapTrigger" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "addressLookupTable" }]; args: [{ name: "index"; type: "u8" }]; name: "altSet" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: true; name: "payer" }, { isMut: true; isSigner: false; name: "addressLookupTable" }]; args: [{ name: "index"; type: "u8" }, { name: "newAddresses"; type: { vec: "publicKey" } }]; name: "altExtend" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "account"; relations: ["group"] }]; args: []; name: "computeAccountData" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "openbookV2Market"; pda: { seeds: [{ kind: "const"; type: "string"; value: "OpenbookV2Market" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "openbook_v2_market_external"; type: "publicKey" }] } }, { isMut: true; isSigner: false; name: "indexReservation"; pda: { seeds: [{ kind: "const"; type: "string"; value: "OpenbookV2Index" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "market_index"; type: "u16" }] } }, { isMut: false; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "marketIndex"; type: "u16" }, { name: "name"; type: "string" }]; docs: ["", "OpenbookV2", ""]; name: "openbookV2RegisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "market"; relations: ["group"] }]; args: [{ name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "forceCloseOpt"; type: { option: "bool" } }]; name: "openbookV2EditMarket" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "openbookV2Market"; relations: ["group"] }, { isMut: true; isSigner: false; name: "indexReservation"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "openbookV2DeregisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "openOrders"; pda: { programId: { kind: "account"; path: "openbook_v2_program"; type: "publicKey" }; seeds: [{ kind: "const"; type: "string"; value: "OpenOrders" }, { kind: "account"; path: "openbook_v2_market"; type: "publicKey" }, { kind: "account"; path: "openbook_v2_market_external"; type: "publicKey" }, { kind: "arg"; path: "account_num"; type: "u32" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "accountNum"; type: "u32" }]; name: "openbookV2CreateOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: true; isSigner: false; name: "solDestination" }]; args: []; name: "openbookV2CloseOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market" }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks", "event_queue"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerVault" }, { isMut: false; isSigner: false; name: "payerOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: "u8" }, { name: "limitPrice"; type: "u64" }, { name: "maxBaseQty"; type: "u64" }, { name: "maxNativeQuoteQtyIncludingFees"; type: "u64" }, { name: "selfTradeBehavior"; type: "u8" }, { name: "orderType"; type: "u8" }, { name: "clientOrderId"; type: "u64" }, { name: "limit"; type: "u16" }]; name: "openbookV2PlaceOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks", "event_queue"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: false; name: "marketRequestQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerVault" }, { isMut: false; isSigner: false; name: "payerOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: "u8" }, { name: "limitPrice"; type: "u64" }, { name: "maxBaseQty"; type: "u64" }, { name: "maxNativeQuoteQtyIncludingFees"; type: "u64" }, { name: "selfTradeBehavior"; type: "u8" }, { name: "clientOrderId"; type: "u64" }, { name: "limit"; type: "u16" }]; name: "openbookV2PlaceTakerOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "side"; type: "u8" }, { name: "orderId"; type: "u128" }]; name: "openbookV2CancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "quoteOracle" }, { isMut: false; isSigner: false; name: "baseOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "feesToDao"; type: "bool" }]; name: "openbookV2SettleFunds" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks", "event_queue"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "limit"; type: "u8" }]; name: "openbookV2LiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }]; name: "openbookV2CancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "dummy" }]; args: []; docs: ["", "benchmark", ""]; name: "benchmark" }]; name: "mango_v4"; types: [{ name: "InterestRateParams"; type: { fields: [{ name: "util0"; type: "f32" }, { name: "rate0"; type: "f32" }, { name: "util1"; type: "f32" }, { name: "rate1"; type: "f32" }, { name: "maxRate"; type: "f32" }, { name: "adjustmentFactor"; type: "f32" }]; kind: "struct" } }, { name: "Equity"; type: { fields: [{ name: "tokens"; type: { vec: { defined: "TokenEquity" } } }, { name: "perps"; type: { vec: { defined: "PerpEquity" } } }]; kind: "struct" } }, { name: "TokenEquity"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "value"; type: { defined: "I80F48" } }]; kind: "struct" } }, { name: "PerpEquity"; type: { fields: [{ name: "perpMarketIndex"; type: "u16" }, { name: "value"; type: { defined: "I80F48" } }]; kind: "struct" } }, { docs: ["Information about prices for a bank or perp market."]; name: "Prices"; type: { fields: [{ docs: ["The current oracle price"]; name: "oracle"; type: { defined: "I80F48" } }, { docs: ["A \"stable\" price, provided by StablePriceModel"]; name: "stable"; type: { defined: "I80F48" } }]; kind: "struct" } }, { name: "TokenInfo"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "maintAssetWeight"; type: { defined: "I80F48" } }, { name: "initAssetWeight"; type: { defined: "I80F48" } }, { name: "initScaledAssetWeight"; type: { defined: "I80F48" } }, { name: "maintLiabWeight"; type: { defined: "I80F48" } }, { name: "initLiabWeight"; type: { defined: "I80F48" } }, { name: "initScaledLiabWeight"; type: { defined: "I80F48" } }, { name: "prices"; type: { defined: "Prices" } }, { docs: ["Freely available spot balance for the token.", "", "Includes TokenPosition and free Serum3OpenOrders balances.", "Does not include perp upnl or Serum3 reserved amounts."]; name: "balanceSpot"; type: { defined: "I80F48" } }]; kind: "struct" } }, { docs: ["Information about reserved funds on Serum3 open orders accounts.", "", "Note that all \"free\" funds on open orders accounts are added directly", "to the token info. This is only about dealing with the reserved funds", "that might end up as base OR quote tokens, depending on whether the", "open orders execute on not."]; name: "Serum3Info"; type: { fields: [{ name: "reservedBase"; type: { defined: "I80F48" } }, { name: "reservedQuote"; type: { defined: "I80F48" } }, { name: "baseInfoIndex"; type: "u64" }, { name: "quoteInfoIndex"; type: "u64" }, { name: "marketIndex"; type: "u16" }, { docs: ["The open orders account has no free or reserved funds"]; name: "hasZeroFunds"; type: "bool" }]; kind: "struct" } }, { docs: ["Stores information about perp market positions and their open orders.", "", "Perp markets affect account health indirectly, though the token balance in the", "perp market's settle token. See `effective_token_balances()`."]; name: "PerpInfo"; type: { fields: [{ name: "perpMarketIndex"; type: "u16" }, { name: "settleTokenIndex"; type: "u16" }, { name: "maintBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "initBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "maintBaseLiabWeight"; type: { defined: "I80F48" } }, { name: "initBaseLiabWeight"; type: { defined: "I80F48" } }, { name: "maintOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "initOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "baseLotSize"; type: "i64" }, { name: "baseLots"; type: "i64" }, { name: "bidsBaseLots"; type: "i64" }, { name: "asksBaseLots"; type: "i64" }, { name: "quote"; type: { defined: "I80F48" } }, { name: "basePrices"; type: { defined: "Prices" } }, { name: "hasOpenOrders"; type: "bool" }, { name: "hasOpenFills"; type: "bool" }]; kind: "struct" } }, { docs: ["Store information needed to compute account health", "", "This is called a cache, because it extracts information from a MangoAccount and", "the Bank, Perp, oracle accounts once and then allows computing different types", "of health.", "", "For compute-saving reasons, it also allows applying adjustments to the extracted", "positions. That's often helpful for instructions that want to re-compute health", "after having made small, well-known changes to an account. Recomputing the", "HealthCache from scratch would be significantly more expensive.", "", "However, there's a real risk of getting the adjustments wrong and computing an", "inconsistent result, so particular care needs to be taken when this is done."]; name: "HealthCache"; type: { fields: [{ name: "tokenInfos"; type: { vec: { defined: "TokenInfo" } } }, { name: "serum3Infos"; type: { vec: { defined: "Serum3Info" } } }, { name: "perpInfos"; type: { vec: { defined: "PerpInfo" } } }, { name: "beingLiquidated"; type: "bool" }]; kind: "struct" } }, { name: "FlashLoanTokenDetail"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "changeAmount"; type: "i128" }, { name: "loan"; type: "i128" }, { name: "loanOriginationFee"; type: "i128" }, { name: "depositIndex"; type: "i128" }, { name: "borrowIndex"; type: "i128" }, { name: "price"; type: "i128" }]; kind: "struct" } }, { name: "FlashLoanTokenDetailV2"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "changeAmount"; type: "i128" }, { name: "loan"; type: "i128" }, { name: "loanOriginationFee"; type: "i128" }, { name: "depositIndex"; type: "i128" }, { name: "borrowIndex"; type: "i128" }, { name: "price"; type: "i128" }, { name: "swapFee"; type: "i128" }]; kind: "struct" } }, { name: "TokenPosition"; type: { fields: [{ docs: ["The deposit_index (if positive) or borrow_index (if negative) scaled position"]; name: "indexedPosition"; type: { defined: "I80F48" } }, { docs: ["index into Group.tokens"]; name: "tokenIndex"; type: "u16" }, { docs: ["incremented when a market requires this position to stay alive"]; name: "inUseCount"; type: "u16" }, { name: "padding"; type: { array: ["u8", 4] } }, { name: "previousIndex"; type: { defined: "I80F48" } }, { name: "cumulativeDepositInterest"; type: "f64" }, { name: "cumulativeBorrowInterest"; type: "f64" }, { name: "reserved"; type: { array: ["u8", 128] } }]; kind: "struct" } }, { name: "Serum3Orders"; type: { fields: [{ name: "openOrders"; type: "publicKey" }, { docs: ["Tracks the amount of borrows that have flowed into the serum open orders account.", "These borrows did not have the loan origination fee applied, and that may happen", "later (in serum3_settle_funds) if we can guarantee that the funds were used.", "In particular a place-on-book, cancel, settle should not cost fees."]; name: "baseBorrowsWithoutFee"; type: "u64" }, { name: "quoteBorrowsWithoutFee"; type: "u64" }, { name: "marketIndex"; type: "u16" }, { docs: ["Store the base/quote token index, so health computations don't need", "to get passed the static SerumMarket to find which tokens a market", "uses and look up the correct oracles."]; name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { name: "reserved"; type: { array: ["u8", 64] } }]; kind: "struct" } }, { name: "PerpPosition"; type: { fields: [{ name: "marketIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { docs: ["Index of the current settle pnl limit window"]; name: "settlePnlLimitWindow"; type: "u32" }, { docs: ["Amount of realized trade pnl and unrealized pnl that was already settled this window.", "", "Will be negative when negative pnl was settled.", "", "Note that this will be adjusted for bookkeeping reasons when the realized_trade settle", "limitchanges and is not useable for actually tracking how much pnl was settled", "on balance."]; name: "settlePnlLimitSettledInCurrentWindowNative"; type: "i64" }, { docs: ["Active position size, measured in base lots"]; name: "basePositionLots"; type: "i64" }, { docs: ["Active position in oracle quote native. At the same time this is 1:1 a settle_token native amount.", "", "Example: Say there's a perp market on the BTC/USD price using SOL for settlement. The user buys", "one long contract for $20k, then base = 1, quote = -20k. The price goes to $21k. Now their", "unsettled pnl is (1 * 21k - 20k) __SOL__ = 1000 SOL. This is because the perp contract arbitrarily", "decides that each unit of price difference creates 1 SOL worth of settlement.", "(yes, causing 1 SOL of settlement for each $1 price change implies a lot of extra leverage; likely", "there should be an extra configurable scaling factor before we use this for cases like that)"]; name: "quotePositionNative"; type: { defined: "I80F48" } }, { docs: ["Tracks what the position is to calculate average entry & break even price"]; name: "quoteRunningNative"; type: "i64" }, { docs: ["Already settled long funding"]; name: "longSettledFunding"; type: { defined: "I80F48" } }, { docs: ["Already settled short funding"]; name: "shortSettledFunding"; type: { defined: "I80F48" } }, { docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { docs: ["Amount of base lots on the EventQueue waiting to be processed"]; name: "takerBaseLots"; type: "i64" }, { docs: ["Amount of quote lots on the EventQueue waiting to be processed"]; name: "takerQuoteLots"; type: "i64" }, { docs: ["Cumulative long funding in quote native units.", "If the user paid $1 in funding for a long position, this would be 1e6.", "Beware of the sign!", "", "(Display only)"]; name: "cumulativeLongFunding"; type: "f64" }, { docs: ["Cumulative short funding in quote native units", "If the user paid $1 in funding for a short position, this would be -1e6.", "", "(Display only)"]; name: "cumulativeShortFunding"; type: "f64" }, { docs: ["Cumulative maker volume in quote native units", "", "(Display only)"]; name: "makerVolume"; type: "u64" }, { docs: ["Cumulative taker volume in quote native units", "", "(Display only)"]; name: "takerVolume"; type: "u64" }, { docs: ["Cumulative number of quote native units transfered from the perp position", "to the settle token spot position.", "", "For example, if the user settled $1 of positive pnl into their USDC spot", "position, this would be 1e6.", "", "(Display only)"]; name: "perpSpotTransfers"; type: "i64" }, { docs: ["The native average entry price for the base lots of the current position.", "Reset to 0 when the base position reaches or crosses 0."]; name: "avgEntryPricePerBaseLot"; type: "f64" }, { docs: ["Amount of pnl that was realized by bringing the base position closer to 0.", "", "The settlement of this type of pnl is limited by settle_pnl_limit_realized_trade.", "Settling pnl reduces this value once other_pnl below is exhausted."]; name: "realizedTradePnlNative"; type: { defined: "I80F48" } }, { docs: ["Amount of pnl realized from fees, funding and liquidation.", "", "This type of realized pnl is always settleable.", "Settling pnl reduces this value first."]; name: "realizedOtherPnlNative"; type: { defined: "I80F48" } }, { docs: ["Settle limit contribution from realized pnl.", "", "Every time pnl is realized, this is increased by a fraction of the stable", "value of the realization. It magnitude decreases when realized pnl drops below its value."]; name: "settlePnlLimitRealizedTrade"; type: "i64" }, { docs: ["Trade pnl, fees, funding that were added over the current position's lifetime.", "", "Reset when the position changes sign or goes to zero.", "Not decreased by settling.", "", "This is tracked for display purposes: this value plus the difference between entry", "price and current price of the base position is the overall pnl."]; name: "realizedPnlForPositionNative"; type: { defined: "I80F48" } }, { name: "reserved"; type: { array: ["u8", 88] } }]; kind: "struct" } }, { name: "PerpOpenOrder"; type: { fields: [{ name: "sideAndTree"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 1] } }, { name: "market"; type: "u16" }, { name: "padding2"; type: { array: ["u8", 4] } }, { name: "clientId"; type: "u64" }, { name: "id"; type: "u128" }, { name: "reserved"; type: { array: ["u8", 64] } }]; kind: "struct" } }, { name: "MangoAccountFixed"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "owner"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 32] } }, { name: "delegate"; type: "publicKey" }, { name: "accountNum"; type: "u32" }, { name: "beingLiquidated"; type: "u8" }, { name: "inHealthRegion"; type: "u8" }, { name: "bump"; type: "u8" }, { name: "padding"; type: { array: ["u8", 1] } }, { name: "netDeposits"; type: "i64" }, { name: "perpSpotTransfers"; type: "i64" }, { name: "healthRegionBeginInitHealth"; type: "i64" }, { name: "frozenUntil"; type: "u64" }, { name: "buybackFeesAccruedCurrent"; type: "u64" }, { name: "buybackFeesAccruedPrevious"; type: "u64" }, { name: "buybackFeesExpiryTimestamp"; type: "u64" }, { name: "nextTokenConditionalSwapId"; type: "u64" }, { name: "temporaryDelegate"; type: "publicKey" }, { name: "temporaryDelegateExpiry"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 160] } }]; kind: "struct" } }, { name: "OracleConfig"; type: { fields: [{ name: "confFilter"; type: { defined: "I80F48" } }, { name: "maxStalenessSlots"; type: "i64" }, { name: "reserved"; type: { array: ["u8", 72] } }]; kind: "struct" } }, { name: "OracleConfigParams"; type: { fields: [{ name: "confFilter"; type: "f32" }, { name: "maxStalenessSlots"; type: { option: "u32" } }]; kind: "struct" } }, { docs: ["InnerNodes and LeafNodes compose the binary tree of orders.", "", "Each InnerNode has exactly two children, which are either InnerNodes themselves,", "or LeafNodes. The children share the top `prefix_len` bits of `key`. The left", "child has a 0 in the next bit, and the right a 1."]; name: "InnerNode"; type: { fields: [{ name: "tag"; type: "u8" }, { name: "padding"; type: { array: ["u8", 3] } }, { docs: ["number of highest `key` bits that all children share", "e.g. if it's 2, the two highest bits of `key` will be the same on all children"]; name: "prefixLen"; type: "u32" }, { docs: ["only the top `prefix_len` bits of `key` are relevant"]; name: "key"; type: "u128" }, { docs: ["indexes into `BookSide::nodes`"]; name: "children"; type: { array: ["u32", 2] } }, { docs: ["The earliest expiry timestamp for the left and right subtrees.", "", "Needed to be able to find and remove expired orders without having to", "iterate through the whole bookside."]; name: "childEarliestExpiry"; type: { array: ["u64", 2] } }, { name: "reserved"; type: { array: ["u8", 72] } }]; kind: "struct" } }, { docs: ["LeafNodes represent an order in the binary tree"]; name: "LeafNode"; type: { fields: [{ docs: ["NodeTag"]; name: "tag"; type: "u8" }, { docs: ["Index into the owning MangoAccount's PerpOpenOrders"]; name: "ownerSlot"; type: "u8" }, { docs: ["PostOrderType, this was added for TradingView move order"]; name: "orderType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 1] } }, { docs: ["Time in seconds after `timestamp` at which the order expires.", "A value of 0 means no expiry."]; name: "timeInForce"; type: "u16" }, { name: "padding2"; type: { array: ["u8", 2] } }, { docs: ["The binary tree key, see new_node_key()"]; name: "key"; type: "u128" }, { docs: ["Address of the owning MangoAccount"]; name: "owner"; type: "publicKey" }, { docs: ["Number of base lots to buy or sell, always >=1"]; name: "quantity"; type: "i64" }, { docs: ["The time the order was placed"]; name: "timestamp"; type: "u64" }, { docs: ["If the effective price of an oracle pegged order exceeds this limit,", "it will be considered invalid and may be removed.", "", "Only applicable in the oracle_pegged OrderTree"]; name: "pegLimit"; type: "i64" }, { docs: ["User defined id for this order, used in FillEvents"]; name: "clientOrderId"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 32] } }]; kind: "struct" } }, { name: "AnyNode"; type: { fields: [{ name: "tag"; type: "u8" }, { name: "data"; type: { array: ["u8", 119] } }]; kind: "struct" } }, { name: "OrderTreeRoot"; type: { fields: [{ name: "maybeNode"; type: "u32" }, { name: "leafCount"; type: "u32" }]; kind: "struct" } }, { docs: ["A binary tree on AnyNode::key()", "", "The key encodes the price in the top 64 bits."]; name: "OrderTreeNodes"; type: { fields: [{ name: "orderTreeType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 3] } }, { name: "bumpIndex"; type: "u32" }, { name: "freeListLen"; type: "u32" }, { name: "freeListHead"; type: "u32" }, { name: "reserved"; type: { array: ["u8", 512] } }, { name: "nodes"; type: { array: [{ defined: "AnyNode" }, 1024] } }]; kind: "struct" } }, { name: "EventQueueHeader"; type: { fields: [{ name: "head"; type: "u32" }, { name: "count"; type: "u32" }, { name: "seqNum"; type: "u64" }]; kind: "struct" } }, { name: "AnyEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 207] } }]; kind: "struct" } }, { name: "FillEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "takerSide"; type: "u8" }, { name: "makerOut"; type: "u8" }, { name: "makerSlot"; type: "u8" }, { name: "padding"; type: { array: ["u8", 4] } }, { name: "timestamp"; type: "u64" }, { name: "seqNum"; type: "u64" }, { name: "maker"; type: "publicKey" }, { name: "padding2"; type: { array: ["u8", 32] } }, { name: "makerTimestamp"; type: "u64" }, { name: "taker"; type: "publicKey" }, { name: "padding3"; type: { array: ["u8", 16] } }, { name: "takerClientOrderId"; type: "u64" }, { name: "padding4"; type: { array: ["u8", 16] } }, { name: "price"; type: "i64" }, { name: "quantity"; type: "i64" }, { name: "makerClientOrderId"; type: "u64" }, { name: "makerFee"; type: "f32" }, { name: "takerFee"; type: "f32" }, { name: "reserved"; type: { array: ["u8", 8] } }]; kind: "struct" } }, { name: "OutEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "side"; type: "u8" }, { name: "ownerSlot"; type: "u8" }, { name: "padding0"; type: { array: ["u8", 5] } }, { name: "timestamp"; type: "u64" }, { name: "seqNum"; type: "u64" }, { name: "owner"; type: "publicKey" }, { name: "quantity"; type: "i64" }, { name: "padding1"; type: { array: ["u8", 144] } }]; kind: "struct" } }, { docs: ["Maintains a \"stable_price\" based on the oracle price.", "", "The stable price follows the oracle price, but its relative rate of", "change is limited (to `stable_growth_limit`) and futher reduced if", "the oracle price is far from the `delay_price`.", "", "Conceptually the `delay_price` is itself a time delayed", "(`24 * delay_interval_seconds`, assume 24h) and relative rate of change limited", "function of the oracle price. It is implemented as averaging the oracle", "price over every `delay_interval_seconds` (assume 1h) and then applying the", "`delay_growth_limit` between intervals."]; name: "StablePriceModel"; type: { fields: [{ docs: ["Current stable price to use in health"]; name: "stablePrice"; type: "f64" }, { name: "lastUpdateTimestamp"; type: "u64" }, { docs: ["Stored delay_price for each delay_interval.", "If we want the delay_price to be 24h delayed, we would store one for each hour.", "This is used in a cyclical way: We use the maximally-delayed value at delay_interval_index", "and once enough time passes to move to the next delay interval, that gets overwritten and", "we use the next one."]; name: "delayPrices"; type: { array: ["f64", 24] } }, { docs: ["The delay price is based on an average over each delay_interval. The contributions", "to the average are summed up here."]; name: "delayAccumulatorPrice"; type: "f64" }, { docs: ["Accumulating the total time for the above average."]; name: "delayAccumulatorTime"; type: "u32" }, { docs: ["Length of a delay_interval"]; name: "delayIntervalSeconds"; type: "u32" }, { docs: ["Maximal relative difference between two delay_price in consecutive intervals."]; name: "delayGrowthLimit"; type: "f32" }, { docs: ["Maximal per-second relative difference of the stable price.", "It gets further reduced if stable and delay price disagree."]; name: "stableGrowthLimit"; type: "f32" }, { docs: ["The delay_interval_index that update() was last called on."]; name: "lastDelayIntervalIndex"; type: "u8" }, { docs: ["If set to 1, the stable price will reset on the next non-zero price it sees."]; name: "resetOnNonzeroPrice"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }, { name: "reserved"; type: { array: ["u8", 48] } }]; kind: "struct" } }, { name: "TokenConditionalSwap"; type: { fields: [{ name: "id"; type: "u64" }, { docs: ["maximum amount of native tokens to buy or sell"]; name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { docs: ["how many native tokens were already bought/sold"]; name: "bought"; type: "u64" }, { name: "sold"; type: "u64" }, { docs: ["timestamp until which the conditional swap is valid"]; name: "expiryTimestamp"; type: "u64" }, { docs: ["The price must exceed this threshold to allow execution.", "", "This threshold is compared to the \"sell_token per buy_token\" oracle price", "(which can be computed by dividing the buy token oracle price by the", "sell token oracle price). If that price is >= lower_limit and <= upper_limit", "the tcs may be executable.", "", "Example: Stop loss to get out of a SOL long: The user bought SOL at 20 USDC/SOL", "and wants to stop loss at 18 USDC/SOL. They'd set buy_token=USDC, sell_token=SOL", "so the reference price is in SOL/USDC units. Set price_lower_limit=toNative(1/18)", "and price_upper_limit=toNative(1/10). Also set allow_borrows=false.", "", "Example: Want to buy SOL with USDC if the price falls below 22 USDC/SOL.", "buy_token=SOL, sell_token=USDC, reference price is in USDC/SOL units. Set", "price_upper_limit=toNative(22), price_lower_limit=0."]; name: "priceLowerLimit"; type: "f64" }, { docs: ["Parallel to price_lower_limit, but an upper limit."]; name: "priceUpperLimit"; type: "f64" }, { docs: ["The premium to pay over oracle price to incentivize execution."]; name: "pricePremiumRate"; type: "f64" }, { docs: ["The taker receives only premium_price * (1 - taker_fee_rate)"]; name: "takerFeeRate"; type: "f32" }, { docs: ["The maker has to pay premium_price * (1 + maker_fee_rate)"]; name: "makerFeeRate"; type: "f32" }, { docs: ["indexes of tokens for the swap"]; name: "buyTokenIndex"; type: "u16" }, { name: "sellTokenIndex"; type: "u16" }, { name: "hasData"; type: "u8" }, { docs: ["may token purchases create deposits? (often users just want to get out of a borrow)"]; name: "allowCreatingDeposits"; type: "u8" }, { docs: ["may token selling create borrows? (often users just want to get out of a long)"]; name: "allowCreatingBorrows"; type: "u8" }, { docs: ["The stored prices are always \"sell token per buy token\", but if the user", "used \"buy token per sell token\" when creating the tcs order, we should continue", "to show them prices in that way.", "", "Stores a TokenConditionalSwapDisplayPriceStyle enum value"]; name: "displayPriceStyle"; type: "u8" }, { docs: ["The intention the user had when placing this order, display-only", "", "Stores a TokenConditionalSwapIntention enum value"]; name: "intention"; type: "u8" }, { name: "reserved"; type: { array: ["u8", 111] } }]; kind: "struct" } }, { docs: ["Nothing in Rust shall use these types. They only exist so that the Anchor IDL", "knows about them and typescript can deserialize it."]; name: "TokenIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "Serum3MarketIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "PerpMarketIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "I80F48"; type: { fields: [{ name: "val"; type: "i128" }]; kind: "struct" } }, { name: "FlashLoanType"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "Swap" }] } }, { docs: ["Copy paste a bunch of enums so that we could AnchorSerialize & AnchorDeserialize them"]; name: "Serum3SelfTradeBehavior"; type: { kind: "enum"; variants: [{ name: "DecrementTake" }, { name: "CancelProvide" }, { name: "AbortTransaction" }] } }, { name: "Serum3OrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "ImmediateOrCancel" }, { name: "PostOnly" }] } }, { name: "Serum3Side"; type: { kind: "enum"; variants: [{ name: "Bid" }, { name: "Ask" }] } }, { docs: ["There are three types of health:", "- initial health (\"init\"): users can only open new positions if it's >= 0", "- maintenance health (\"maint\"): users get liquidated if it's < 0", "- liquidation end health: once liquidation started (see being_liquidated), it", "only stops once this is >= 0", "", "The ordering is", "init health <= liquidation end health <= maint health", "", "The different health types are realized by using different weights and prices:", "- init health: init weights with scaling, stable-price adjusted prices", "- liq end health: init weights without scaling, oracle prices", "- maint health: maint weights, oracle prices", ""]; name: "HealthType"; type: { kind: "enum"; variants: [{ name: "Init" }, { name: "Maint" }, { name: "LiquidationEnd" }] } }, { name: "LoanOriginationFeeInstruction"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "LiqTokenBankruptcy" }, { name: "LiqTokenWithToken" }, { name: "Serum3LiqForceCancelOrders" }, { name: "Serum3PlaceOrder" }, { name: "Serum3SettleFunds" }, { name: "TokenWithdraw" }, { name: "TokenConditionalSwapTrigger" }] } }, { docs: ["Enum for lookup into ix gate", "note:", "total ix files 56,", "ix files included 48,", "ix files not included 8,", "- Benchmark,", "- ComputeAccountData,", "- GroupCreate", "- GroupEdit", "- IxGateSet,", "- PerpZeroOut,", "- PerpEditMarket,", "- TokenEdit,"]; name: "IxGate"; type: { kind: "enum"; variants: [{ name: "AccountClose" }, { name: "AccountCreate" }, { name: "AccountEdit" }, { name: "AccountExpand" }, { name: "AccountToggleFreeze" }, { name: "AltExtend" }, { name: "AltSet" }, { name: "FlashLoan" }, { name: "GroupClose" }, { name: "GroupCreate" }, { name: "HealthRegion" }, { name: "PerpCancelAllOrders" }, { name: "PerpCancelAllOrdersBySide" }, { name: "PerpCancelOrder" }, { name: "PerpCancelOrderByClientOrderId" }, { name: "PerpCloseMarket" }, { name: "PerpConsumeEvents" }, { name: "PerpCreateMarket" }, { name: "PerpDeactivatePosition" }, { name: "PerpLiqBaseOrPositivePnl" }, { name: "PerpLiqForceCancelOrders" }, { name: "PerpLiqNegativePnlOrBankruptcy" }, { name: "PerpPlaceOrder" }, { name: "PerpSettleFees" }, { name: "PerpSettlePnl" }, { name: "PerpUpdateFunding" }, { name: "Serum3CancelAllOrders" }, { name: "Serum3CancelOrder" }, { name: "Serum3CloseOpenOrders" }, { name: "Serum3CreateOpenOrders" }, { name: "Serum3DeregisterMarket" }, { name: "Serum3EditMarket" }, { name: "Serum3LiqForceCancelOrders" }, { name: "Serum3PlaceOrder" }, { name: "Serum3RegisterMarket" }, { name: "Serum3SettleFunds" }, { name: "StubOracleClose" }, { name: "StubOracleCreate" }, { name: "StubOracleSet" }, { name: "TokenAddBank" }, { name: "TokenDeposit" }, { name: "TokenDeregister" }, { name: "TokenLiqBankruptcy" }, { name: "TokenLiqWithToken" }, { name: "TokenRegister" }, { name: "TokenRegisterTrustless" }, { name: "TokenUpdateIndexAndRate" }, { name: "TokenWithdraw" }, { name: "AccountBuybackFeesWithMngo" }, { name: "TokenForceCloseBorrowsWithToken" }, { name: "PerpForceClosePosition" }, { name: "GroupWithdrawInsuranceFund" }, { name: "TokenConditionalSwapCreate" }, { name: "TokenConditionalSwapTrigger" }, { name: "TokenConditionalSwapCancel" }, { name: "OpenbookV2CancelOrder" }, { name: "OpenbookV2CloseOpenOrders" }, { name: "OpenbookV2CreateOpenOrders" }, { name: "OpenbookV2DeregisterMarket" }, { name: "OpenbookV2EditMarket" }, { name: "OpenbookV2LiqForceCancelOrders" }, { name: "OpenbookV2PlaceOrder" }, { name: "OpenbookV2PlaceTakeOrder" }, { name: "OpenbookV2RegisterMarket" }, { name: "OpenbookV2SettleFunds" }, { name: "AdminTokenWithdrawFees" }, { name: "AdminPerpWithdrawFees" }] } }, { name: "CheckLiquidatable"; type: { kind: "enum"; variants: [{ name: "NotLiquidatable" }, { name: "Liquidatable" }, { name: "BecameNotLiquidatable" }] } }, { name: "OracleType"; type: { kind: "enum"; variants: [{ name: "Pyth" }, { name: "Stub" }, { name: "SwitchboardV1" }, { name: "SwitchboardV2" }] } }, { name: "OrderState"; type: { kind: "enum"; variants: [{ name: "Valid" }, { name: "Invalid" }, { name: "Skipped" }] } }, { name: "BookSideOrderTree"; type: { kind: "enum"; variants: [{ name: "Fixed" }, { name: "OraclePegged" }] } }, { name: "NodeTag"; type: { kind: "enum"; variants: [{ name: "Uninitialized" }, { name: "InnerNode" }, { name: "LeafNode" }, { name: "FreeNode" }, { name: "LastFreeNode" }] } }, { name: "PlaceOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "ImmediateOrCancel" }, { name: "PostOnly" }, { name: "Market" }, { name: "PostOnlySlide" }] } }, { name: "PostOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "PostOnly" }, { name: "PostOnlySlide" }] } }, { docs: ["Self trade behavior controls how taker orders interact with resting limit orders of the same account.", "This setting has no influence on placing a resting or oracle pegged limit order that does not match", "immediately, instead it's the responsibility of the user to correctly configure his taker orders."]; name: "SelfTradeBehavior"; type: { kind: "enum"; variants: [{ name: "DecrementTake" }, { name: "CancelProvide" }, { name: "AbortTransaction" }] } }, { name: "Side"; type: { kind: "enum"; variants: [{ name: "Bid" }, { name: "Ask" }] } }, { docs: ["SideAndOrderTree is a storage optimization, so we don't need two bytes for the data"]; name: "SideAndOrderTree"; type: { kind: "enum"; variants: [{ name: "BidFixed" }, { name: "AskFixed" }, { name: "BidOraclePegged" }, { name: "AskOraclePegged" }] } }, { name: "OrderParams"; type: { kind: "enum"; variants: [{ name: "Market" }, { fields: [{ name: "price_lots"; type: "i64" }]; name: "ImmediateOrCancel" }, { fields: [{ name: "price_lots"; type: "i64" }, { name: "order_type"; type: { defined: "PostOrderType" } }]; name: "Fixed" }, { fields: [{ name: "price_offset_lots"; type: "i64" }, { name: "order_type"; type: { defined: "PostOrderType" } }, { name: "peg_limit"; type: "i64" }, { name: "max_oracle_staleness_slots"; type: "i32" }]; name: "OraclePegged" }] } }, { name: "OrderTreeType"; type: { kind: "enum"; variants: [{ name: "Bids" }, { name: "Asks" }] } }, { name: "EventType"; type: { kind: "enum"; variants: [{ name: "Fill" }, { name: "Out" }, { name: "Liquidate" }] } }, { name: "TokenConditionalSwapDisplayPriceStyle"; type: { kind: "enum"; variants: [{ name: "SellTokenPerBuyToken" }, { name: "BuyTokenPerSellToken" }] } }, { name: "TokenConditionalSwapIntention"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "StopLoss" }, { name: "TakeProfit" }] } }]; version: "0.18.0" }

                                                                                                                            Type declaration

                                                                                                                            • accounts: [{ name: "bank"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 16] } }, { name: "mint"; type: "publicKey" }, { name: "vault"; type: "publicKey" }, { name: "oracle"; type: "publicKey" }, { name: "oracleConfig"; type: { defined: "OracleConfig" } }, { name: "stablePriceModel"; type: { defined: "StablePriceModel" } }, { docs: ["the index used to scale the value of an IndexedPosition", "TODO: should always be >= 0, add checks?"]; name: "depositIndex"; type: { defined: "I80F48" } }, { name: "borrowIndex"; type: { defined: "I80F48" } }, { docs: ["deposits/borrows for this bank", "", "Note that these may become negative. It's perfectly fine for users to borrow one one bank", "(increasing indexed_borrows there) and paying back on another (possibly decreasing indexed_borrows", "below zero).", "", "The vault amount is not deducable from these values.", "", "These become meaningful when summed over all banks (like in update_index_and_rate)."]; name: "indexedDeposits"; type: { defined: "I80F48" } }, { name: "indexedBorrows"; type: { defined: "I80F48" } }, { name: "indexLastUpdated"; type: "u64" }, { name: "bankRateLastUpdated"; type: "u64" }, { name: "avgUtilization"; type: { defined: "I80F48" } }, { name: "adjustmentFactor"; type: { defined: "I80F48" } }, { name: "util0"; type: { defined: "I80F48" } }, { name: "rate0"; type: { defined: "I80F48" } }, { name: "util1"; type: { defined: "I80F48" } }, { name: "rate1"; type: { defined: "I80F48" } }, { name: "maxRate"; type: { defined: "I80F48" } }, { name: "collectedFeesNative"; type: { defined: "I80F48" } }, { name: "loanOriginationFeeRate"; type: { defined: "I80F48" } }, { name: "loanFeeRate"; type: { defined: "I80F48" } }, { name: "maintAssetWeight"; type: { defined: "I80F48" } }, { name: "initAssetWeight"; type: { defined: "I80F48" } }, { name: "maintLiabWeight"; type: { defined: "I80F48" } }, { name: "initLiabWeight"; type: { defined: "I80F48" } }, { name: "liquidationFee"; type: { defined: "I80F48" } }, { name: "dust"; type: { defined: "I80F48" } }, { name: "flashLoanTokenAccountInitial"; type: "u64" }, { name: "flashLoanApprovedAmount"; type: "u64" }, { name: "tokenIndex"; type: "u16" }, { name: "bump"; type: "u8" }, { name: "mintDecimals"; type: "u8" }, { name: "bankNum"; type: "u32" }, { docs: ["Min fraction of deposits that must remain in the vault when borrowing."]; name: "minVaultToDepositsRatio"; type: "f64" }, { docs: ["Size in seconds of a net borrows window"]; name: "netBorrowLimitWindowSizeTs"; type: "u64" }, { docs: ["Timestamp at which the last net borrows window started"]; name: "lastNetBorrowsWindowStartTs"; type: "u64" }, { docs: ["Net borrow limit per window in quote native; set to -1 to disable."]; name: "netBorrowLimitPerWindowQuote"; type: "i64" }, { docs: ["Sum of all deposits and borrows in the last window, in native units."]; name: "netBorrowsInWindow"; type: "i64" }, { docs: ["Soft borrow limit in native quote", "", "Once the borrows on the bank exceed this quote value, init_liab_weight is scaled up.", "Set to f64::MAX to disable.", "", "See scaled_init_liab_weight()."]; name: "borrowWeightScaleStartQuote"; type: "f64" }, { docs: ["Limit for collateral of deposits in native quote", "", "Once the deposits in the bank exceed this quote value, init_asset_weight is scaled", "down to keep the total collateral value constant.", "Set to f64::MAX to disable.", "", "See scaled_init_asset_weight()."]; name: "depositWeightScaleStartQuote"; type: "f64" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }, { name: "feesWithdrawn"; type: "u64" }, { docs: ["Fees for the token conditional swap feature"]; name: "tokenConditionalSwapTakerFeeRate"; type: "f32" }, { name: "tokenConditionalSwapMakerFeeRate"; type: "f32" }, { name: "flashLoanSwapFeeRate"; type: "f32" }, { name: "reserved"; type: { array: ["u8", 2092] } }]; kind: "struct" } }, { name: "group"; type: { fields: [{ name: "creator"; type: "publicKey" }, { name: "groupNum"; type: "u32" }, { name: "admin"; type: "publicKey" }, { name: "fastListingAdmin"; type: "publicKey" }, { name: "mngoTokenIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { name: "insuranceVault"; type: "publicKey" }, { name: "insuranceMint"; type: "publicKey" }, { name: "bump"; type: "u8" }, { name: "testing"; type: "u8" }, { name: "version"; type: "u8" }, { name: "buybackFees"; type: "u8" }, { name: "buybackFeesMngoBonusFactor"; type: "f32" }, { name: "addressLookupTables"; type: { array: ["publicKey", 20] } }, { name: "securityAdmin"; type: "publicKey" }, { name: "depositLimitQuote"; type: "u64" }, { name: "ixGate"; type: "u128" }, { name: "buybackFeesSwapMangoAccount"; type: "publicKey" }, { docs: ["Number of seconds after which fees that could be used with the fees buyback feature expire.", "", "The actual expiry is staggered such that the fees users accumulate are always", "available for at least this interval - but may be available for up to twice this time.", "", "When set to 0, there's no expiry of buyback fees."]; name: "buybackFeesExpiryInterval"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 1824] } }]; kind: "struct" } }, { name: "mangoAccount"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "owner"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 32] } }, { name: "delegate"; type: "publicKey" }, { name: "accountNum"; type: "u32" }, { docs: ["Tracks that this account should be liquidated until init_health >= 0.", "", "Normally accounts can not be liquidated while maint_health >= 0. But when an account", "reaches maint_health < 0, liquidators will call a liquidation instruction and thereby", "set this flag. Now the account may be liquidated until init_health >= 0.", "", "Many actions should be disabled while the account is being liquidated, even if", "its maint health has recovered to positive. Creating new open orders would, for example,", "confuse liquidators."]; name: "beingLiquidated"; type: "u8" }, { docs: ["The account is currently inside a health region marked by HealthRegionBegin...HealthRegionEnd.", "", "Must never be set after a transaction ends."]; name: "inHealthRegion"; type: "u8" }, { name: "bump"; type: "u8" }, { name: "padding"; type: { array: ["u8", 1] } }, { name: "netDeposits"; type: "i64" }, { name: "perpSpotTransfers"; type: "i64" }, { docs: ["Init health as calculated during HealthReginBegin, rounded up."]; name: "healthRegionBeginInitHealth"; type: "i64" }, { name: "frozenUntil"; type: "u64" }, { docs: ["Fees usable with the \"fees buyback\" feature.", "This tracks the ones that accrued in the current expiry interval."]; name: "buybackFeesAccruedCurrent"; type: "u64" }, { docs: ["Fees buyback amount from the previous expiry interval."]; name: "buybackFeesAccruedPrevious"; type: "u64" }, { docs: ["End timestamp of the current expiry interval of the buyback fees amount."]; name: "buybackFeesExpiryTimestamp"; type: "u64" }, { docs: ["Next id to use when adding a token condition swap"]; name: "nextTokenConditionalSwapId"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 200] } }, { name: "headerVersion"; type: "u8" }, { name: "padding3"; type: { array: ["u8", 7] } }, { name: "padding4"; type: "u32" }, { name: "tokens"; type: { vec: { defined: "TokenPosition" } } }, { name: "padding5"; type: "u32" }, { name: "serum3"; type: { vec: { defined: "Serum3Orders" } } }, { name: "padding6"; type: "u32" }, { name: "perps"; type: { vec: { defined: "PerpPosition" } } }, { name: "padding7"; type: "u32" }, { name: "perpOpenOrders"; type: { vec: { defined: "PerpOpenOrder" } } }]; kind: "struct" } }, { name: "mintInfo"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "tokenIndex"; type: "u16" }, { name: "groupInsuranceFund"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 5] } }, { name: "mint"; type: "publicKey" }, { name: "banks"; type: { array: ["publicKey", 6] } }, { name: "vaults"; type: { array: ["publicKey", 6] } }, { name: "oracle"; type: "publicKey" }, { name: "registrationTime"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 2560] } }]; kind: "struct" } }, { name: "openbookV2Market"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 2] } }, { name: "name"; type: { array: ["u8", 16] } }, { name: "openbookV2Program"; type: "publicKey" }, { name: "openbookV2MarketExternal"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "bump"; type: "u8" }, { name: "padding2"; type: { array: ["u8", 5] } }, { name: "registrationTime"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 512] } }]; kind: "struct" } }, { name: "openbookV2MarketIndexReservation"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "reserved"; type: { array: ["u8", 38] } }]; kind: "struct" } }, { name: "stubOracle"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "mint"; type: "publicKey" }, { name: "price"; type: { defined: "I80F48" } }, { name: "lastUpdateTs"; type: "i64" }, { name: "lastUpdateSlot"; type: "u64" }, { name: "deviation"; type: { defined: "I80F48" } }, { name: "reserved"; type: { array: ["u8", 104] } }]; kind: "struct" } }, { name: "bookSide"; type: { fields: [{ name: "roots"; type: { array: [{ defined: "OrderTreeRoot" }, 2] } }, { name: "reservedRoots"; type: { array: [{ defined: "OrderTreeRoot" }, 4] } }, { name: "reserved"; type: { array: ["u8", 256] } }, { name: "nodes"; type: { defined: "OrderTreeNodes" } }]; kind: "struct" } }, { name: "eventQueue"; type: { fields: [{ name: "header"; type: { defined: "EventQueueHeader" } }, { name: "buf"; type: { array: [{ defined: "AnyEvent" }, 488] } }, { name: "reserved"; type: { array: ["u8", 64] } }]; kind: "struct" } }, { name: "perpMarket"; type: { fields: [{ name: "group"; type: "publicKey" }, { docs: ["Token index that settlements happen in.", "", "Currently required to be 0, USDC. In the future settlement", "may be allowed to happen in other tokens."]; name: "settleTokenIndex"; type: "u16" }, { docs: ["Index of this perp market. Other data, like the MangoAccount's PerpPosition", "reference this market via this index. Unique for this group's perp markets."]; name: "perpMarketIndex"; type: "u16" }, { docs: ["Field used to contain the trusted_market flag and is now unused."]; name: "blocked1"; type: "u8" }, { docs: ["Is this market covered by the group insurance fund?"]; name: "groupInsuranceFund"; type: "u8" }, { docs: ["PDA bump"]; name: "bump"; type: "u8" }, { docs: ["Number of decimals used for the base token.", "", "Used to convert the oracle's price into a native/native price."]; name: "baseDecimals"; type: "u8" }, { docs: ["Name. Trailing zero bytes are ignored."]; name: "name"; type: { array: ["u8", 16] } }, { docs: ["Address of the BookSide account for bids"]; name: "bids"; type: "publicKey" }, { docs: ["Address of the BookSide account for asks"]; name: "asks"; type: "publicKey" }, { docs: ["Address of the EventQueue account"]; name: "eventQueue"; type: "publicKey" }, { docs: ["Oracle account address"]; name: "oracle"; type: "publicKey" }, { docs: ["Oracle configuration"]; name: "oracleConfig"; type: { defined: "OracleConfig" } }, { docs: ["Maintains a stable price based on the oracle price that is less volatile."]; name: "stablePriceModel"; type: { defined: "StablePriceModel" } }, { docs: ["Number of quote native in a quote lot. Must be a power of 10.", "", "Primarily useful for increasing the tick size on the market: A lot price", "of 1 becomes a native price of quote_lot_size/base_lot_size becomes a", "ui price of quote_lot_size*base_decimals/base_lot_size/quote_decimals."]; name: "quoteLotSize"; type: "i64" }, { docs: ["Number of base native in a base lot. Must be a power of 10.", "", "Example: If base decimals for the underlying asset is 6, base lot size", "is 100 and and base position lots is 10_000 then base position native is", "1_000_000 and base position ui is 1."]; name: "baseLotSize"; type: "i64" }, { docs: ["These weights apply to the base position. The quote position has", "no explicit weight (but may be covered by the overall pnl asset weight)."]; name: "maintBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "initBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "maintBaseLiabWeight"; type: { defined: "I80F48" } }, { name: "initBaseLiabWeight"; type: { defined: "I80F48" } }, { docs: ["Number of base lots currently active in the market. Always >= 0.", "", "Since this counts positive base lots and negative base lots, the more relevant", "number of open base lot pairs is half this value."]; name: "openInterest"; type: "i64" }, { docs: ["Total number of orders seen"]; name: "seqNum"; type: "u64" }, { docs: ["Timestamp in seconds that the market was registered at."]; name: "registrationTime"; type: "u64" }, { docs: ["Minimal funding rate per day, must be <= 0."]; name: "minFunding"; type: { defined: "I80F48" } }, { docs: ["Maximal funding rate per day, must be >= 0."]; name: "maxFunding"; type: { defined: "I80F48" } }, { docs: ["For funding, get the impact price this many base lots deep into the book."]; name: "impactQuantity"; type: "i64" }, { docs: ["Current long funding value. Increasing it means that every long base lot", "needs to pay that amount of quote native in funding.", "", "PerpPosition uses and tracks it settle funding. Updated by the perp", "keeper instruction."]; name: "longFunding"; type: { defined: "I80F48" } }, { docs: ["See long_funding."]; name: "shortFunding"; type: { defined: "I80F48" } }, { docs: ["timestamp that funding was last updated in"]; name: "fundingLastUpdated"; type: "u64" }, { docs: ["Fees", "Fee for base position liquidation"]; name: "baseLiquidationFee"; type: { defined: "I80F48" } }, { docs: ["Fee when matching maker orders. May be negative."]; name: "makerFee"; type: { defined: "I80F48" } }, { docs: ["Fee for taker orders, may not be negative."]; name: "takerFee"; type: { defined: "I80F48" } }, { docs: ["Fees accrued in native quote currency", "these are increased when new fees are paid and decreased when perp_settle_fees is called"]; name: "feesAccrued"; type: { defined: "I80F48" } }, { docs: ["Fees settled in native quote currency", "these are increased when perp_settle_fees is called, and never decreased"]; name: "feesSettled"; type: { defined: "I80F48" } }, { docs: ["Fee (in quote native) to charge for ioc orders"]; name: "feePenalty"; type: "f32" }, { docs: ["In native units of settlement token, given to each settle call above the", "settle_fee_amount_threshold."]; name: "settleFeeFlat"; type: "f32" }, { docs: ["Pnl settlement amount needed to be eligible for the flat fee."]; name: "settleFeeAmountThreshold"; type: "f32" }, { docs: ["Fraction of pnl to pay out as fee if +pnl account has low health."]; name: "settleFeeFractionLowHealth"; type: "f32" }, { docs: ["Controls the strictness of the settle limit.", "Set to a negative value to disable the limit.", "", "This factor applies to the settle limit in two ways", "- for the unrealized pnl settle limit, the factor is multiplied with the stable perp base value", "(i.e. limit_factor * base_native * stable_price)", "- when increasing the realized pnl settle limit (stored per PerpPosition), the factor is", "multiplied with the stable value of the perp pnl being realized", "(i.e. limit_factor * reduced_native * stable_price)", "", "See also PerpPosition::settle_pnl_limit_realized_trade"]; name: "settlePnlLimitFactor"; type: "f32" }, { name: "padding3"; type: { array: ["u8", 4] } }, { docs: ["Window size in seconds for the perp settlement limit"]; name: "settlePnlLimitWindowSizeTs"; type: "u64" }, { docs: ["If true, users may no longer increase their market exposure. Only actions", "that reduce their position are still allowed."]; name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding4"; type: { array: ["u8", 6] } }, { docs: ["Weights for full perp market health, if positive"]; name: "maintOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "initOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "positivePnlLiquidationFee"; type: { defined: "I80F48" } }, { name: "feesWithdrawn"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 1880] } }]; kind: "struct" } }, { name: "serum3Market"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "reduceOnly"; type: "u8" }, { name: "forceClose"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 2] } }, { name: "name"; type: { array: ["u8", 16] } }, { name: "serumProgram"; type: "publicKey" }, { name: "serumMarketExternal"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "bump"; type: "u8" }, { name: "padding2"; type: { array: ["u8", 5] } }, { name: "registrationTime"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 128] } }]; kind: "struct" } }, { name: "serum3MarketIndexReservation"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "marketIndex"; type: "u16" }, { name: "reserved"; type: { array: ["u8", 38] } }]; kind: "struct" } }]
                                                                                                                            • errors: [{ code: 6000; msg: ""; name: "SomeError" }, { code: 6001; msg: ""; name: "NotImplementedError" }, { code: 6002; msg: "checked math error"; name: "MathError" }, { code: 6003; msg: ""; name: "UnexpectedOracle" }, { code: 6004; msg: "oracle type cannot be determined"; name: "UnknownOracleType" }, { code: 6005; msg: ""; name: "InvalidFlashLoanTargetCpiProgram" }, { code: 6006; msg: "health must be positive"; name: "HealthMustBePositive" }, { code: 6007; msg: "health must be positive or not decrease"; name: "HealthMustBePositiveOrIncrease" }, { code: 6008; msg: "health must be negative"; name: "HealthMustBeNegative" }, { code: 6009; msg: "the account is bankrupt"; name: "IsBankrupt" }, { code: 6010; msg: "the account is not bankrupt"; name: "IsNotBankrupt" }, { code: 6011; msg: "no free token position index"; name: "NoFreeTokenPositionIndex" }, { code: 6012; msg: "no free serum3 open orders index"; name: "NoFreeSerum3OpenOrdersIndex" }, { code: 6013; msg: "no free perp position index"; name: "NoFreePerpPositionIndex" }, { code: 6014; msg: "serum3 open orders exist already"; name: "Serum3OpenOrdersExistAlready" }, { code: 6015; msg: "bank vault has insufficent funds"; name: "InsufficentBankVaultFunds" }, { code: 6016; msg: "account is currently being liquidated"; name: "BeingLiquidated" }, { code: 6017; msg: "invalid bank"; name: "InvalidBank" }, { code: 6018; msg: "account profitability is mismatched"; name: "ProfitabilityMismatch" }, { code: 6019; msg: "cannot settle with self"; name: "CannotSettleWithSelf" }, { code: 6020; msg: "perp position does not exist"; name: "PerpPositionDoesNotExist" }, { code: 6021; msg: "max settle amount must be greater than zero"; name: "MaxSettleAmountMustBeGreaterThanZero" }, { code: 6022; msg: "the perp position has open orders or unprocessed fill events"; name: "HasOpenPerpOrders" }, { code: 6023; msg: "an oracle does not reach the confidence threshold"; name: "OracleConfidence" }, { code: 6024; msg: "an oracle is stale"; name: "OracleStale" }, { code: 6025; msg: "settlement amount must always be positive"; name: "SettlementAmountMustBePositive" }, { code: 6026; msg: "bank utilization has reached limit"; name: "BankBorrowLimitReached" }, { code: 6027; msg: "bank net borrows has reached limit - this is an intermittent error - the limit will reset regularly"; name: "BankNetBorrowsLimitReached" }, { code: 6028; msg: "token position does not exist"; name: "TokenPositionDoesNotExist" }, { code: 6029; msg: "token deposits into accounts that are being liquidated must bring their health above the init threshold"; name: "DepositsIntoLiquidatingMustRecover" }, { code: 6030; msg: "token is in reduce only mode"; name: "TokenInReduceOnlyMode" }, { code: 6031; msg: "market is in reduce only mode"; name: "MarketInReduceOnlyMode" }, { code: 6032; msg: "group is halted"; name: "GroupIsHalted" }, { code: 6033; msg: "the perp position has non-zero base lots"; name: "PerpHasBaseLots" }, { code: 6034; msg: "there are open or unsettled serum3 orders"; name: "HasOpenOrUnsettledSerum3Orders" }, { code: 6035; msg: "has liquidatable token position"; name: "HasLiquidatableTokenPosition" }, { code: 6036; msg: "has liquidatable perp base position"; name: "HasLiquidatablePerpBasePosition" }, { code: 6037; msg: "has liquidatable positive perp pnl"; name: "HasLiquidatablePositivePerpPnl" }, { code: 6038; msg: "account is frozen"; name: "AccountIsFrozen" }, { code: 6039; msg: "Init Asset Weight can't be negative"; name: "InitAssetWeightCantBeNegative" }, { code: 6040; msg: "has open perp taker fills"; name: "HasOpenPerpTakerFills" }, { code: 6041; msg: "deposit crosses the current group deposit limit"; name: "DepositLimit" }, { code: 6042; msg: "instruction is disabled"; name: "IxIsDisabled" }, { code: 6043; msg: "no liquidatable perp base position"; name: "NoLiquidatablePerpBasePosition" }, { code: 6044; msg: "perp order id not found on the orderbook"; name: "PerpOrderIdNotFound" }, { code: 6045; msg: "HealthRegions allow only specific instructions between Begin and End"; name: "HealthRegionBadInnerInstruction" }, { code: 6046; msg: "token is in force close"; name: "TokenInForceClose" }, { code: 6047; msg: "incorrect number of health accounts"; name: "InvalidHealthAccountCount" }, { code: 6048; msg: "would self trade"; name: "WouldSelfTrade" }, { code: 6049; msg: "conditional token swap price is not in execution range"; name: "TokenConditionalSwapPriceNotInRange" }]
                                                                                                                            • events: [{ fields: [{ index: false; name: "healthCache"; type: { defined: "HealthCache" } }, { index: false; name: "initHealth"; type: { defined: "I80F48" } }, { index: false; name: "maintHealth"; type: { defined: "I80F48" } }, { index: false; name: "equity"; type: { defined: "Equity" } }]; name: "MangoAccountData" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "basePosition"; type: "i64" }, { index: false; name: "quotePosition"; type: "i128" }, { index: false; name: "longSettledFunding"; type: "i128" }, { index: false; name: "shortSettledFunding"; type: "i128" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }]; name: "PerpBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "indexedPosition"; type: "i128" }, { index: false; name: "depositIndex"; type: "i128" }, { index: false; name: "borrowIndex"; type: "i128" }]; name: "TokenBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenLoanDetails"; type: { vec: { defined: "FlashLoanTokenDetail" } } }, { index: false; name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "FlashLoanLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenLoanDetails"; type: { vec: { defined: "FlashLoanTokenDetailV2" } } }, { index: false; name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "FlashLoanLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "signer"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "quantity"; type: "u64" }, { index: false; name: "price"; type: "i128" }]; name: "WithdrawLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "signer"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "quantity"; type: "u64" }, { index: false; name: "price"; type: "i128" }]; name: "DepositLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerOrderId"; type: "u128" }, { index: false; name: "makerFee"; type: "i128" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerOrderId"; type: "u128" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "i128" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }]; name: "FillLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerClientOrderId"; type: "u64" }, { index: false; name: "makerFee"; type: "f32" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "f32" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }]; name: "FillLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "makerSlot"; type: "u8" }, { index: false; name: "makerOut"; type: "bool" }, { index: false; name: "timestamp"; type: "u64" }, { index: false; name: "seqNum"; type: "u64" }, { index: false; name: "maker"; type: "publicKey" }, { index: false; name: "makerClientOrderId"; type: "u64" }, { index: false; name: "makerFee"; type: "f32" }, { index: false; name: "makerTimestamp"; type: "u64" }, { index: false; name: "taker"; type: "publicKey" }, { index: false; name: "takerClientOrderId"; type: "u64" }, { index: false; name: "takerFee"; type: "f32" }, { index: false; name: "price"; type: "i64" }, { index: false; name: "quantity"; type: "i64" }, { index: false; name: "makerClosedPnl"; type: "f64" }, { index: false; name: "takerClosedPnl"; type: "f64" }]; name: "FillLogV3" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "oracleSlot"; type: "u64" }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "feesAccrued"; type: "i128" }, { index: false; name: "feesSettled"; type: "i128" }, { index: false; name: "openInterest"; type: "i64" }, { index: false; name: "instantaneousFundingRate"; type: "i128" }]; name: "PerpUpdateFundingLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "longFunding"; type: "i128" }, { index: false; name: "shortFunding"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "oracleSlot"; type: "u64" }, { index: false; name: "oracleConfidence"; type: "i128" }, { index: false; name: "oracleType"; type: { defined: "OracleType" } }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "feesAccrued"; type: "i128" }, { index: false; name: "feesSettled"; type: "i128" }, { index: false; name: "openInterest"; type: "i64" }, { index: false; name: "instantaneousFundingRate"; type: "i128" }]; name: "PerpUpdateFundingLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "depositIndex"; type: "i128" }, { index: false; name: "borrowIndex"; type: "i128" }, { index: false; name: "avgUtilization"; type: "i128" }, { index: false; name: "price"; type: "i128" }, { index: false; name: "stablePrice"; type: "i128" }, { index: false; name: "collectedFees"; type: "i128" }, { index: false; name: "loanFeeRate"; type: "i128" }, { index: false; name: "totalBorrows"; type: "i128" }, { index: false; name: "totalDeposits"; type: "i128" }, { index: false; name: "borrowRate"; type: "i128" }, { index: false; name: "depositRate"; type: "i128" }]; name: "UpdateIndexLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "rate0"; type: "i128" }, { index: false; name: "rate1"; type: "i128" }, { index: false; name: "maxRate"; type: "i128" }]; name: "UpdateRateLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransfer"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "bankruptcy"; type: "bool" }]; name: "TokenLiqWithTokenLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "baseTotal"; type: "u64" }, { index: false; name: "baseFree"; type: "u64" }, { index: false; name: "quoteTotal"; type: "u64" }, { index: false; name: "quoteFree"; type: "u64" }, { index: false; name: "referrerRebatesAccrued"; type: "u64" }]; name: "Serum3OpenOrdersBalanceLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "baseTotal"; type: "u64" }, { index: false; name: "baseFree"; type: "u64" }, { index: false; name: "quoteTotal"; type: "u64" }, { index: false; name: "quoteFree"; type: "u64" }, { index: false; name: "referrerRebatesAccrued"; type: "u64" }]; name: "Serum3OpenOrdersBalanceLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "loanOriginationFee"; type: "i128" }, { index: false; name: "instruction"; type: { defined: "LoanOriginationFeeInstruction" } }]; name: "WithdrawLoanOriginationFeeLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "loanAmount"; type: "i128" }, { index: false; name: "loanOriginationFee"; type: "i128" }, { index: false; name: "instruction"; type: { defined: "LoanOriginationFeeInstruction" } }, { index: false; name: "price"; type: { option: "i128" } }]; name: "WithdrawLoanLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "initialLiabNative"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "insuranceTokenIndex"; type: "u16" }, { index: false; name: "insuranceTransfer"; type: "i128" }, { index: false; name: "socializedLoss"; type: "i128" }, { index: false; name: "startingLiabDepositIndex"; type: "i128" }, { index: false; name: "endingLiabDepositIndex"; type: "i128" }]; name: "TokenLiqBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "cumulativeDepositInterest"; type: "f64" }, { index: false; name: "cumulativeBorrowInterest"; type: "f64" }]; name: "DeactivateTokenPositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "cumulativeLongFunding"; type: "f64" }, { index: false; name: "cumulativeShortFunding"; type: "f64" }, { index: false; name: "makerVolume"; type: "u64" }, { index: false; name: "takerVolume"; type: "u64" }, { index: false; name: "perpSpotTransfers"; type: "i64" }]; name: "DeactivatePerpPositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mint"; type: "publicKey" }, { index: false; name: "tokenIndex"; type: "u16" }, { index: false; name: "mintDecimals"; type: "u8" }, { index: false; name: "oracle"; type: "publicKey" }, { index: false; name: "mintInfo"; type: "publicKey" }]; name: "TokenMetaDataLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarket"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "baseDecimals"; type: "u8" }, { index: false; name: "baseLotSize"; type: "i64" }, { index: false; name: "quoteLotSize"; type: "i64" }, { index: false; name: "oracle"; type: "publicKey" }]; name: "PerpMarketMetaDataLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "serumMarket"; type: "publicKey" }, { index: false; name: "marketIndex"; type: "u16" }, { index: false; name: "baseTokenIndex"; type: "u16" }, { index: false; name: "quoteTokenIndex"; type: "u16" }, { index: false; name: "serumProgram"; type: "publicKey" }, { index: false; name: "serumProgramExternal"; type: "publicKey" }]; name: "Serum3RegisterMarketLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "baseTransfer"; type: "i64" }, { index: false; name: "quoteTransfer"; type: "i128" }, { index: false; name: "pnlTransfer"; type: "i128" }, { index: false; name: "pnlSettleLimitTransfer"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "PerpLiqBaseOrPositivePnlLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "insuranceTransfer"; type: "i128" }, { index: false; name: "socializedLoss"; type: "i128" }, { index: false; name: "startingLongFunding"; type: "i128" }, { index: false; name: "startingShortFunding"; type: "i128" }, { index: false; name: "endingLongFunding"; type: "i128" }, { index: false; name: "endingShortFunding"; type: "i128" }]; name: "PerpLiqBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }]; name: "PerpLiqNegativePnlOrBankruptcyLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccountA"; type: "publicKey" }, { index: false; name: "mangoAccountB"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }, { index: false; name: "settler"; type: "publicKey" }, { index: false; name: "fee"; type: "i128" }]; name: "PerpSettlePnlLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "settlement"; type: "i128" }]; name: "PerpSettleFeesLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "buybackFees"; type: "i128" }, { index: false; name: "buybackMngo"; type: "i128" }, { index: false; name: "mngoBuybackPrice"; type: "i128" }, { index: false; name: "oraclePrice"; type: "i128" }]; name: "AccountBuybackFeesWithMngoLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "seqNum"; type: "u64" }]; name: "FilledPerpOrderLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "takerSide"; type: "u8" }, { index: false; name: "totalBaseLotsTaken"; type: "i64" }, { index: false; name: "totalBaseLotsDecremented"; type: "i64" }, { index: false; name: "totalQuoteLotsTaken"; type: "i64" }, { index: false; name: "totalQuoteLotsDecremented"; type: "i64" }, { index: false; name: "takerFeesPaid"; type: "i128" }, { index: false; name: "feePenalty"; type: "i128" }]; name: "PerpTakerTradeLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "perpMarketIndex"; type: "u16" }, { index: false; name: "accountA"; type: "publicKey" }, { index: false; name: "accountB"; type: "publicKey" }, { index: false; name: "baseTransfer"; type: "i64" }, { index: false; name: "quoteTransfer"; type: "i128" }, { index: false; name: "price"; type: "i128" }]; name: "PerpForceClosePositionLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "assetTokenIndex"; type: "u16" }, { index: false; name: "liabTokenIndex"; type: "u16" }, { index: false; name: "assetTransfer"; type: "i128" }, { index: false; name: "liabTransfer"; type: "i128" }, { index: false; name: "assetPrice"; type: "i128" }, { index: false; name: "liabPrice"; type: "i128" }, { index: false; name: "feeFactor"; type: "i128" }]; name: "TokenForceCloseBorrowsWithTokenLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }, { index: false; name: "maxBuy"; type: "u64" }, { index: false; name: "maxSell"; type: "u64" }, { index: false; name: "expiryTimestamp"; type: "u64" }, { index: false; name: "priceLowerLimit"; type: "f64" }, { index: false; name: "priceUpperLimit"; type: "f64" }, { index: false; name: "pricePremiumRate"; type: "f64" }, { index: false; name: "takerFeeRate"; type: "f32" }, { index: false; name: "makerFeeRate"; type: "f32" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "allowCreatingDeposits"; type: "bool" }, { index: false; name: "allowCreatingBorrows"; type: "bool" }]; name: "TokenConditionalSwapCreateLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }, { index: false; name: "maxBuy"; type: "u64" }, { index: false; name: "maxSell"; type: "u64" }, { index: false; name: "expiryTimestamp"; type: "u64" }, { index: false; name: "priceLowerLimit"; type: "f64" }, { index: false; name: "priceUpperLimit"; type: "f64" }, { index: false; name: "pricePremiumRate"; type: "f64" }, { index: false; name: "takerFeeRate"; type: "f32" }, { index: false; name: "makerFeeRate"; type: "f32" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "allowCreatingDeposits"; type: "bool" }, { index: false; name: "allowCreatingBorrows"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }]; name: "TokenConditionalSwapCreateLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "buyAmount"; type: "u64" }, { index: false; name: "sellAmount"; type: "u64" }, { index: false; name: "makerFee"; type: "u64" }, { index: false; name: "takerFee"; type: "u64" }, { index: false; name: "buyTokenPrice"; type: "i128" }, { index: false; name: "sellTokenPrice"; type: "i128" }, { index: false; name: "closed"; type: "bool" }]; name: "TokenConditionalSwapTriggerLog" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "liqee"; type: "publicKey" }, { index: false; name: "liqor"; type: "publicKey" }, { index: false; name: "tokenConditionalSwapId"; type: "u64" }, { index: false; name: "buyTokenIndex"; type: "u16" }, { index: false; name: "sellTokenIndex"; type: "u16" }, { index: false; name: "buyAmount"; type: "u64" }, { index: false; name: "sellAmount"; type: "u64" }, { index: false; name: "makerFee"; type: "u64" }, { index: false; name: "takerFee"; type: "u64" }, { index: false; name: "buyTokenPrice"; type: "i128" }, { index: false; name: "sellTokenPrice"; type: "i128" }, { index: false; name: "closed"; type: "bool" }, { index: false; name: "displayPriceStyle"; type: "u8" }, { index: false; name: "intention"; type: "u8" }]; name: "TokenConditionalSwapTriggerLogV2" }, { fields: [{ index: false; name: "mangoGroup"; type: "publicKey" }, { index: false; name: "mangoAccount"; type: "publicKey" }, { index: false; name: "id"; type: "u64" }]; name: "TokenConditionalSwapCancelLog" }]
                                                                                                                            • instructions: [{ accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: true; name: "admin" }]; args: []; name: "adminTokenWithdrawFees" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: true; name: "admin" }]; args: []; name: "adminPerpWithdrawFees" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Group" }, { kind: "account"; path: "creator"; type: "publicKey" }, { kind: "arg"; path: "group_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "creator" }, { isMut: false; isSigner: false; name: "insuranceMint" }, { isMut: true; isSigner: false; name: "insuranceVault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "InsuranceVault" }, { kind: "account"; path: "group"; type: "publicKey" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "groupNum"; type: "u32" }, { name: "testing"; type: "u8" }, { name: "version"; type: "u8" }]; name: "groupCreate" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "adminOpt"; type: { option: "publicKey" } }, { name: "fastListingAdminOpt"; type: { option: "publicKey" } }, { name: "securityAdminOpt"; type: { option: "publicKey" } }, { name: "testingOpt"; type: { option: "u8" } }, { name: "versionOpt"; type: { option: "u8" } }, { name: "depositLimitQuoteOpt"; type: { option: "u64" } }, { name: "buybackFeesOpt"; type: { option: "bool" } }, { name: "buybackFeesBonusFactorOpt"; type: { option: "f32" } }, { name: "buybackFeesSwapMangoAccountOpt"; type: { option: "publicKey" } }, { name: "mngoTokenIndexOpt"; type: { option: "u16" } }, { name: "buybackFeesExpiryIntervalOpt"; type: { option: "u64" } }]; name: "groupEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault", "admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "destination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }]; name: "groupWithdrawInsuranceFund" }, { accounts: [{ isMut: true; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "ixGate"; type: "u128" }]; name: "ixGateSet" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin", "insurance_vault"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "groupClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "mintInfo"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MintInfo" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "mint"; type: "publicKey" }] } }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oracleConfig"; type: { defined: "OracleConfigParams" } }, { name: "interestRateParams"; type: { defined: "InterestRateParams" } }, { name: "loanFeeRate"; type: "f32" }, { name: "loanOriginationFeeRate"; type: "f32" }, { name: "maintAssetWeight"; type: "f32" }, { name: "initAssetWeight"; type: "f32" }, { name: "maintLiabWeight"; type: "f32" }, { name: "initLiabWeight"; type: "f32" }, { name: "liquidationFee"; type: "f32" }, { name: "stablePriceDelayIntervalSeconds"; type: "u32" }, { name: "stablePriceDelayGrowthLimit"; type: "f32" }, { name: "stablePriceGrowthLimit"; type: "f32" }, { name: "minVaultToDepositsRatio"; type: "f64" }, { name: "netBorrowLimitWindowSizeTs"; type: "u64" }, { name: "netBorrowLimitPerWindowQuote"; type: "i64" }, { name: "borrowWeightScaleStartQuote"; type: "f64" }, { name: "depositWeightScaleStartQuote"; type: "f64" }, { name: "reduceOnly"; type: "u8" }, { name: "tokenConditionalSwapTakerFeeRate"; type: "f32" }, { name: "tokenConditionalSwapMakerFeeRate"; type: "f32" }, { name: "flashLoanSwapFeeRate"; type: "f32" }]; name: "tokenRegister" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "const"; type: "u32"; value: 0 }] } }, { isMut: true; isSigner: false; name: "mintInfo"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MintInfo" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "mint"; type: "publicKey" }] } }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "name"; type: "string" }]; name: "tokenRegisterTrustless" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group"] }, { docs: ["The oracle account is optional and only used when reset_stable_price is set.", ""]; isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "oracleOpt"; type: { option: "publicKey" } }, { name: "oracleConfigOpt"; type: { option: { defined: "OracleConfigParams" } } }, { name: "groupInsuranceFundOpt"; type: { option: "bool" } }, { name: "interestRateParamsOpt"; type: { option: { defined: "InterestRateParams" } } }, { name: "loanFeeRateOpt"; type: { option: "f32" } }, { name: "loanOriginationFeeRateOpt"; type: { option: "f32" } }, { name: "maintAssetWeightOpt"; type: { option: "f32" } }, { name: "initAssetWeightOpt"; type: { option: "f32" } }, { name: "maintLiabWeightOpt"; type: { option: "f32" } }, { name: "initLiabWeightOpt"; type: { option: "f32" } }, { name: "liquidationFeeOpt"; type: { option: "f32" } }, { name: "stablePriceDelayIntervalSecondsOpt"; type: { option: "u32" } }, { name: "stablePriceDelayGrowthLimitOpt"; type: { option: "f32" } }, { name: "stablePriceGrowthLimitOpt"; type: { option: "f32" } }, { name: "minVaultToDepositsRatioOpt"; type: { option: "f64" } }, { name: "netBorrowLimitPerWindowQuoteOpt"; type: { option: "i64" } }, { name: "netBorrowLimitWindowSizeTsOpt"; type: { option: "u64" } }, { name: "borrowWeightScaleStartQuoteOpt"; type: { option: "f64" } }, { name: "depositWeightScaleStartQuoteOpt"; type: { option: "f64" } }, { name: "resetStablePrice"; type: "bool" }, { name: "resetNetBorrowLimit"; type: "bool" }, { name: "reduceOnlyOpt"; type: { option: "u8" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "tokenConditionalSwapTakerFeeRateOpt"; type: { option: "f32" } }, { name: "tokenConditionalSwapMakerFeeRateOpt"; type: { option: "f32" } }, { name: "flashLoanSwapFeeRateOpt"; type: { option: "f32" } }]; name: "tokenEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: false; isSigner: false; name: "existingBank"; relations: ["group", "mint"] }, { isMut: true; isSigner: false; name: "bank"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Bank" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "arg"; path: "bank_num"; type: "u32" }] } }, { isMut: true; isSigner: false; name: "vault"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Vault" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "token_index"; type: "u16" }, { kind: "arg"; path: "bank_num"; type: "u32" }] } }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group", "mint"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "tokenIndex"; type: "u16" }, { name: "bankNum"; type: "u32" }]; name: "tokenAddBank" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "mintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "dustVault" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "tokenDeregister" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "mintInfo"; relations: ["oracle", "group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: false; isSigner: false; name: "instructions" }]; args: []; name: "tokenUpdateIndexAndRate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; pda: { seeds: [{ kind: "const"; type: "string"; value: "MangoAccount" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "owner"; type: "publicKey" }, { kind: "arg"; path: "account_num"; type: "u32" }] } }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "accountNum"; type: "u32" }, { name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "name"; type: "string" }]; name: "accountCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }]; name: "accountExpand" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "tokenCount"; type: "u8" }, { name: "serum3Count"; type: "u8" }, { name: "perpCount"; type: "u8" }, { name: "perpOoCount"; type: "u8" }, { name: "tokenConditionalSwapCount"; type: "u8" }]; name: "accountExpandV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }]; args: [{ name: "nameOpt"; type: { option: "string" } }, { name: "delegateOpt"; type: { option: "publicKey" } }, { name: "temporaryDelegateOpt"; type: { option: "publicKey" } }, { name: "temporaryDelegateExpiryOpt"; type: { option: "u64" } }]; name: "accountEdit" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "admin" }]; args: [{ name: "freeze"; type: "bool" }]; name: "accountToggleFreeze" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "forceClose"; type: "bool" }]; name: "accountClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "daoAccount"; relations: ["group"] }, { isMut: true; isSigner: false; name: "mngoBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "mngoOracle" }, { isMut: true; isSigner: false; name: "feesBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "feesOracle" }]; args: [{ name: "maxBuybackUsd"; type: "u64" }]; name: "accountBuybackFeesWithMngo" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: true; isSigner: false; name: "oracle"; pda: { seeds: [{ kind: "const"; type: "string"; value: "StubOracle" }, { kind: "account"; path: "group"; type: "publicKey" }, { account: "Mint"; kind: "account"; path: "mint"; type: "publicKey" }] } }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "mint" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "price"; type: { defined: "I80F48" } }]; name: "stubOracleCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "stubOracleClose" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }]; args: [{ name: "price"; type: { defined: "I80F48" } }]; name: "stubOracleSet" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "oracle"; relations: ["group"] }]; args: [{ name: "price"; type: { defined: "I80F48" } }, { name: "lastUpdateSlot"; type: "u64" }, { name: "deviation"; type: { defined: "I80F48" } }]; name: "stubOracleSetTest" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: true; name: "tokenAuthority" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "reduceOnly"; type: "bool" }]; name: "tokenDeposit" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: true; name: "tokenAuthority" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "reduceOnly"; type: "bool" }]; name: "tokenDepositIntoExisting" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group", "owner"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "bank"; relations: ["group", "vault", "oracle"] }, { isMut: true; isSigner: false; name: "vault" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "tokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "amount"; type: "u64" }, { name: "allowBorrow"; type: "bool" }]; name: "tokenWithdraw" }, { accounts: [{ isMut: false; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { docs: ["Instructions Sysvar for instruction introspection"]; isMut: false; isSigner: false; name: "instructions" }]; args: [{ name: "loanAmounts"; type: { vec: "u64" } }]; name: "flashLoanBegin" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "flashLoanEnd" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "numLoans"; type: "u8" }, { name: "flashLoanType"; type: { defined: "FlashLoanType" } }]; name: "flashLoanEndV2" }, { accounts: [{ docs: ["Instructions Sysvar for instruction introspection"]; isMut: false; isSigner: false; name: "instructions" }, { isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }]; args: []; name: "healthRegionBegin" }, { accounts: [{ isMut: true; isSigner: false; name: "account" }]; args: []; name: "healthRegionEnd" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "serumMarket"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3Market" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "serum_market_external"; type: "publicKey" }] } }, { isMut: true; isSigner: false; name: "indexReservation"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3Index" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "market_index"; type: "u16" }] } }, { isMut: false; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "marketIndex"; type: "u16" }, { name: "name"; type: "string" }]; docs: ["", "Serum", ""]; name: "serum3RegisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "market"; relations: ["group"] }]; args: [{ name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "forceCloseOpt"; type: { option: "bool" } }, { name: "nameOpt"; type: { option: "string" } }]; name: "serum3EditMarket" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "serumMarket"; relations: ["group"] }, { isMut: true; isSigner: false; name: "indexReservation"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "serum3DeregisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "openOrders"; pda: { seeds: [{ kind: "const"; type: "string"; value: "Serum3OO" }, { kind: "account"; path: "account"; type: "publicKey" }, { kind: "account"; path: "serum_market"; type: "publicKey" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: []; name: "serum3CreateOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: false; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: true; isSigner: false; name: "solDestination" }]; args: []; name: "serum3CloseOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }, { isMut: true; isSigner: false; name: "marketRequestQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerVault" }, { isMut: false; isSigner: false; name: "payerOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: { defined: "Serum3Side" } }, { name: "limitPrice"; type: "u64" }, { name: "maxBaseQty"; type: "u64" }, { name: "maxNativeQuoteQtyIncludingFees"; type: "u64" }, { name: "selfTradeBehavior"; type: { defined: "Serum3SelfTradeBehavior" } }, { name: "orderType"; type: { defined: "Serum3OrderType" } }, { name: "clientOrderId"; type: "u64" }, { name: "limit"; type: "u16" }]; name: "serum3PlaceOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }]; args: [{ name: "side"; type: { defined: "Serum3Side" } }, { name: "orderId"; type: "u128" }]; name: "serum3CancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }]; args: [{ name: "limit"; type: "u8" }]; name: "serum3CancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; docs: ["Deprecated instruction that used to settles all free funds from the OpenOrders account", "into the MangoAccount.", "", "Any serum \"referrer rebates\" (ui fees) are considered Mango fees."]; name: "serum3SettleFunds" }, { accounts: [{ accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; name: "v1" }, { accounts: [{ isMut: false; isSigner: false; name: "quoteOracle" }, { isMut: false; isSigner: false; name: "baseOracle" }]; name: "v2" }]; args: [{ name: "feesToDao"; type: "bool" }]; docs: ["Like Serum3SettleFunds, but `fees_to_dao` determines if referrer rebates are considered fees", "or are credited to the MangoAccount."]; name: "serum3SettleFundsV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "serumMarket"; relations: ["group", "serum_program", "serum_market_external"] }, { isMut: false; isSigner: false; name: "serumProgram" }, { isMut: true; isSigner: false; name: "serumMarketExternal" }, { isMut: true; isSigner: false; name: "marketBids" }, { isMut: true; isSigner: false; name: "marketAsks" }, { isMut: true; isSigner: false; name: "marketEventQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "limit"; type: "u8" }]; name: "serum3LiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "liqTokenWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: false; isSigner: false; name: "liabMintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "liqTokenBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "tokenLiqWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }]; args: [{ name: "assetTokenIndex"; type: "u16" }, { name: "liabTokenIndex"; type: "u16" }, { name: "maxLiabTransfer"; type: "u64" }]; name: "tokenForceCloseBorrowsWithToken" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: false; isSigner: false; name: "liabMintInfo"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: { defined: "I80F48" } }]; name: "tokenLiqBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "perpMarket"; pda: { seeds: [{ kind: "const"; type: "string"; value: "PerpMarket" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "perp_market_index"; type: "u16" }] } }, { docs: ["Accounts are initialised by client,", "anchor discriminator is set first when ix exits,"]; isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "perpMarketIndex"; type: "u16" }, { name: "name"; type: "string" }, { name: "oracleConfig"; type: { defined: "OracleConfigParams" } }, { name: "baseDecimals"; type: "u8" }, { name: "quoteLotSize"; type: "i64" }, { name: "baseLotSize"; type: "i64" }, { name: "maintBaseAssetWeight"; type: "f32" }, { name: "initBaseAssetWeight"; type: "f32" }, { name: "maintBaseLiabWeight"; type: "f32" }, { name: "initBaseLiabWeight"; type: "f32" }, { name: "maintOverallAssetWeight"; type: "f32" }, { name: "initOverallAssetWeight"; type: "f32" }, { name: "baseLiquidationFee"; type: "f32" }, { name: "makerFee"; type: "f32" }, { name: "takerFee"; type: "f32" }, { name: "minFunding"; type: "f32" }, { name: "maxFunding"; type: "f32" }, { name: "impactQuantity"; type: "i64" }, { name: "groupInsuranceFund"; type: "bool" }, { name: "feePenalty"; type: "f32" }, { name: "settleFeeFlat"; type: "f32" }, { name: "settleFeeAmountThreshold"; type: "f32" }, { name: "settleFeeFractionLowHealth"; type: "f32" }, { name: "settleTokenIndex"; type: "u16" }, { name: "settlePnlLimitFactor"; type: "f32" }, { name: "settlePnlLimitWindowSizeTs"; type: "u64" }, { name: "positivePnlLiquidationFee"; type: "f32" }]; docs: ["", "Perps", ""]; name: "perpCreateMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group"] }, { docs: ["The oracle account is optional and only used when reset_stable_price is set.", ""]; isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "oracleOpt"; type: { option: "publicKey" } }, { name: "oracleConfigOpt"; type: { option: { defined: "OracleConfigParams" } } }, { name: "baseDecimalsOpt"; type: { option: "u8" } }, { name: "maintBaseAssetWeightOpt"; type: { option: "f32" } }, { name: "initBaseAssetWeightOpt"; type: { option: "f32" } }, { name: "maintBaseLiabWeightOpt"; type: { option: "f32" } }, { name: "initBaseLiabWeightOpt"; type: { option: "f32" } }, { name: "maintOverallAssetWeightOpt"; type: { option: "f32" } }, { name: "initOverallAssetWeightOpt"; type: { option: "f32" } }, { name: "baseLiquidationFeeOpt"; type: { option: "f32" } }, { name: "makerFeeOpt"; type: { option: "f32" } }, { name: "takerFeeOpt"; type: { option: "f32" } }, { name: "minFundingOpt"; type: { option: "f32" } }, { name: "maxFundingOpt"; type: { option: "f32" } }, { name: "impactQuantityOpt"; type: { option: "i64" } }, { name: "groupInsuranceFundOpt"; type: { option: "bool" } }, { name: "feePenaltyOpt"; type: { option: "f32" } }, { name: "settleFeeFlatOpt"; type: { option: "f32" } }, { name: "settleFeeAmountThresholdOpt"; type: { option: "f32" } }, { name: "settleFeeFractionLowHealthOpt"; type: { option: "f32" } }, { name: "stablePriceDelayIntervalSecondsOpt"; type: { option: "u32" } }, { name: "stablePriceDelayGrowthLimitOpt"; type: { option: "f32" } }, { name: "stablePriceGrowthLimitOpt"; type: { option: "f32" } }, { name: "settlePnlLimitFactorOpt"; type: { option: "f32" } }, { name: "settlePnlLimitWindowSizeTsOpt"; type: { option: "u64" } }, { name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "resetStablePrice"; type: "bool" }, { name: "positivePnlLiquidationFeeOpt"; type: { option: "f32" } }, { name: "nameOpt"; type: { option: "string" } }, { name: "forceCloseOpt"; type: { option: "bool" } }]; name: "perpEditMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "perpCloseMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: false; isSigner: false; name: "perpMarket"; relations: ["group"] }]; args: []; name: "perpDeactivatePosition" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceLots"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }]; name: "perpPlaceOrder"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceLots"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "selfTradeBehavior"; type: { defined: "SelfTradeBehavior" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }]; name: "perpPlaceOrderV2"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceOffsetLots"; type: "i64" }, { name: "pegLimit"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }, { name: "maxOracleStalenessSlots"; type: "i32" }]; name: "perpPlaceOrderPegged"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "event_queue", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: false; isSigner: false; name: "oracle" }]; args: [{ name: "side"; type: { defined: "Side" } }, { name: "priceOffsetLots"; type: "i64" }, { name: "pegLimit"; type: "i64" }, { name: "maxBaseLots"; type: "i64" }, { name: "maxQuoteLots"; type: "i64" }, { name: "clientOrderId"; type: "u64" }, { name: "orderType"; type: { defined: "PlaceOrderType" } }, { name: "selfTradeBehavior"; type: { defined: "SelfTradeBehavior" } }, { name: "reduceOnly"; type: "bool" }, { name: "expiryTimestamp"; type: "u64" }, { name: "limit"; type: "u8" }, { name: "maxOracleStalenessSlots"; type: "i32" }]; name: "perpPlaceOrderPeggedV2"; returns: { option: "u128" } }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "orderId"; type: "u128" }]; name: "perpCancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "clientOrderId"; type: "u64" }]; name: "perpCancelOrderByClientOrderId" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }]; name: "perpCancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "owner" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "sideOption"; type: { option: { defined: "Side" } } }, { name: "limit"; type: "u8" }]; name: "perpCancelAllOrdersBySide" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "event_queue"] }, { isMut: true; isSigner: false; name: "eventQueue" }]; args: [{ name: "limit"; type: "u64" }]; name: "perpConsumeEvents" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks", "oracle"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: false; isSigner: false; name: "oracle" }]; args: []; name: "perpUpdateFunding" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "settler"; relations: ["group"] }, { isMut: false; isSigner: true; name: "settlerOwner" }, { isMut: false; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "accountA"; relations: ["group"] }, { isMut: true; isSigner: false; name: "accountB"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: []; name: "perpSettlePnl" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "accountA"; relations: ["group"] }, { isMut: true; isSigner: false; name: "accountB"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }]; args: []; name: "perpForceClosePosition" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: [{ name: "maxSettleAmount"; type: "u64" }]; name: "perpSettleFees" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }]; args: [{ name: "maxBaseTransfer"; type: "i64" }, { name: "maxPnlTransfer"; type: "u64" }]; name: "perpLiqBaseOrPositivePnl" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }]; name: "perpLiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: "u64" }]; name: "perpLiqNegativePnlOrBankruptcy" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["insurance_vault"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorOwner" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "perpMarket"; relations: ["group", "oracle"] }, { isMut: false; isSigner: false; name: "oracle" }, { isMut: true; isSigner: false; name: "settleBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "settleVault" }, { isMut: false; isSigner: false; name: "settleOracle" }, { isMut: true; isSigner: false; name: "insuranceVault" }, { isMut: true; isSigner: false; name: "insuranceBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "insuranceBankVault" }, { isMut: false; isSigner: false; name: "insuranceOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "maxLiabTransfer"; type: "u64" }]; name: "perpLiqNegativePnlOrBankruptcyV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceLowerLimit"; type: "f64" }, { name: "priceUpperLimit"; type: "f64" }, { name: "pricePremiumRate"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }]; name: "tokenConditionalSwapCreate" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { name: "expiryTimestamp"; type: "u64" }, { name: "priceLowerLimit"; type: "f64" }, { name: "priceUpperLimit"; type: "f64" }, { name: "pricePremiumRate"; type: "f64" }, { name: "allowCreatingDeposits"; type: "bool" }, { name: "allowCreatingBorrows"; type: "bool" }, { name: "displayPriceStyle"; type: { defined: "TokenConditionalSwapDisplayPriceStyle" } }, { name: "intention"; type: { defined: "TokenConditionalSwapIntention" } }]; name: "tokenConditionalSwapCreateV2" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { docs: ["The bank's token_index is checked at #1"]; isMut: true; isSigner: false; name: "buyBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "sellBank"; relations: ["group"] }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }]; name: "tokenConditionalSwapCancel" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "liqee"; relations: ["group"] }, { isMut: true; isSigner: false; name: "liqor"; relations: ["group"] }, { isMut: false; isSigner: true; name: "liqorAuthority" }]; args: [{ name: "tokenConditionalSwapIndex"; type: "u8" }, { name: "tokenConditionalSwapId"; type: "u64" }, { name: "maxBuyTokenToLiqee"; type: "u64" }, { name: "maxSellTokenToLiqor"; type: "u64" }]; name: "tokenConditionalSwapTrigger" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "addressLookupTable" }]; args: [{ name: "index"; type: "u8" }]; name: "altSet" }, { accounts: [{ isMut: false; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: true; name: "payer" }, { isMut: true; isSigner: false; name: "addressLookupTable" }]; args: [{ name: "index"; type: "u8" }, { name: "newAddresses"; type: { vec: "publicKey" } }]; name: "altExtend" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: false; name: "account"; relations: ["group"] }]; args: []; name: "computeAccountData" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "openbookV2Market"; pda: { seeds: [{ kind: "const"; type: "string"; value: "OpenbookV2Market" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "account"; path: "openbook_v2_market_external"; type: "publicKey" }] } }, { isMut: true; isSigner: false; name: "indexReservation"; pda: { seeds: [{ kind: "const"; type: "string"; value: "OpenbookV2Index" }, { kind: "account"; path: "group"; type: "publicKey" }, { kind: "arg"; path: "market_index"; type: "u16" }] } }, { isMut: false; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: false; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }]; args: [{ name: "marketIndex"; type: "u16" }, { name: "name"; type: "string" }]; docs: ["", "OpenbookV2", ""]; name: "openbookV2RegisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "market"; relations: ["group"] }]; args: [{ name: "reduceOnlyOpt"; type: { option: "bool" } }, { name: "forceCloseOpt"; type: { option: "bool" } }]; name: "openbookV2EditMarket" }, { accounts: [{ isMut: true; isSigner: false; name: "group"; relations: ["admin"] }, { isMut: false; isSigner: true; name: "admin" }, { isMut: true; isSigner: false; name: "openbookV2Market"; relations: ["group"] }, { isMut: true; isSigner: false; name: "indexReservation"; relations: ["group"] }, { isMut: true; isSigner: false; name: "solDestination" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: []; name: "openbookV2DeregisterMarket" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "openOrders"; pda: { programId: { kind: "account"; path: "openbook_v2_program"; type: "publicKey" }; seeds: [{ kind: "const"; type: "string"; value: "OpenOrders" }, { kind: "account"; path: "openbook_v2_market"; type: "publicKey" }, { kind: "account"; path: "openbook_v2_market_external"; type: "publicKey" }, { kind: "arg"; path: "account_num"; type: "u32" }] } }, { isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "accountNum"; type: "u32" }]; name: "openbookV2CreateOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: true; isSigner: false; name: "solDestination" }]; args: []; name: "openbookV2CloseOpenOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market" }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks", "event_queue"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerVault" }, { isMut: false; isSigner: false; name: "payerOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: "u8" }, { name: "limitPrice"; type: "u64" }, { name: "maxBaseQty"; type: "u64" }, { name: "maxNativeQuoteQtyIncludingFees"; type: "u64" }, { name: "selfTradeBehavior"; type: "u8" }, { name: "orderType"; type: "u8" }, { name: "clientOrderId"; type: "u64" }, { name: "limit"; type: "u16" }]; name: "openbookV2PlaceOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks", "event_queue"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: false; name: "marketRequestQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { docs: ["The bank that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerBank"; relations: ["group"] }, { docs: ["The bank vault that pays for the order, if necessary"]; isMut: true; isSigner: false; name: "payerVault" }, { isMut: false; isSigner: false; name: "payerOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "side"; type: "u8" }, { name: "limitPrice"; type: "u64" }, { name: "maxBaseQty"; type: "u64" }, { name: "maxNativeQuoteQtyIncludingFees"; type: "u64" }, { name: "selfTradeBehavior"; type: "u8" }, { name: "clientOrderId"; type: "u64" }, { name: "limit"; type: "u16" }]; name: "openbookV2PlaceTakerOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "side"; type: "u8" }, { name: "orderId"; type: "u128" }]; name: "openbookV2CancelOrder" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: true; isSigner: false; name: "openbookV2MarketExternal" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { docs: ["needed for the automatic settle_funds call"]; isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "quoteOracle" }, { isMut: false; isSigner: false; name: "baseOracle" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "feesToDao"; type: "bool" }]; name: "openbookV2SettleFunds" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks", "event_queue"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }, { isMut: true; isSigner: false; name: "eventQueue" }, { isMut: true; isSigner: false; name: "marketBaseVault" }, { isMut: true; isSigner: false; name: "marketQuoteVault" }, { isMut: false; isSigner: false; name: "marketVaultSigner" }, { isMut: true; isSigner: false; name: "quoteBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "quoteVault" }, { isMut: true; isSigner: false; name: "baseBank"; relations: ["group"] }, { isMut: true; isSigner: false; name: "baseVault" }, { isMut: false; isSigner: false; name: "tokenProgram" }]; args: [{ name: "limit"; type: "u8" }]; name: "openbookV2LiqForceCancelOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "group" }, { isMut: true; isSigner: false; name: "account"; relations: ["group"] }, { isMut: false; isSigner: true; name: "authority" }, { isMut: true; isSigner: false; name: "openOrders" }, { isMut: false; isSigner: false; name: "openbookV2Market"; relations: ["group", "openbook_v2_program", "openbook_v2_market_external"] }, { isMut: false; isSigner: false; name: "openbookV2Program" }, { isMut: false; isSigner: false; name: "openbookV2MarketExternal"; relations: ["bids", "asks"] }, { isMut: true; isSigner: false; name: "bids" }, { isMut: true; isSigner: false; name: "asks" }]; args: [{ name: "limit"; type: "u8" }]; name: "openbookV2CancelAllOrders" }, { accounts: [{ isMut: false; isSigner: false; name: "dummy" }]; args: []; docs: ["", "benchmark", ""]; name: "benchmark" }]
                                                                                                                            • name: "mango_v4"
                                                                                                                            • types: [{ name: "InterestRateParams"; type: { fields: [{ name: "util0"; type: "f32" }, { name: "rate0"; type: "f32" }, { name: "util1"; type: "f32" }, { name: "rate1"; type: "f32" }, { name: "maxRate"; type: "f32" }, { name: "adjustmentFactor"; type: "f32" }]; kind: "struct" } }, { name: "Equity"; type: { fields: [{ name: "tokens"; type: { vec: { defined: "TokenEquity" } } }, { name: "perps"; type: { vec: { defined: "PerpEquity" } } }]; kind: "struct" } }, { name: "TokenEquity"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "value"; type: { defined: "I80F48" } }]; kind: "struct" } }, { name: "PerpEquity"; type: { fields: [{ name: "perpMarketIndex"; type: "u16" }, { name: "value"; type: { defined: "I80F48" } }]; kind: "struct" } }, { docs: ["Information about prices for a bank or perp market."]; name: "Prices"; type: { fields: [{ docs: ["The current oracle price"]; name: "oracle"; type: { defined: "I80F48" } }, { docs: ["A \"stable\" price, provided by StablePriceModel"]; name: "stable"; type: { defined: "I80F48" } }]; kind: "struct" } }, { name: "TokenInfo"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "maintAssetWeight"; type: { defined: "I80F48" } }, { name: "initAssetWeight"; type: { defined: "I80F48" } }, { name: "initScaledAssetWeight"; type: { defined: "I80F48" } }, { name: "maintLiabWeight"; type: { defined: "I80F48" } }, { name: "initLiabWeight"; type: { defined: "I80F48" } }, { name: "initScaledLiabWeight"; type: { defined: "I80F48" } }, { name: "prices"; type: { defined: "Prices" } }, { docs: ["Freely available spot balance for the token.", "", "Includes TokenPosition and free Serum3OpenOrders balances.", "Does not include perp upnl or Serum3 reserved amounts."]; name: "balanceSpot"; type: { defined: "I80F48" } }]; kind: "struct" } }, { docs: ["Information about reserved funds on Serum3 open orders accounts.", "", "Note that all \"free\" funds on open orders accounts are added directly", "to the token info. This is only about dealing with the reserved funds", "that might end up as base OR quote tokens, depending on whether the", "open orders execute on not."]; name: "Serum3Info"; type: { fields: [{ name: "reservedBase"; type: { defined: "I80F48" } }, { name: "reservedQuote"; type: { defined: "I80F48" } }, { name: "baseInfoIndex"; type: "u64" }, { name: "quoteInfoIndex"; type: "u64" }, { name: "marketIndex"; type: "u16" }, { docs: ["The open orders account has no free or reserved funds"]; name: "hasZeroFunds"; type: "bool" }]; kind: "struct" } }, { docs: ["Stores information about perp market positions and their open orders.", "", "Perp markets affect account health indirectly, though the token balance in the", "perp market's settle token. See `effective_token_balances()`."]; name: "PerpInfo"; type: { fields: [{ name: "perpMarketIndex"; type: "u16" }, { name: "settleTokenIndex"; type: "u16" }, { name: "maintBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "initBaseAssetWeight"; type: { defined: "I80F48" } }, { name: "maintBaseLiabWeight"; type: { defined: "I80F48" } }, { name: "initBaseLiabWeight"; type: { defined: "I80F48" } }, { name: "maintOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "initOverallAssetWeight"; type: { defined: "I80F48" } }, { name: "baseLotSize"; type: "i64" }, { name: "baseLots"; type: "i64" }, { name: "bidsBaseLots"; type: "i64" }, { name: "asksBaseLots"; type: "i64" }, { name: "quote"; type: { defined: "I80F48" } }, { name: "basePrices"; type: { defined: "Prices" } }, { name: "hasOpenOrders"; type: "bool" }, { name: "hasOpenFills"; type: "bool" }]; kind: "struct" } }, { docs: ["Store information needed to compute account health", "", "This is called a cache, because it extracts information from a MangoAccount and", "the Bank, Perp, oracle accounts once and then allows computing different types", "of health.", "", "For compute-saving reasons, it also allows applying adjustments to the extracted", "positions. That's often helpful for instructions that want to re-compute health", "after having made small, well-known changes to an account. Recomputing the", "HealthCache from scratch would be significantly more expensive.", "", "However, there's a real risk of getting the adjustments wrong and computing an", "inconsistent result, so particular care needs to be taken when this is done."]; name: "HealthCache"; type: { fields: [{ name: "tokenInfos"; type: { vec: { defined: "TokenInfo" } } }, { name: "serum3Infos"; type: { vec: { defined: "Serum3Info" } } }, { name: "perpInfos"; type: { vec: { defined: "PerpInfo" } } }, { name: "beingLiquidated"; type: "bool" }]; kind: "struct" } }, { name: "FlashLoanTokenDetail"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "changeAmount"; type: "i128" }, { name: "loan"; type: "i128" }, { name: "loanOriginationFee"; type: "i128" }, { name: "depositIndex"; type: "i128" }, { name: "borrowIndex"; type: "i128" }, { name: "price"; type: "i128" }]; kind: "struct" } }, { name: "FlashLoanTokenDetailV2"; type: { fields: [{ name: "tokenIndex"; type: "u16" }, { name: "changeAmount"; type: "i128" }, { name: "loan"; type: "i128" }, { name: "loanOriginationFee"; type: "i128" }, { name: "depositIndex"; type: "i128" }, { name: "borrowIndex"; type: "i128" }, { name: "price"; type: "i128" }, { name: "swapFee"; type: "i128" }]; kind: "struct" } }, { name: "TokenPosition"; type: { fields: [{ docs: ["The deposit_index (if positive) or borrow_index (if negative) scaled position"]; name: "indexedPosition"; type: { defined: "I80F48" } }, { docs: ["index into Group.tokens"]; name: "tokenIndex"; type: "u16" }, { docs: ["incremented when a market requires this position to stay alive"]; name: "inUseCount"; type: "u16" }, { name: "padding"; type: { array: ["u8", 4] } }, { name: "previousIndex"; type: { defined: "I80F48" } }, { name: "cumulativeDepositInterest"; type: "f64" }, { name: "cumulativeBorrowInterest"; type: "f64" }, { name: "reserved"; type: { array: ["u8", 128] } }]; kind: "struct" } }, { name: "Serum3Orders"; type: { fields: [{ name: "openOrders"; type: "publicKey" }, { docs: ["Tracks the amount of borrows that have flowed into the serum open orders account.", "These borrows did not have the loan origination fee applied, and that may happen", "later (in serum3_settle_funds) if we can guarantee that the funds were used.", "In particular a place-on-book, cancel, settle should not cost fees."]; name: "baseBorrowsWithoutFee"; type: "u64" }, { name: "quoteBorrowsWithoutFee"; type: "u64" }, { name: "marketIndex"; type: "u16" }, { docs: ["Store the base/quote token index, so health computations don't need", "to get passed the static SerumMarket to find which tokens a market", "uses and look up the correct oracles."]; name: "baseTokenIndex"; type: "u16" }, { name: "quoteTokenIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { name: "reserved"; type: { array: ["u8", 64] } }]; kind: "struct" } }, { name: "PerpPosition"; type: { fields: [{ name: "marketIndex"; type: "u16" }, { name: "padding"; type: { array: ["u8", 2] } }, { docs: ["Index of the current settle pnl limit window"]; name: "settlePnlLimitWindow"; type: "u32" }, { docs: ["Amount of realized trade pnl and unrealized pnl that was already settled this window.", "", "Will be negative when negative pnl was settled.", "", "Note that this will be adjusted for bookkeeping reasons when the realized_trade settle", "limitchanges and is not useable for actually tracking how much pnl was settled", "on balance."]; name: "settlePnlLimitSettledInCurrentWindowNative"; type: "i64" }, { docs: ["Active position size, measured in base lots"]; name: "basePositionLots"; type: "i64" }, { docs: ["Active position in oracle quote native. At the same time this is 1:1 a settle_token native amount.", "", "Example: Say there's a perp market on the BTC/USD price using SOL for settlement. The user buys", "one long contract for $20k, then base = 1, quote = -20k. The price goes to $21k. Now their", "unsettled pnl is (1 * 21k - 20k) __SOL__ = 1000 SOL. This is because the perp contract arbitrarily", "decides that each unit of price difference creates 1 SOL worth of settlement.", "(yes, causing 1 SOL of settlement for each $1 price change implies a lot of extra leverage; likely", "there should be an extra configurable scaling factor before we use this for cases like that)"]; name: "quotePositionNative"; type: { defined: "I80F48" } }, { docs: ["Tracks what the position is to calculate average entry & break even price"]; name: "quoteRunningNative"; type: "i64" }, { docs: ["Already settled long funding"]; name: "longSettledFunding"; type: { defined: "I80F48" } }, { docs: ["Already settled short funding"]; name: "shortSettledFunding"; type: { defined: "I80F48" } }, { docs: ["Base lots in open bids"]; name: "bidsBaseLots"; type: "i64" }, { docs: ["Base lots in open asks"]; name: "asksBaseLots"; type: "i64" }, { docs: ["Amount of base lots on the EventQueue waiting to be processed"]; name: "takerBaseLots"; type: "i64" }, { docs: ["Amount of quote lots on the EventQueue waiting to be processed"]; name: "takerQuoteLots"; type: "i64" }, { docs: ["Cumulative long funding in quote native units.", "If the user paid $1 in funding for a long position, this would be 1e6.", "Beware of the sign!", "", "(Display only)"]; name: "cumulativeLongFunding"; type: "f64" }, { docs: ["Cumulative short funding in quote native units", "If the user paid $1 in funding for a short position, this would be -1e6.", "", "(Display only)"]; name: "cumulativeShortFunding"; type: "f64" }, { docs: ["Cumulative maker volume in quote native units", "", "(Display only)"]; name: "makerVolume"; type: "u64" }, { docs: ["Cumulative taker volume in quote native units", "", "(Display only)"]; name: "takerVolume"; type: "u64" }, { docs: ["Cumulative number of quote native units transfered from the perp position", "to the settle token spot position.", "", "For example, if the user settled $1 of positive pnl into their USDC spot", "position, this would be 1e6.", "", "(Display only)"]; name: "perpSpotTransfers"; type: "i64" }, { docs: ["The native average entry price for the base lots of the current position.", "Reset to 0 when the base position reaches or crosses 0."]; name: "avgEntryPricePerBaseLot"; type: "f64" }, { docs: ["Amount of pnl that was realized by bringing the base position closer to 0.", "", "The settlement of this type of pnl is limited by settle_pnl_limit_realized_trade.", "Settling pnl reduces this value once other_pnl below is exhausted."]; name: "realizedTradePnlNative"; type: { defined: "I80F48" } }, { docs: ["Amount of pnl realized from fees, funding and liquidation.", "", "This type of realized pnl is always settleable.", "Settling pnl reduces this value first."]; name: "realizedOtherPnlNative"; type: { defined: "I80F48" } }, { docs: ["Settle limit contribution from realized pnl.", "", "Every time pnl is realized, this is increased by a fraction of the stable", "value of the realization. It magnitude decreases when realized pnl drops below its value."]; name: "settlePnlLimitRealizedTrade"; type: "i64" }, { docs: ["Trade pnl, fees, funding that were added over the current position's lifetime.", "", "Reset when the position changes sign or goes to zero.", "Not decreased by settling.", "", "This is tracked for display purposes: this value plus the difference between entry", "price and current price of the base position is the overall pnl."]; name: "realizedPnlForPositionNative"; type: { defined: "I80F48" } }, { name: "reserved"; type: { array: ["u8", 88] } }]; kind: "struct" } }, { name: "PerpOpenOrder"; type: { fields: [{ name: "sideAndTree"; type: "u8" }, { name: "padding1"; type: { array: ["u8", 1] } }, { name: "market"; type: "u16" }, { name: "padding2"; type: { array: ["u8", 4] } }, { name: "clientId"; type: "u64" }, { name: "id"; type: "u128" }, { name: "reserved"; type: { array: ["u8", 64] } }]; kind: "struct" } }, { name: "MangoAccountFixed"; type: { fields: [{ name: "group"; type: "publicKey" }, { name: "owner"; type: "publicKey" }, { name: "name"; type: { array: ["u8", 32] } }, { name: "delegate"; type: "publicKey" }, { name: "accountNum"; type: "u32" }, { name: "beingLiquidated"; type: "u8" }, { name: "inHealthRegion"; type: "u8" }, { name: "bump"; type: "u8" }, { name: "padding"; type: { array: ["u8", 1] } }, { name: "netDeposits"; type: "i64" }, { name: "perpSpotTransfers"; type: "i64" }, { name: "healthRegionBeginInitHealth"; type: "i64" }, { name: "frozenUntil"; type: "u64" }, { name: "buybackFeesAccruedCurrent"; type: "u64" }, { name: "buybackFeesAccruedPrevious"; type: "u64" }, { name: "buybackFeesExpiryTimestamp"; type: "u64" }, { name: "nextTokenConditionalSwapId"; type: "u64" }, { name: "temporaryDelegate"; type: "publicKey" }, { name: "temporaryDelegateExpiry"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 160] } }]; kind: "struct" } }, { name: "OracleConfig"; type: { fields: [{ name: "confFilter"; type: { defined: "I80F48" } }, { name: "maxStalenessSlots"; type: "i64" }, { name: "reserved"; type: { array: ["u8", 72] } }]; kind: "struct" } }, { name: "OracleConfigParams"; type: { fields: [{ name: "confFilter"; type: "f32" }, { name: "maxStalenessSlots"; type: { option: "u32" } }]; kind: "struct" } }, { docs: ["InnerNodes and LeafNodes compose the binary tree of orders.", "", "Each InnerNode has exactly two children, which are either InnerNodes themselves,", "or LeafNodes. The children share the top `prefix_len` bits of `key`. The left", "child has a 0 in the next bit, and the right a 1."]; name: "InnerNode"; type: { fields: [{ name: "tag"; type: "u8" }, { name: "padding"; type: { array: ["u8", 3] } }, { docs: ["number of highest `key` bits that all children share", "e.g. if it's 2, the two highest bits of `key` will be the same on all children"]; name: "prefixLen"; type: "u32" }, { docs: ["only the top `prefix_len` bits of `key` are relevant"]; name: "key"; type: "u128" }, { docs: ["indexes into `BookSide::nodes`"]; name: "children"; type: { array: ["u32", 2] } }, { docs: ["The earliest expiry timestamp for the left and right subtrees.", "", "Needed to be able to find and remove expired orders without having to", "iterate through the whole bookside."]; name: "childEarliestExpiry"; type: { array: ["u64", 2] } }, { name: "reserved"; type: { array: ["u8", 72] } }]; kind: "struct" } }, { docs: ["LeafNodes represent an order in the binary tree"]; name: "LeafNode"; type: { fields: [{ docs: ["NodeTag"]; name: "tag"; type: "u8" }, { docs: ["Index into the owning MangoAccount's PerpOpenOrders"]; name: "ownerSlot"; type: "u8" }, { docs: ["PostOrderType, this was added for TradingView move order"]; name: "orderType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 1] } }, { docs: ["Time in seconds after `timestamp` at which the order expires.", "A value of 0 means no expiry."]; name: "timeInForce"; type: "u16" }, { name: "padding2"; type: { array: ["u8", 2] } }, { docs: ["The binary tree key, see new_node_key()"]; name: "key"; type: "u128" }, { docs: ["Address of the owning MangoAccount"]; name: "owner"; type: "publicKey" }, { docs: ["Number of base lots to buy or sell, always >=1"]; name: "quantity"; type: "i64" }, { docs: ["The time the order was placed"]; name: "timestamp"; type: "u64" }, { docs: ["If the effective price of an oracle pegged order exceeds this limit,", "it will be considered invalid and may be removed.", "", "Only applicable in the oracle_pegged OrderTree"]; name: "pegLimit"; type: "i64" }, { docs: ["User defined id for this order, used in FillEvents"]; name: "clientOrderId"; type: "u64" }, { name: "reserved"; type: { array: ["u8", 32] } }]; kind: "struct" } }, { name: "AnyNode"; type: { fields: [{ name: "tag"; type: "u8" }, { name: "data"; type: { array: ["u8", 119] } }]; kind: "struct" } }, { name: "OrderTreeRoot"; type: { fields: [{ name: "maybeNode"; type: "u32" }, { name: "leafCount"; type: "u32" }]; kind: "struct" } }, { docs: ["A binary tree on AnyNode::key()", "", "The key encodes the price in the top 64 bits."]; name: "OrderTreeNodes"; type: { fields: [{ name: "orderTreeType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 3] } }, { name: "bumpIndex"; type: "u32" }, { name: "freeListLen"; type: "u32" }, { name: "freeListHead"; type: "u32" }, { name: "reserved"; type: { array: ["u8", 512] } }, { name: "nodes"; type: { array: [{ defined: "AnyNode" }, 1024] } }]; kind: "struct" } }, { name: "EventQueueHeader"; type: { fields: [{ name: "head"; type: "u32" }, { name: "count"; type: "u32" }, { name: "seqNum"; type: "u64" }]; kind: "struct" } }, { name: "AnyEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "padding"; type: { array: ["u8", 207] } }]; kind: "struct" } }, { name: "FillEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "takerSide"; type: "u8" }, { name: "makerOut"; type: "u8" }, { name: "makerSlot"; type: "u8" }, { name: "padding"; type: { array: ["u8", 4] } }, { name: "timestamp"; type: "u64" }, { name: "seqNum"; type: "u64" }, { name: "maker"; type: "publicKey" }, { name: "padding2"; type: { array: ["u8", 32] } }, { name: "makerTimestamp"; type: "u64" }, { name: "taker"; type: "publicKey" }, { name: "padding3"; type: { array: ["u8", 16] } }, { name: "takerClientOrderId"; type: "u64" }, { name: "padding4"; type: { array: ["u8", 16] } }, { name: "price"; type: "i64" }, { name: "quantity"; type: "i64" }, { name: "makerClientOrderId"; type: "u64" }, { name: "makerFee"; type: "f32" }, { name: "takerFee"; type: "f32" }, { name: "reserved"; type: { array: ["u8", 8] } }]; kind: "struct" } }, { name: "OutEvent"; type: { fields: [{ name: "eventType"; type: "u8" }, { name: "side"; type: "u8" }, { name: "ownerSlot"; type: "u8" }, { name: "padding0"; type: { array: ["u8", 5] } }, { name: "timestamp"; type: "u64" }, { name: "seqNum"; type: "u64" }, { name: "owner"; type: "publicKey" }, { name: "quantity"; type: "i64" }, { name: "padding1"; type: { array: ["u8", 144] } }]; kind: "struct" } }, { docs: ["Maintains a \"stable_price\" based on the oracle price.", "", "The stable price follows the oracle price, but its relative rate of", "change is limited (to `stable_growth_limit`) and futher reduced if", "the oracle price is far from the `delay_price`.", "", "Conceptually the `delay_price` is itself a time delayed", "(`24 * delay_interval_seconds`, assume 24h) and relative rate of change limited", "function of the oracle price. It is implemented as averaging the oracle", "price over every `delay_interval_seconds` (assume 1h) and then applying the", "`delay_growth_limit` between intervals."]; name: "StablePriceModel"; type: { fields: [{ docs: ["Current stable price to use in health"]; name: "stablePrice"; type: "f64" }, { name: "lastUpdateTimestamp"; type: "u64" }, { docs: ["Stored delay_price for each delay_interval.", "If we want the delay_price to be 24h delayed, we would store one for each hour.", "This is used in a cyclical way: We use the maximally-delayed value at delay_interval_index", "and once enough time passes to move to the next delay interval, that gets overwritten and", "we use the next one."]; name: "delayPrices"; type: { array: ["f64", 24] } }, { docs: ["The delay price is based on an average over each delay_interval. The contributions", "to the average are summed up here."]; name: "delayAccumulatorPrice"; type: "f64" }, { docs: ["Accumulating the total time for the above average."]; name: "delayAccumulatorTime"; type: "u32" }, { docs: ["Length of a delay_interval"]; name: "delayIntervalSeconds"; type: "u32" }, { docs: ["Maximal relative difference between two delay_price in consecutive intervals."]; name: "delayGrowthLimit"; type: "f32" }, { docs: ["Maximal per-second relative difference of the stable price.", "It gets further reduced if stable and delay price disagree."]; name: "stableGrowthLimit"; type: "f32" }, { docs: ["The delay_interval_index that update() was last called on."]; name: "lastDelayIntervalIndex"; type: "u8" }, { docs: ["If set to 1, the stable price will reset on the next non-zero price it sees."]; name: "resetOnNonzeroPrice"; type: "u8" }, { name: "padding"; type: { array: ["u8", 6] } }, { name: "reserved"; type: { array: ["u8", 48] } }]; kind: "struct" } }, { name: "TokenConditionalSwap"; type: { fields: [{ name: "id"; type: "u64" }, { docs: ["maximum amount of native tokens to buy or sell"]; name: "maxBuy"; type: "u64" }, { name: "maxSell"; type: "u64" }, { docs: ["how many native tokens were already bought/sold"]; name: "bought"; type: "u64" }, { name: "sold"; type: "u64" }, { docs: ["timestamp until which the conditional swap is valid"]; name: "expiryTimestamp"; type: "u64" }, { docs: ["The price must exceed this threshold to allow execution.", "", "This threshold is compared to the \"sell_token per buy_token\" oracle price", "(which can be computed by dividing the buy token oracle price by the", "sell token oracle price). If that price is >= lower_limit and <= upper_limit", "the tcs may be executable.", "", "Example: Stop loss to get out of a SOL long: The user bought SOL at 20 USDC/SOL", "and wants to stop loss at 18 USDC/SOL. They'd set buy_token=USDC, sell_token=SOL", "so the reference price is in SOL/USDC units. Set price_lower_limit=toNative(1/18)", "and price_upper_limit=toNative(1/10). Also set allow_borrows=false.", "", "Example: Want to buy SOL with USDC if the price falls below 22 USDC/SOL.", "buy_token=SOL, sell_token=USDC, reference price is in USDC/SOL units. Set", "price_upper_limit=toNative(22), price_lower_limit=0."]; name: "priceLowerLimit"; type: "f64" }, { docs: ["Parallel to price_lower_limit, but an upper limit."]; name: "priceUpperLimit"; type: "f64" }, { docs: ["The premium to pay over oracle price to incentivize execution."]; name: "pricePremiumRate"; type: "f64" }, { docs: ["The taker receives only premium_price * (1 - taker_fee_rate)"]; name: "takerFeeRate"; type: "f32" }, { docs: ["The maker has to pay premium_price * (1 + maker_fee_rate)"]; name: "makerFeeRate"; type: "f32" }, { docs: ["indexes of tokens for the swap"]; name: "buyTokenIndex"; type: "u16" }, { name: "sellTokenIndex"; type: "u16" }, { name: "hasData"; type: "u8" }, { docs: ["may token purchases create deposits? (often users just want to get out of a borrow)"]; name: "allowCreatingDeposits"; type: "u8" }, { docs: ["may token selling create borrows? (often users just want to get out of a long)"]; name: "allowCreatingBorrows"; type: "u8" }, { docs: ["The stored prices are always \"sell token per buy token\", but if the user", "used \"buy token per sell token\" when creating the tcs order, we should continue", "to show them prices in that way.", "", "Stores a TokenConditionalSwapDisplayPriceStyle enum value"]; name: "displayPriceStyle"; type: "u8" }, { docs: ["The intention the user had when placing this order, display-only", "", "Stores a TokenConditionalSwapIntention enum value"]; name: "intention"; type: "u8" }, { name: "reserved"; type: { array: ["u8", 111] } }]; kind: "struct" } }, { docs: ["Nothing in Rust shall use these types. They only exist so that the Anchor IDL", "knows about them and typescript can deserialize it."]; name: "TokenIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "Serum3MarketIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "PerpMarketIndex"; type: { fields: [{ name: "val"; type: "u16" }]; kind: "struct" } }, { name: "I80F48"; type: { fields: [{ name: "val"; type: "i128" }]; kind: "struct" } }, { name: "FlashLoanType"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "Swap" }] } }, { docs: ["Copy paste a bunch of enums so that we could AnchorSerialize & AnchorDeserialize them"]; name: "Serum3SelfTradeBehavior"; type: { kind: "enum"; variants: [{ name: "DecrementTake" }, { name: "CancelProvide" }, { name: "AbortTransaction" }] } }, { name: "Serum3OrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "ImmediateOrCancel" }, { name: "PostOnly" }] } }, { name: "Serum3Side"; type: { kind: "enum"; variants: [{ name: "Bid" }, { name: "Ask" }] } }, { docs: ["There are three types of health:", "- initial health (\"init\"): users can only open new positions if it's >= 0", "- maintenance health (\"maint\"): users get liquidated if it's < 0", "- liquidation end health: once liquidation started (see being_liquidated), it", "only stops once this is >= 0", "", "The ordering is", "init health <= liquidation end health <= maint health", "", "The different health types are realized by using different weights and prices:", "- init health: init weights with scaling, stable-price adjusted prices", "- liq end health: init weights without scaling, oracle prices", "- maint health: maint weights, oracle prices", ""]; name: "HealthType"; type: { kind: "enum"; variants: [{ name: "Init" }, { name: "Maint" }, { name: "LiquidationEnd" }] } }, { name: "LoanOriginationFeeInstruction"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "LiqTokenBankruptcy" }, { name: "LiqTokenWithToken" }, { name: "Serum3LiqForceCancelOrders" }, { name: "Serum3PlaceOrder" }, { name: "Serum3SettleFunds" }, { name: "TokenWithdraw" }, { name: "TokenConditionalSwapTrigger" }] } }, { docs: ["Enum for lookup into ix gate", "note:", "total ix files 56,", "ix files included 48,", "ix files not included 8,", "- Benchmark,", "- ComputeAccountData,", "- GroupCreate", "- GroupEdit", "- IxGateSet,", "- PerpZeroOut,", "- PerpEditMarket,", "- TokenEdit,"]; name: "IxGate"; type: { kind: "enum"; variants: [{ name: "AccountClose" }, { name: "AccountCreate" }, { name: "AccountEdit" }, { name: "AccountExpand" }, { name: "AccountToggleFreeze" }, { name: "AltExtend" }, { name: "AltSet" }, { name: "FlashLoan" }, { name: "GroupClose" }, { name: "GroupCreate" }, { name: "HealthRegion" }, { name: "PerpCancelAllOrders" }, { name: "PerpCancelAllOrdersBySide" }, { name: "PerpCancelOrder" }, { name: "PerpCancelOrderByClientOrderId" }, { name: "PerpCloseMarket" }, { name: "PerpConsumeEvents" }, { name: "PerpCreateMarket" }, { name: "PerpDeactivatePosition" }, { name: "PerpLiqBaseOrPositivePnl" }, { name: "PerpLiqForceCancelOrders" }, { name: "PerpLiqNegativePnlOrBankruptcy" }, { name: "PerpPlaceOrder" }, { name: "PerpSettleFees" }, { name: "PerpSettlePnl" }, { name: "PerpUpdateFunding" }, { name: "Serum3CancelAllOrders" }, { name: "Serum3CancelOrder" }, { name: "Serum3CloseOpenOrders" }, { name: "Serum3CreateOpenOrders" }, { name: "Serum3DeregisterMarket" }, { name: "Serum3EditMarket" }, { name: "Serum3LiqForceCancelOrders" }, { name: "Serum3PlaceOrder" }, { name: "Serum3RegisterMarket" }, { name: "Serum3SettleFunds" }, { name: "StubOracleClose" }, { name: "StubOracleCreate" }, { name: "StubOracleSet" }, { name: "TokenAddBank" }, { name: "TokenDeposit" }, { name: "TokenDeregister" }, { name: "TokenLiqBankruptcy" }, { name: "TokenLiqWithToken" }, { name: "TokenRegister" }, { name: "TokenRegisterTrustless" }, { name: "TokenUpdateIndexAndRate" }, { name: "TokenWithdraw" }, { name: "AccountBuybackFeesWithMngo" }, { name: "TokenForceCloseBorrowsWithToken" }, { name: "PerpForceClosePosition" }, { name: "GroupWithdrawInsuranceFund" }, { name: "TokenConditionalSwapCreate" }, { name: "TokenConditionalSwapTrigger" }, { name: "TokenConditionalSwapCancel" }, { name: "OpenbookV2CancelOrder" }, { name: "OpenbookV2CloseOpenOrders" }, { name: "OpenbookV2CreateOpenOrders" }, { name: "OpenbookV2DeregisterMarket" }, { name: "OpenbookV2EditMarket" }, { name: "OpenbookV2LiqForceCancelOrders" }, { name: "OpenbookV2PlaceOrder" }, { name: "OpenbookV2PlaceTakeOrder" }, { name: "OpenbookV2RegisterMarket" }, { name: "OpenbookV2SettleFunds" }, { name: "AdminTokenWithdrawFees" }, { name: "AdminPerpWithdrawFees" }] } }, { name: "CheckLiquidatable"; type: { kind: "enum"; variants: [{ name: "NotLiquidatable" }, { name: "Liquidatable" }, { name: "BecameNotLiquidatable" }] } }, { name: "OracleType"; type: { kind: "enum"; variants: [{ name: "Pyth" }, { name: "Stub" }, { name: "SwitchboardV1" }, { name: "SwitchboardV2" }] } }, { name: "OrderState"; type: { kind: "enum"; variants: [{ name: "Valid" }, { name: "Invalid" }, { name: "Skipped" }] } }, { name: "BookSideOrderTree"; type: { kind: "enum"; variants: [{ name: "Fixed" }, { name: "OraclePegged" }] } }, { name: "NodeTag"; type: { kind: "enum"; variants: [{ name: "Uninitialized" }, { name: "InnerNode" }, { name: "LeafNode" }, { name: "FreeNode" }, { name: "LastFreeNode" }] } }, { name: "PlaceOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "ImmediateOrCancel" }, { name: "PostOnly" }, { name: "Market" }, { name: "PostOnlySlide" }] } }, { name: "PostOrderType"; type: { kind: "enum"; variants: [{ name: "Limit" }, { name: "PostOnly" }, { name: "PostOnlySlide" }] } }, { docs: ["Self trade behavior controls how taker orders interact with resting limit orders of the same account.", "This setting has no influence on placing a resting or oracle pegged limit order that does not match", "immediately, instead it's the responsibility of the user to correctly configure his taker orders."]; name: "SelfTradeBehavior"; type: { kind: "enum"; variants: [{ name: "DecrementTake" }, { name: "CancelProvide" }, { name: "AbortTransaction" }] } }, { name: "Side"; type: { kind: "enum"; variants: [{ name: "Bid" }, { name: "Ask" }] } }, { docs: ["SideAndOrderTree is a storage optimization, so we don't need two bytes for the data"]; name: "SideAndOrderTree"; type: { kind: "enum"; variants: [{ name: "BidFixed" }, { name: "AskFixed" }, { name: "BidOraclePegged" }, { name: "AskOraclePegged" }] } }, { name: "OrderParams"; type: { kind: "enum"; variants: [{ name: "Market" }, { fields: [{ name: "price_lots"; type: "i64" }]; name: "ImmediateOrCancel" }, { fields: [{ name: "price_lots"; type: "i64" }, { name: "order_type"; type: { defined: "PostOrderType" } }]; name: "Fixed" }, { fields: [{ name: "price_offset_lots"; type: "i64" }, { name: "order_type"; type: { defined: "PostOrderType" } }, { name: "peg_limit"; type: "i64" }, { name: "max_oracle_staleness_slots"; type: "i32" }]; name: "OraclePegged" }] } }, { name: "OrderTreeType"; type: { kind: "enum"; variants: [{ name: "Bids" }, { name: "Asks" }] } }, { name: "EventType"; type: { kind: "enum"; variants: [{ name: "Fill" }, { name: "Out" }, { name: "Liquidate" }] } }, { name: "TokenConditionalSwapDisplayPriceStyle"; type: { kind: "enum"; variants: [{ name: "SellTokenPerBuyToken" }, { name: "BuyTokenPerSellToken" }] } }, { name: "TokenConditionalSwapIntention"; type: { kind: "enum"; variants: [{ name: "Unknown" }, { name: "StopLoss" }, { name: "TakeProfit" }] } }]
                                                                                                                            • version: "0.18.0"
                                                                                                                            Modify<T, R>: Omit<T, keyof R> & R

                                                                                                                            Type parameters

                                                                                                                            • T

                                                                                                                            • R

                                                                                                                            OracleConfig: { confFilter: I80F48; maxStalenessSlots: BN }

                                                                                                                            Type declaration

                                                                                                                            • confFilter: I80F48
                                                                                                                            • maxStalenessSlots: BN
                                                                                                                            OracleConfigDto: { confFilter: I80F48Dto; maxStalenessSlots: BN }

                                                                                                                            Type declaration

                                                                                                                            ParsedFillEvent: Modify<FillEvent, { price: number; quantity: number }>
                                                                                                                            PerpMarketIndex: number & As<"perp-market-index">
                                                                                                                            PlatformFee: { feeAccount: string; feeBps: number }

                                                                                                                            Type declaration

                                                                                                                            • feeAccount: string
                                                                                                                            • feeBps: number
                                                                                                                            PriceImpact: { avg_price_impact_percent: number; max_price_impact_percent: number; min_price_impact_percent: number; side: "bid" | "ask"; symbol: string; target_amount: number }

                                                                                                                            Type declaration

                                                                                                                            • avg_price_impact_percent: number
                                                                                                                            • max_price_impact_percent: number
                                                                                                                            • min_price_impact_percent: number
                                                                                                                            • side: "bid" | "ask"
                                                                                                                            • symbol: string
                                                                                                                            • target_amount: number
                                                                                                                            QuoteMintToReferrer: Map<TokenMintAddress, string>
                                                                                                                            Routes: { bestRoute: RouteInfo | null; routes: RouteInfo[] }

                                                                                                                            Type declaration

                                                                                                                            StablePriceModel: { delayAccumulatorPrice: number; delayAccumulatorTime: number; delayGrowthLimit: number; delayIntervalSeconds: number; delayPrices: number[]; lastDelayIntervalIndex: number; lastUpdateTimestamp: BN; stableGrowthLimit: number; stablePrice: number }

                                                                                                                            Type declaration

                                                                                                                            • delayAccumulatorPrice: number
                                                                                                                            • delayAccumulatorTime: number
                                                                                                                            • delayGrowthLimit: number
                                                                                                                            • delayIntervalSeconds: number
                                                                                                                            • delayPrices: number[]
                                                                                                                            • lastDelayIntervalIndex: number
                                                                                                                            • lastUpdateTimestamp: BN
                                                                                                                            • stableGrowthLimit: number
                                                                                                                            • stablePrice: number
                                                                                                                            Token: { address: string; chainId: number; decimals: number; extensions: { coingeckoId?: string }; logoURI: string; name: string; symbol: string; tags: string[] }

                                                                                                                            Type declaration

                                                                                                                            • address: string
                                                                                                                            • chainId: number
                                                                                                                            • decimals: number
                                                                                                                            • extensions: { coingeckoId?: string }
                                                                                                                              • Optional coingeckoId?: string
                                                                                                                            • logoURI: string
                                                                                                                            • name: string
                                                                                                                            • symbol: string
                                                                                                                            • tags: string[]
                                                                                                                            TokenIndex: number & As<"token-index">
                                                                                                                            TokenMintAddress: string

                                                                                                                            Variables

                                                                                                                            I64_MAX_BN: BN = ...
                                                                                                                            IDL: MangoV4 = ...
                                                                                                                            MANGO_ROUTER_API_URL: "https://api.mngo.cloud/router/v1" = 'https://api.mngo.cloud/router/v1'
                                                                                                                            MANGO_V4_ID: { devnet: PublicKey; mainnet-beta: PublicKey; testnet: PublicKey } = ...

                                                                                                                            Type declaration

                                                                                                                            • devnet: PublicKey
                                                                                                                            • mainnet-beta: PublicKey
                                                                                                                            • testnet: PublicKey
                                                                                                                            NullPerpEditParams: PerpEditParams = ...
                                                                                                                            NullTokenEditParams: TokenEditParams = ...
                                                                                                                            OPENBOOK_PROGRAM_ID: { devnet: PublicKey; mainnet-beta: PublicKey } = ...

                                                                                                                            Type declaration

                                                                                                                            • devnet: PublicKey
                                                                                                                            • mainnet-beta: PublicKey
                                                                                                                            QUOTE_DECIMALS: 6 = 6
                                                                                                                            TrueIxGateParams: IxGateParams = ...
                                                                                                                            U64_MAX_BN: BN = ...
                                                                                                                            USDC_MINT: PublicKey = ...

                                                                                                                            Functions

                                                                                                                            • RUST_I64_MAX(): BN
                                                                                                                            • RUST_I64_MIN(): BN
                                                                                                                            • RUST_U64_MAX(): BN
                                                                                                                            • bpsToDecimal(bps: number): number
                                                                                                                            • Parameters

                                                                                                                              • bps: number

                                                                                                                              Returns number

                                                                                                                            • buildFetch(): Promise<(input: RequestInfo | URL, init?: RequestInit) => Promise<Response>>
                                                                                                                            • Returns Promise<(input: RequestInfo | URL, init?: RequestInit) => Promise<Response>>

                                                                                                                            • buildIxGate(p: IxGateParams): BN
                                                                                                                            • buildVersionedTx(provider: AnchorProvider, ix: TransactionInstruction[], additionalSigners?: Signer[], alts?: AddressLookupTableAccount[]): Promise<VersionedTransaction>
                                                                                                                            • Parameters

                                                                                                                              • provider: AnchorProvider
                                                                                                                              • ix: TransactionInstruction[]
                                                                                                                              • additionalSigners: Signer[] = []
                                                                                                                              • alts: AddressLookupTableAccount[] = []

                                                                                                                              Returns Promise<VersionedTransaction>

                                                                                                                            • computePriceImpactOnJup(pis: PriceImpact[], usdcAmount: number, tokenName: string): number
                                                                                                                            • Returns price impact in bps i.e. 0 to 10,000 returns -1 if data is missing

                                                                                                                              -

                                                                                                                              Parameters

                                                                                                                              Returns number

                                                                                                                            • createAssociatedTokenAccountIdempotentInstruction(payer: PublicKey, owner: PublicKey, mint: PublicKey): Promise<TransactionInstruction>
                                                                                                                            • Parameters

                                                                                                                              • payer: PublicKey
                                                                                                                              • owner: PublicKey
                                                                                                                              • mint: PublicKey

                                                                                                                              Returns Promise<TransactionInstruction>

                                                                                                                            • fetchJupiterTransaction(connection: Connection, selectedRoute: RouteInfo, userPublicKey: PublicKey, slippage: number, inputMint: PublicKey, outputMint: PublicKey): Promise<[TransactionInstruction[], AddressLookupTableAccount[]]>
                                                                                                                            • Parameters

                                                                                                                              • connection: Connection
                                                                                                                              • selectedRoute: RouteInfo
                                                                                                                              • userPublicKey: PublicKey
                                                                                                                              • slippage: number
                                                                                                                              • inputMint: PublicKey
                                                                                                                              • outputMint: PublicKey

                                                                                                                              Returns Promise<[TransactionInstruction[], AddressLookupTableAccount[]]>

                                                                                                                            • fetchRoutes(inputMint: any, outputMint: any, amount?: string, slippage?: number, swapMode?: string, feeBps?: string, wallet?: PublicKey): Promise<Routes>
                                                                                                                            • Parameters

                                                                                                                              • inputMint: any
                                                                                                                              • outputMint: any
                                                                                                                              • amount: string = '0'
                                                                                                                              • slippage: number = 50
                                                                                                                              • swapMode: string = 'ExactIn'
                                                                                                                              • feeBps: string = '0'
                                                                                                                              • wallet: PublicKey = PublicKey.default

                                                                                                                              Returns Promise<Routes>

                                                                                                                            • getAssociatedTokenAddress(mint: PublicKey, owner: PublicKey, allowOwnerOffCurve?: boolean, programId?: PublicKey, associatedTokenProgramId?: PublicKey): Promise<PublicKey>
                                                                                                                            • createAssociatedTokenAccountIdempotentInstruction(payer: PublicKey, owner: PublicKey, mint: PublicKey): Promise<TransactionInstruction>
                                                                                                                            • Parameters

                                                                                                                              • payer: PublicKey
                                                                                                                              • owner: PublicKey
                                                                                                                              • mint: PublicKey

                                                                                                                              Returns Promise<TransactionInstruction>

                                                                                                                            • fetchJupiterTransaction(connection: Connection, selectedRoute: RouteInfo, userPublicKey: PublicKey, slippage: number, inputMint: PublicKey, outputMint: PublicKey): Promise<[TransactionInstruction[], AddressLookupTableAccount[]]>
                                                                                                                            • Parameters

                                                                                                                              • connection: Connection
                                                                                                                              • selectedRoute: RouteInfo
                                                                                                                              • userPublicKey: PublicKey
                                                                                                                              • slippage: number
                                                                                                                              • inputMint: PublicKey
                                                                                                                              • outputMint: PublicKey

                                                                                                                              Returns Promise<[TransactionInstruction[], AddressLookupTableAccount[]]>

                                                                                                                            • fetchRoutes(inputMint: any, outputMint: any, amount?: string, slippage?: number, swapMode?: string, feeBps?: string, wallet?: PublicKey): Promise<Routes>
                                                                                                                            • Parameters

                                                                                                                              • inputMint: any
                                                                                                                              • outputMint: any
                                                                                                                              • amount: string = '0'
                                                                                                                              • slippage: number = 50
                                                                                                                              • swapMode: string = 'ExactIn'
                                                                                                                              • feeBps: string = '0'
                                                                                                                              • wallet: PublicKey = PublicKey.default

                                                                                                                              Returns Promise<Routes>

                                                                                                                            • getAssociatedTokenAddress(mint: PublicKey, owner: PublicKey, allowOwnerOffCurve?: boolean, programId?: PublicKey, associatedTokenProgramId?: PublicKey): Promise<PublicKey>
                                                                                                                            • Get the address of the associated token account for a given mint and owner

                                                                                                                              Parameters

                                                                                                                              • mint: PublicKey

                                                                                                                                Token mint account

                                                                                                                                @@ -14,8 +14,8 @@ returns -1 if data is missing

                                                                                                                              • associatedTokenProgramId: PublicKey = ASSOCIATED_TOKEN_PROGRAM_ID

                                                                                                                                SPL Associated Token program account

                                                                                                                              Returns Promise<PublicKey>

                                                                                                                              Address of the associated token account

                                                                                                                              -
                                                                                                                            • Returns a list of perp positions alongwith their mango account, sorted ascending by closest to liquidation

                                                                                                                              -

                                                                                                                              Parameters

                                                                                                                              Returns Promise<{ mangoAccount: PublicKey; pct: I80F48; perpPosition: PerpPosition }[]>

                                                                                                                            • getOnChainPriceForMints(mints: string[]): Promise<number[]>
                                                                                                                            • Parameters

                                                                                                                              • mints: string[]

                                                                                                                              Returns Promise<number[]>

                                                                                                                            • percentageToDecimal(percentage: number): number
                                                                                                                            • Parameters

                                                                                                                              • percentage: number

                                                                                                                              Returns number

                                                                                                                            • prepareMangoRouterInstructions(selectedRoute: RouteInfo, inputMint: PublicKey, outputMint: PublicKey, userPublicKey: PublicKey): Promise<[TransactionInstruction[], AddressLookupTableAccount[]]>
                                                                                                                            • Parameters

                                                                                                                              • selectedRoute: RouteInfo
                                                                                                                              • inputMint: PublicKey
                                                                                                                              • outputMint: PublicKey
                                                                                                                              • userPublicKey: PublicKey

                                                                                                                              Returns Promise<[TransactionInstruction[], AddressLookupTableAccount[]]>

                                                                                                                            • roundTo5(number: any): number
                                                                                                                            • Parameters

                                                                                                                              • number: any

                                                                                                                              Returns number

                                                                                                                            • toNative(uiAmount: number, decimals: number): BN
                                                                                                                            • Parameters

                                                                                                                              • uiAmount: number
                                                                                                                              • decimals: number

                                                                                                                              Returns BN

                                                                                                                            • toNativeI80F48(uiAmount: number, decimals: number): I80F48
                                                                                                                            • toNativeI80F48ForQuote(uiAmount: number): I80F48
                                                                                                                            • toNativeSellPerBuyTokenPrice(price: number, sellBank: Bank, buyBank: Bank): number
                                                                                                                            • toUiDecimals(nativeAmount: number | BN | I80F48, decimals: number): number
                                                                                                                            • Parameters

                                                                                                                              • nativeAmount: number | BN | I80F48
                                                                                                                              • decimals: number

                                                                                                                              Returns number

                                                                                                                            • toUiDecimalsForQuote(nativeAmount: number | BN | I80F48): number
                                                                                                                            • toUiSellPerBuyTokenPrice(price: number, sellBank: Bank, buyBank: Bank): number

                                                                                                                            Legend

                                                                                                                            • Constructor
                                                                                                                            • Property
                                                                                                                            • Method
                                                                                                                            • Property
                                                                                                                            • Method
                                                                                                                            • Private property
                                                                                                                            • Private method
                                                                                                                            • Static property
                                                                                                                            • Static method

                                                                                                                            Settings

                                                                                                                            Theme

                                                                                                                            Generated using TypeDoc

                                                                                                                            \ No newline at end of file +

                                                                                                                            Parameters

                                                                                                                            Returns Promise<{ mangoAccount: PublicKey; perpPosition: PerpPosition }[]>

                                                                                                                          • getOnChainPriceForMints(mints: string[]): Promise<number[]>
                                                                                                                          • Parameters

                                                                                                                            • mints: string[]

                                                                                                                            Returns Promise<number[]>

                                                                                                                          • percentageToDecimal(percentage: number): number
                                                                                                                          • Parameters

                                                                                                                            • percentage: number

                                                                                                                            Returns number

                                                                                                                          • prepareMangoRouterInstructions(selectedRoute: RouteInfo, inputMint: PublicKey, outputMint: PublicKey, userPublicKey: PublicKey): Promise<[TransactionInstruction[], AddressLookupTableAccount[]]>
                                                                                                                          • Parameters

                                                                                                                            • selectedRoute: RouteInfo
                                                                                                                            • inputMint: PublicKey
                                                                                                                            • outputMint: PublicKey
                                                                                                                            • userPublicKey: PublicKey

                                                                                                                            Returns Promise<[TransactionInstruction[], AddressLookupTableAccount[]]>

                                                                                                                          • roundTo5(number: any): number
                                                                                                                          • Parameters

                                                                                                                            • number: any

                                                                                                                            Returns number

                                                                                                                          • toNative(uiAmount: number, decimals: number): BN
                                                                                                                          • Parameters

                                                                                                                            • uiAmount: number
                                                                                                                            • decimals: number

                                                                                                                            Returns BN

                                                                                                                          • toNativeI80F48(uiAmount: number, decimals: number): I80F48
                                                                                                                          • toNativeI80F48ForQuote(uiAmount: number): I80F48
                                                                                                                          • toNativeSellPerBuyTokenPrice(price: number, sellBank: Bank, buyBank: Bank): number
                                                                                                                          • toUiDecimals(nativeAmount: number | BN | I80F48, decimals: number): number
                                                                                                                          • Parameters

                                                                                                                            • nativeAmount: number | BN | I80F48
                                                                                                                            • decimals: number

                                                                                                                            Returns number

                                                                                                                          • toUiDecimalsForQuote(nativeAmount: number | BN | I80F48): number
                                                                                                                          • toUiSellPerBuyTokenPrice(price: number, sellBank: Bank, buyBank: Bank): number

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file diff --git a/ts/client/interfaces/AccountEquity.html b/ts/client/interfaces/AccountEquity.html index f2fc73cba..1c9251673 100644 --- a/ts/client/interfaces/AccountEquity.html +++ b/ts/client/interfaces/AccountEquity.html @@ -1 +1 @@ -AccountEquity | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • AccountEquity

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          Properties

                                                                                                                          Account: { highlight: boolean; val: PublicKey }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: PublicKey
                                                                                                                          Equity: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file +AccountEquity | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • AccountEquity

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          Properties

                                                                                                                          Account: { highlight: boolean; val: PublicKey }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: PublicKey
                                                                                                                          Equity: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file diff --git a/ts/client/interfaces/BankForHealth.html b/ts/client/interfaces/BankForHealth.html index d1458dc68..d1956750f 100644 --- a/ts/client/interfaces/BankForHealth.html +++ b/ts/client/interfaces/BankForHealth.html @@ -1 +1 @@ -BankForHealth | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • BankForHealth

                                                                                                                          Implemented by

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          borrowWeightScaleStartQuote: number
                                                                                                                          depositWeightScaleStartQuote: number
                                                                                                                          initAssetWeight: I80F48
                                                                                                                          initLiabWeight: I80F48
                                                                                                                          maintAssetWeight: I80F48
                                                                                                                          maintLiabWeight: I80F48
                                                                                                                          price: I80F48
                                                                                                                          stablePriceModel: StablePriceModel
                                                                                                                          tokenIndex: TokenIndex

                                                                                                                          Methods

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file +BankForHealth | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • BankForHealth

                                                                                                                          Implemented by

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          borrowWeightScaleStartQuote: number
                                                                                                                          depositWeightScaleStartQuote: number
                                                                                                                          initAssetWeight: I80F48
                                                                                                                          initLiabWeight: I80F48
                                                                                                                          maintAssetWeight: I80F48
                                                                                                                          maintLiabWeight: I80F48
                                                                                                                          price: I80F48
                                                                                                                          stablePriceModel: StablePriceModel
                                                                                                                          tokenIndex: TokenIndex

                                                                                                                          Methods

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file diff --git a/ts/client/interfaces/Event.html b/ts/client/interfaces/Event.html index 192fc3e56..b26d72bde 100644 --- a/ts/client/interfaces/Event.html +++ b/ts/client/interfaces/Event.html @@ -1 +1 @@ -Event | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          Properties

                                                                                                                          eventType: number

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file +Event | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          Properties

                                                                                                                          eventType: number

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file diff --git a/ts/client/interfaces/ExactOutSwapParams.html b/ts/client/interfaces/ExactOutSwapParams.html index a815e3dd4..11a4e9776 100644 --- a/ts/client/interfaces/ExactOutSwapParams.html +++ b/ts/client/interfaces/ExactOutSwapParams.html @@ -1,3 +1,3 @@ -ExactOutSwapParams | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          amount: number
                                                                                                                          +ExactOutSwapParams | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          amount: number

                                                                                                                          amount is used for instruction and can be null when it is an intermediate swap, only the first swap has an amount

                                                                                                                          -
                                                                                                                          destinationMint: string
                                                                                                                          inAmount: number
                                                                                                                          openOrdersAddress?: string
                                                                                                                          overflowFeeAccount?: string
                                                                                                                          platformFee?: PlatformFee
                                                                                                                          quoteMintToReferrer?: QuoteMintToReferrer
                                                                                                                          slippageBps: number
                                                                                                                          sourceMint: string
                                                                                                                          swapMode: SwapMode
                                                                                                                          userDestinationTokenAccount: string
                                                                                                                          userSourceTokenAccount: string
                                                                                                                          userTransferAuthority: string

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file +
                                                                                                                          destinationMint: string
                                                                                                                          inAmount: number
                                                                                                                          openOrdersAddress?: string
                                                                                                                          overflowFeeAccount?: string
                                                                                                                          platformFee?: PlatformFee
                                                                                                                          quoteMintToReferrer?: QuoteMintToReferrer
                                                                                                                          slippageBps: number
                                                                                                                          sourceMint: string
                                                                                                                          swapMode: SwapMode
                                                                                                                          userDestinationTokenAccount: string
                                                                                                                          userSourceTokenAccount: string
                                                                                                                          userTransferAuthority: string

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file diff --git a/ts/client/interfaces/Fee.html b/ts/client/interfaces/Fee.html index 8da9632fc..f95848bc8 100644 --- a/ts/client/interfaces/Fee.html +++ b/ts/client/interfaces/Fee.html @@ -1 +1 @@ -Fee | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • Fee

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          Properties

                                                                                                                          amount: number
                                                                                                                          mint: string
                                                                                                                          pct: number

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file +Fee | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • Fee

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          Properties

                                                                                                                          amount: number
                                                                                                                          mint: string
                                                                                                                          pct: number

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file diff --git a/ts/client/interfaces/FillEvent.html b/ts/client/interfaces/FillEvent.html index 9eb02af8b..82b3d9527 100644 --- a/ts/client/interfaces/FillEvent.html +++ b/ts/client/interfaces/FillEvent.html @@ -1 +1 @@ -FillEvent | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          eventType: number
                                                                                                                          maker: PublicKey
                                                                                                                          makerFee: number
                                                                                                                          makerOrderId: BN
                                                                                                                          makerOut: boolean
                                                                                                                          makerSlot: number
                                                                                                                          makerTimestamp: BN
                                                                                                                          price: number
                                                                                                                          quantity: number
                                                                                                                          seqNum: BN
                                                                                                                          taker: PublicKey
                                                                                                                          takerClientOrderId: BN
                                                                                                                          takerFee: number
                                                                                                                          takerOrderId: BN
                                                                                                                          takerSide: PerpOrderType
                                                                                                                          timestamp: BN

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file +FillEvent | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          eventType: number
                                                                                                                          maker: PublicKey
                                                                                                                          makerFee: number
                                                                                                                          makerOrderId: BN
                                                                                                                          makerOut: boolean
                                                                                                                          makerSlot: number
                                                                                                                          makerTimestamp: BN
                                                                                                                          price: number
                                                                                                                          quantity: number
                                                                                                                          seqNum: BN
                                                                                                                          taker: PublicKey
                                                                                                                          takerClientOrderId: BN
                                                                                                                          takerFee: number
                                                                                                                          takerOrderId: BN
                                                                                                                          takerSide: PerpOrderType
                                                                                                                          timestamp: BN

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file diff --git a/ts/client/interfaces/LiqorPriceImpact.html b/ts/client/interfaces/LiqorPriceImpact.html index 9d9e0ce24..308711167 100644 --- a/ts/client/interfaces/LiqorPriceImpact.html +++ b/ts/client/interfaces/LiqorPriceImpact.html @@ -1 +1 @@ -LiqorPriceImpact | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • LiqorPriceImpact

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          Assets: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number
                                                                                                                          Assets Slippage: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number
                                                                                                                          Coin: { highlight: boolean; val: string }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: string
                                                                                                                          Future Price: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number
                                                                                                                          Jup Price: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number
                                                                                                                          Liabs: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number
                                                                                                                          Liabs Slippage: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number
                                                                                                                          Oracle Price: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number
                                                                                                                          V4 Liq Fee: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file +LiqorPriceImpact | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • LiqorPriceImpact

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          Assets: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number
                                                                                                                          Assets Slippage: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number
                                                                                                                          Coin: { highlight: boolean; val: string }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: string
                                                                                                                          Future Price: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number
                                                                                                                          Jup Price: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number
                                                                                                                          Liabs: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number
                                                                                                                          Liabs Slippage: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number
                                                                                                                          Oracle Price: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number
                                                                                                                          V4 Liq Fee: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file diff --git a/ts/client/interfaces/LiquidateEvent.html b/ts/client/interfaces/LiquidateEvent.html index 4f7c2069c..bf547aaec 100644 --- a/ts/client/interfaces/LiquidateEvent.html +++ b/ts/client/interfaces/LiquidateEvent.html @@ -1 +1 @@ -LiquidateEvent | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          Properties

                                                                                                                          eventType: number
                                                                                                                          seqNum: BN

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file +LiquidateEvent | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          Properties

                                                                                                                          eventType: number
                                                                                                                          seqNum: BN

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file diff --git a/ts/client/interfaces/MarketInfo.html b/ts/client/interfaces/MarketInfo.html index 7a2e80952..18c5afda0 100644 --- a/ts/client/interfaces/MarketInfo.html +++ b/ts/client/interfaces/MarketInfo.html @@ -1 +1 @@ -MarketInfo | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • MarketInfo

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          id: string
                                                                                                                          inAmount: number
                                                                                                                          inputMint: string
                                                                                                                          label: string
                                                                                                                          lpFee: Fee
                                                                                                                          notEnoughLiquidity: boolean
                                                                                                                          outAmount: number
                                                                                                                          outputMint: string
                                                                                                                          platformFee: Fee
                                                                                                                          priceImpactPct: number

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file +MarketInfo | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • MarketInfo

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          id: string
                                                                                                                          inAmount: number
                                                                                                                          inputMint: string
                                                                                                                          label: string
                                                                                                                          lpFee: Fee
                                                                                                                          notEnoughLiquidity: boolean
                                                                                                                          outAmount: number
                                                                                                                          outputMint: string
                                                                                                                          platformFee: Fee
                                                                                                                          priceImpactPct: number

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file diff --git a/ts/client/interfaces/OutEvent.html b/ts/client/interfaces/OutEvent.html index c286dc5ac..e9f8eecfe 100644 --- a/ts/client/interfaces/OutEvent.html +++ b/ts/client/interfaces/OutEvent.html @@ -1 +1 @@ -OutEvent | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          eventType: number
                                                                                                                          owner: PublicKey
                                                                                                                          ownerSlot: number
                                                                                                                          quantity: BN
                                                                                                                          seqNum: BN
                                                                                                                          timestamp: BN

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file +OutEvent | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          eventType: number
                                                                                                                          owner: PublicKey
                                                                                                                          ownerSlot: number
                                                                                                                          quantity: BN
                                                                                                                          seqNum: BN
                                                                                                                          timestamp: BN

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file diff --git a/ts/client/interfaces/PerpPositionsToBeLiquidated.html b/ts/client/interfaces/PerpPositionsToBeLiquidated.html index f1e7b314c..187553876 100644 --- a/ts/client/interfaces/PerpPositionsToBeLiquidated.html +++ b/ts/client/interfaces/PerpPositionsToBeLiquidated.html @@ -1 +1 @@ -PerpPositionsToBeLiquidated | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • PerpPositionsToBeLiquidated

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          Future Price: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number
                                                                                                                          Market: { highlight: boolean; val: string }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: string
                                                                                                                          Notional Position: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number
                                                                                                                          Price: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file +PerpPositionsToBeLiquidated | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • PerpPositionsToBeLiquidated

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          Future Price: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number
                                                                                                                          Market: { highlight: boolean; val: string }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: string
                                                                                                                          Notional Position: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number
                                                                                                                          Price: { highlight: boolean; val: number }

                                                                                                                          Type declaration

                                                                                                                          • highlight: boolean
                                                                                                                          • val: number

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file diff --git a/ts/client/interfaces/Quote.html b/ts/client/interfaces/Quote.html index eb1e14ca2..d9db75551 100644 --- a/ts/client/interfaces/Quote.html +++ b/ts/client/interfaces/Quote.html @@ -1 +1 @@ -Quote | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • Quote

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          feeAmount: number
                                                                                                                          feeMint: string
                                                                                                                          feePct: number
                                                                                                                          inAmount: number
                                                                                                                          minInAmount?: number
                                                                                                                          minOutAmount?: number
                                                                                                                          notEnoughLiquidity: boolean
                                                                                                                          outAmount: number
                                                                                                                          priceImpactPct: number

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file +Quote | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • Quote

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          feeAmount: number
                                                                                                                          feeMint: string
                                                                                                                          feePct: number
                                                                                                                          inAmount: number
                                                                                                                          minInAmount?: number
                                                                                                                          minOutAmount?: number
                                                                                                                          notEnoughLiquidity: boolean
                                                                                                                          outAmount: number
                                                                                                                          priceImpactPct: number

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file diff --git a/ts/client/interfaces/QuoteParams.html b/ts/client/interfaces/QuoteParams.html index 84f7bfd17..2f31f851e 100644 --- a/ts/client/interfaces/QuoteParams.html +++ b/ts/client/interfaces/QuoteParams.html @@ -1 +1 @@ -QuoteParams | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • QuoteParams

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          amount: number
                                                                                                                          destinationMint: string
                                                                                                                          sourceMint: string
                                                                                                                          swapMode: SwapMode

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file +QuoteParams | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • QuoteParams

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          amount: number
                                                                                                                          destinationMint: string
                                                                                                                          sourceMint: string
                                                                                                                          swapMode: SwapMode

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file diff --git a/ts/client/interfaces/Risk.html b/ts/client/interfaces/Risk.html index a468eb88a..83562a828 100644 --- a/ts/client/interfaces/Risk.html +++ b/ts/client/interfaces/Risk.html @@ -1 +1 @@ -Risk | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • Risk

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          assetDrop: { data: LiqorPriceImpact[]; title: string }

                                                                                                                          Type declaration

                                                                                                                          assetRally: { data: LiqorPriceImpact[]; title: string }

                                                                                                                          Type declaration

                                                                                                                          liqorEquity: { data: AccountEquity[]; title: string }

                                                                                                                          Type declaration

                                                                                                                          marketMakerEquity: { data: AccountEquity[]; title: string }

                                                                                                                          Type declaration

                                                                                                                          perpDrop: { data: PerpPositionsToBeLiquidated[]; title: string }

                                                                                                                          Type declaration

                                                                                                                          perpRally: { data: PerpPositionsToBeLiquidated[]; title: string }

                                                                                                                          Type declaration

                                                                                                                          usdcDepeg: { data: LiqorPriceImpact[]; title: string }

                                                                                                                          Type declaration

                                                                                                                          usdtDepeg: { data: LiqorPriceImpact[]; title: string }

                                                                                                                          Type declaration

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file +Risk | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • Risk

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          assetDrop: { data: LiqorPriceImpact[]; title: string }

                                                                                                                          Type declaration

                                                                                                                          assetRally: { data: LiqorPriceImpact[]; title: string }

                                                                                                                          Type declaration

                                                                                                                          liqorEquity: { data: AccountEquity[]; title: string }

                                                                                                                          Type declaration

                                                                                                                          marketMakerEquity: { data: AccountEquity[]; title: string }

                                                                                                                          Type declaration

                                                                                                                          perpDrop: { data: PerpPositionsToBeLiquidated[]; title: string }

                                                                                                                          Type declaration

                                                                                                                          perpRally: { data: PerpPositionsToBeLiquidated[]; title: string }

                                                                                                                          Type declaration

                                                                                                                          usdcDepeg: { data: LiqorPriceImpact[]; title: string }

                                                                                                                          Type declaration

                                                                                                                          usdtDepeg: { data: LiqorPriceImpact[]; title: string }

                                                                                                                          Type declaration

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file diff --git a/ts/client/interfaces/RouteInfo.html b/ts/client/interfaces/RouteInfo.html index 7e38c4fe8..fb9d5767c 100644 --- a/ts/client/interfaces/RouteInfo.html +++ b/ts/client/interfaces/RouteInfo.html @@ -1 +1 @@ -RouteInfo | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • RouteInfo

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          amount: number
                                                                                                                          inAmount: number
                                                                                                                          instructions?: TransactionInstruction[]
                                                                                                                          marketInfos: MarketInfo[]
                                                                                                                          mints?: PublicKey[]
                                                                                                                          otherAmountThreshold: number
                                                                                                                          outAmount: number
                                                                                                                          priceImpactPct: number
                                                                                                                          routerName?: "Mango"
                                                                                                                          slippageBps: number
                                                                                                                          swapMode: SwapMode

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file +RouteInfo | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • RouteInfo

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          amount: number
                                                                                                                          inAmount: number
                                                                                                                          instructions?: TransactionInstruction[]
                                                                                                                          marketInfos: MarketInfo[]
                                                                                                                          mints?: PublicKey[]
                                                                                                                          otherAmountThreshold: number
                                                                                                                          outAmount: number
                                                                                                                          priceImpactPct: number
                                                                                                                          routerName?: "Mango"
                                                                                                                          slippageBps: number
                                                                                                                          swapMode: SwapMode

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file diff --git a/ts/client/interfaces/SwapParams.html b/ts/client/interfaces/SwapParams.html index b0bf64634..b3e0815db 100644 --- a/ts/client/interfaces/SwapParams.html +++ b/ts/client/interfaces/SwapParams.html @@ -1,3 +1,3 @@ -SwapParams | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          amount: number
                                                                                                                          +SwapParams | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          amount: number

                                                                                                                          amount is used for instruction and can be null when it is an intermediate swap, only the first swap has an amount

                                                                                                                          -
                                                                                                                          destinationMint: string
                                                                                                                          openOrdersAddress?: string
                                                                                                                          quoteMintToReferrer?: QuoteMintToReferrer
                                                                                                                          sourceMint: string
                                                                                                                          swapMode: SwapMode
                                                                                                                          userDestinationTokenAccount: string
                                                                                                                          userSourceTokenAccount: string
                                                                                                                          userTransferAuthority: string

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file +
                                                                                                                          destinationMint: string
                                                                                                                          openOrdersAddress?: string
                                                                                                                          quoteMintToReferrer?: QuoteMintToReferrer
                                                                                                                          sourceMint: string
                                                                                                                          swapMode: SwapMode
                                                                                                                          userDestinationTokenAccount: string
                                                                                                                          userSourceTokenAccount: string
                                                                                                                          userTransferAuthority: string

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file diff --git a/ts/client/interfaces/TransactionFeeInfo.html b/ts/client/interfaces/TransactionFeeInfo.html index 095792f08..4bffa14c6 100644 --- a/ts/client/interfaces/TransactionFeeInfo.html +++ b/ts/client/interfaces/TransactionFeeInfo.html @@ -1 +1 @@ -TransactionFeeInfo | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • TransactionFeeInfo

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          ataDeposits: number[]
                                                                                                                          minimumSOLForTransaction: number
                                                                                                                          openOrdersDeposits: number[]
                                                                                                                          signatureFee: number
                                                                                                                          totalFeeAndDeposits: number

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file +TransactionFeeInfo | @blockworks-foundation/mango-v4
                                                                                                                          Options
                                                                                                                          All
                                                                                                                          • Public
                                                                                                                          • Public/Protected
                                                                                                                          • All
                                                                                                                          Menu

                                                                                                                          Hierarchy

                                                                                                                          • TransactionFeeInfo

                                                                                                                          Index

                                                                                                                          Properties

                                                                                                                          ataDeposits: number[]
                                                                                                                          minimumSOLForTransaction: number
                                                                                                                          openOrdersDeposits: number[]
                                                                                                                          signatureFee: number
                                                                                                                          totalFeeAndDeposits: number

                                                                                                                          Legend

                                                                                                                          • Constructor
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Property
                                                                                                                          • Method
                                                                                                                          • Private property
                                                                                                                          • Private method
                                                                                                                          • Static property
                                                                                                                          • Static method

                                                                                                                          Settings

                                                                                                                          Theme

                                                                                                                          Generated using TypeDoc

                                                                                                                          \ No newline at end of file