diff --git a/hotshot_query_service/availability/struct.BlockQueryData.html b/hotshot_query_service/availability/struct.BlockQueryData.html index 8ee66aaf..32e4d56b 100644 --- a/hotshot_query_service/availability/struct.BlockQueryData.html +++ b/hotshot_query_service/availability/struct.BlockQueryData.html @@ -19,14 +19,14 @@ Types: NodeType, Payload<Types>: QueryablePayload<Types>,
source§

fn from_row(row: &'r <Db as Database>::Row) -> Result<Self>

source§

impl<Types: NodeType> HeightIndexed for BlockQueryData<Types>

source§

fn height(&self) -> u64

source§

impl<Types: PartialEq + NodeType> PartialEq for BlockQueryData<Types>

source§

fn eq(&self, other: &BlockQueryData<Types>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<Types: NodeType> Serialize for BlockQueryData<Types>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<Types: NodeType> TryFrom<BlockQueryData<Types>> for BlockDetail<Types>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<Types: NodeType> TryFrom<BlockQueryData<Types>> for BlockDetail<Types>
where BlockQueryData<Types>: HeightIndexed, Payload<Types>: QueryablePayload<Types>, Header<Types>: QueryableHeader<Types> + ExplorerHeader<Types>, - BalanceAmount<Types>: Into<MonetaryValue>,

source§

type Error = TimestampConversionError

The type returned in the event of a conversion error.
source§

fn try_from(value: BlockQueryData<Types>) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<Types: NodeType> TryFrom<BlockQueryData<Types>> for BlockSummary<Types>
where + BalanceAmount<Types>: Into<MonetaryValue>,

source§

type Error = TimestampConversionError

The type returned in the event of a conversion error.
source§

fn try_from(value: BlockQueryData<Types>) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<Types: NodeType> TryFrom<BlockQueryData<Types>> for BlockSummary<Types>
where BlockQueryData<Types>: HeightIndexed, Payload<Types>: QueryablePayload<Types>, - Header<Types>: QueryableHeader<Types> + ExplorerHeader<Types>,

source§

type Error = TimestampConversionError

The type returned in the event of a conversion error.
source§

fn try_from(value: BlockQueryData<Types>) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<Types: Eq + NodeType> Eq for BlockQueryData<Types>

source§

impl<Types: NodeType> StructuralPartialEq for BlockQueryData<Types>

Auto Trait Implementations§

§

impl<Types> Freeze for BlockQueryData<Types>
where + Header<Types>: QueryableHeader<Types> + ExplorerHeader<Types>,

source§

type Error = TimestampConversionError

The type returned in the event of a conversion error.
source§

fn try_from(value: BlockQueryData<Types>) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<Types: Eq + NodeType> Eq for BlockQueryData<Types>

source§

impl<Types: NodeType> StructuralPartialEq for BlockQueryData<Types>

Auto Trait Implementations§

§

impl<Types> Freeze for BlockQueryData<Types>
where <Types as NodeType>::BlockHeader: Freeze, <Types as NodeType>::BlockPayload: Freeze,

§

impl<Types> RefUnwindSafe for BlockQueryData<Types>
where <Types as NodeType>::BlockHeader: RefUnwindSafe, diff --git a/hotshot_query_service/availability/trait.QueryablePayload.html b/hotshot_query_service/availability/trait.QueryablePayload.html index e534218b..8f1448bb 100644 --- a/hotshot_query_service/availability/trait.QueryablePayload.html +++ b/hotshot_query_service/availability/trait.QueryablePayload.html @@ -129,4 +129,4 @@ meta: &Self::Metadata, hash: Commitment<Self::Transaction>, ) -> Option<(Self::Transaction, Self::InclusionProof)>

Get the transaction with a given hash, if it is in the block, along with an inclusion proof.

-

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<Types: NodeType> QueryablePayload<Types> for MockPayload

\ No newline at end of file +

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<Types: NodeType> QueryablePayload<Types> for MockPayload

\ No newline at end of file diff --git a/hotshot_query_service/data_source/sql/struct.Error.html b/hotshot_query_service/data_source/sql/struct.Error.html index 99cf3d57..410d17b8 100644 --- a/hotshot_query_service/data_source/sql/struct.Error.html +++ b/hotshot_query_service/data_source/sql/struct.Error.html @@ -1,4 +1,4 @@ -Error in hotshot_query_service::data_source::sql - Rust
hotshot_query_service::data_source::sql

Struct Error

source
pub struct Error { /* private fields */ }
Expand description

The Error type, a wrapper around a dynamic error type.

+Error in hotshot_query_service::data_source::sql - Rust
hotshot_query_service::data_source::sql

Struct Error

source
pub struct Error { /* private fields */ }
Expand description

The Error type, a wrapper around a dynamic error type.

Error works a lot like Box<dyn std::error::Error>, but with these differences:

    @@ -193,8 +193,8 @@
    §Example
    }
source

pub fn downcast_mut<E>(&mut self) -> Option<&mut E>
where E: Display + Debug + Send + Sync + 'static,

Downcast this error object by mutable reference.

-

Trait Implementations§

source§

impl AsRef<dyn Error> for Error

source§

fn as_ref(&self) -> &(dyn Error + 'static)

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl AsRef<dyn Error + Sync + Send> for Error

source§

fn as_ref(&self) -> &(dyn Error + Sync + Send + 'static)

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl Debug for Error

source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Deref for Error

source§

type Target = dyn Error + Sync + Send

The resulting type after dereferencing.
source§

fn deref(&self) -> &<Error as Deref>::Target

Dereferences the value.
source§

impl DerefMut for Error

source§

fn deref_mut(&mut self) -> &mut <Error as Deref>::Target

Mutably dereferences the value.
source§

impl Display for Error

source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Drop for Error

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<E> From<E> for Error
where - E: Error + Send + Sync + 'static,

source§

fn from(error: E) -> Error

Converts to this type from the input type.
source§

impl From<Error> for Box<dyn Error>

source§

fn from(error: Error) -> Box<dyn Error>

Converts to this type from the input type.
source§

impl From<Error> for Box<dyn Error + Send>

source§

fn from(error: Error) -> Box<dyn Error + Send>

Converts to this type from the input type.
source§

impl From<Error> for Box<dyn Error + Sync + Send>

source§

fn from(error: Error) -> Box<dyn Error + Sync + Send>

Converts to this type from the input type.
source§

impl RefUnwindSafe for Error

source§

impl UnwindSafe for Error

Auto Trait Implementations§

§

impl Freeze for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl AsRef<dyn Error> for Error

source§

fn as_ref(&self) -> &(dyn Error + 'static)

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl AsRef<dyn Error + Sync + Send> for Error

source§

fn as_ref(&self) -> &(dyn Error + Sync + Send + 'static)

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl Debug for Error

source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl DerefMut for Error

source§

fn deref_mut(&mut self) -> &mut <Error as Deref>::Target

Mutably dereferences the value.
source§

impl Display for Error

source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Drop for Error

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<E> From<E> for Error
where + E: Error + Send + Sync + 'static,

source§

fn from(error: E) -> Error

Converts to this type from the input type.
source§

impl From<Error> for Box<dyn Error>

source§

fn from(error: Error) -> Box<dyn Error>

Converts to this type from the input type.
source§

impl From<Error> for Box<dyn Error + Send>

source§

fn from(error: Error) -> Box<dyn Error + Send>

Converts to this type from the input type.
source§

impl From<Error> for Box<dyn Error + Sync + Send>

source§

fn from(error: Error) -> Box<dyn Error + Sync + Send>

Converts to this type from the input type.
source§

impl Deref for Error

source§

type Target = dyn Error + Sync + Send

The resulting type after dereferencing.
source§

fn deref(&self) -> &<Error as Deref>::Target

Dereferences the value.
source§

impl RefUnwindSafe for Error

source§

impl UnwindSafe for Error

Auto Trait Implementations§

§

impl Freeze for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where diff --git a/hotshot_query_service/data_source/storage/sql/struct.Error.html b/hotshot_query_service/data_source/storage/sql/struct.Error.html index 8729bb1a..6e7dd157 100644 --- a/hotshot_query_service/data_source/storage/sql/struct.Error.html +++ b/hotshot_query_service/data_source/storage/sql/struct.Error.html @@ -1,4 +1,4 @@ -Error in hotshot_query_service::data_source::storage::sql - Rust
hotshot_query_service::data_source::storage::sql

Struct Error

source
pub struct Error { /* private fields */ }
Expand description

The Error type, a wrapper around a dynamic error type.

+Error in hotshot_query_service::data_source::storage::sql - Rust
hotshot_query_service::data_source::storage::sql

Struct Error

source
pub struct Error { /* private fields */ }
Expand description

The Error type, a wrapper around a dynamic error type.

Error works a lot like Box<dyn std::error::Error>, but with these differences:

    @@ -193,8 +193,8 @@
    §Example
    }
source

pub fn downcast_mut<E>(&mut self) -> Option<&mut E>
where E: Display + Debug + Send + Sync + 'static,

Downcast this error object by mutable reference.

-

Trait Implementations§

source§

impl AsRef<dyn Error> for Error

source§

fn as_ref(&self) -> &(dyn Error + 'static)

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl AsRef<dyn Error + Sync + Send> for Error

source§

fn as_ref(&self) -> &(dyn Error + Sync + Send + 'static)

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl Debug for Error

source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Deref for Error

source§

type Target = dyn Error + Sync + Send

The resulting type after dereferencing.
source§

fn deref(&self) -> &<Error as Deref>::Target

Dereferences the value.
source§

impl DerefMut for Error

source§

fn deref_mut(&mut self) -> &mut <Error as Deref>::Target

Mutably dereferences the value.
source§

impl Display for Error

source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Drop for Error

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<E> From<E> for Error
where - E: Error + Send + Sync + 'static,

source§

fn from(error: E) -> Error

Converts to this type from the input type.
source§

impl From<Error> for Box<dyn Error>

source§

fn from(error: Error) -> Box<dyn Error>

Converts to this type from the input type.
source§

impl From<Error> for Box<dyn Error + Send>

source§

fn from(error: Error) -> Box<dyn Error + Send>

Converts to this type from the input type.
source§

impl From<Error> for Box<dyn Error + Sync + Send>

source§

fn from(error: Error) -> Box<dyn Error + Sync + Send>

Converts to this type from the input type.
source§

impl RefUnwindSafe for Error

source§

impl UnwindSafe for Error

Auto Trait Implementations§

§

impl Freeze for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl AsRef<dyn Error> for Error

source§

fn as_ref(&self) -> &(dyn Error + 'static)

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl AsRef<dyn Error + Sync + Send> for Error

source§

fn as_ref(&self) -> &(dyn Error + Sync + Send + 'static)

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl Debug for Error

source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl DerefMut for Error

source§

fn deref_mut(&mut self) -> &mut <Error as Deref>::Target

Mutably dereferences the value.
source§

impl Display for Error

source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Drop for Error

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<E> From<E> for Error
where + E: Error + Send + Sync + 'static,

source§

fn from(error: E) -> Error

Converts to this type from the input type.
source§

impl From<Error> for Box<dyn Error>

source§

fn from(error: Error) -> Box<dyn Error>

Converts to this type from the input type.
source§

impl From<Error> for Box<dyn Error + Send>

source§

fn from(error: Error) -> Box<dyn Error + Send>

Converts to this type from the input type.
source§

impl From<Error> for Box<dyn Error + Sync + Send>

source§

fn from(error: Error) -> Box<dyn Error + Sync + Send>

Converts to this type from the input type.
source§

impl Deref for Error

source§

type Target = dyn Error + Sync + Send

The resulting type after dereferencing.
source§

fn deref(&self) -> &<Error as Deref>::Target

Dereferences the value.
source§

impl RefUnwindSafe for Error

source§

impl UnwindSafe for Error

Auto Trait Implementations§

§

impl Freeze for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where diff --git a/hotshot_query_service/data_source/storage/sql/struct.Transaction.html b/hotshot_query_service/data_source/storage/sql/struct.Transaction.html index 55552d3e..0b3c1c21 100644 --- a/hotshot_query_service/data_source/storage/sql/struct.Transaction.html +++ b/hotshot_query_service/data_source/storage/sql/struct.Transaction.html @@ -1,4 +1,4 @@ -Transaction in hotshot_query_service::data_source::storage::sql - Rust
hotshot_query_service::data_source::storage::sql

Struct Transaction

source
pub struct Transaction<Mode> { /* private fields */ }
Expand description

An atomic SQL transaction.

+Transaction in hotshot_query_service::data_source::storage::sql - Rust
hotshot_query_service::data_source::storage::sql

Struct Transaction

source
pub struct Transaction<Mode> { /* private fields */ }
Expand description

An atomic SQL transaction.

Implementations§

source§

impl<Mode> Transaction<Mode>

source

pub async fn load_header<Types: NodeType>( &mut self, id: impl Into<BlockId<Types>> + Send, @@ -106,47 +106,47 @@ from: u64, ) -> Pin<Box<dyn Future<Output = QueryResult<LeafQueryData<Types>>> + Send + 'async_trait>>
where Self: 'async_trait, - 'life0: 'async_trait,

Get the first leaf which is available in the database with height >= from.
source§

impl<Mode: Debug> Debug for Transaction<Mode>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<Mode> Deref for Transaction<Mode>

source§

type Target = Transaction<'static, Sqlite>

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<Mode> DerefMut for Transaction<Mode>

source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
source§

impl<Mode, Types> ExplorerStorage<Types> for Transaction<Mode>
where + 'life0: 'async_trait,

Get the first leaf which is available in the database with height >= from.
source§

impl<Mode: Debug> Debug for Transaction<Mode>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<Mode> DerefMut for Transaction<Mode>

source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
source§

impl<Mode, Types> ExplorerStorage<Types> for Transaction<Mode>
where Mode: TransactionMode, Types: NodeType, Payload<Types>: QueryablePayload<Types>, Header<Types>: QueryableHeader<Types> + ExplorerHeader<Types>, Transaction<Types>: ExplorerTransaction, - BalanceAmount<Types>: Into<MonetaryValue>,

source§

fn get_block_summaries<'life0, 'async_trait>( + BalanceAmount<Types>: Into<MonetaryValue>,

source§

fn get_block_summaries<'life0, 'async_trait>( &'life0 mut self, request: GetBlockSummariesRequest<Types>, ) -> Pin<Box<dyn Future<Output = Result<Vec<BlockSummary<Types>>, GetBlockSummariesError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

get_block_summaries is a method that retrieves a list of block summaries from the blockchain. The list is generated from the given -GetBlockSummariesRequest.
source§

fn get_block_detail<'life0, 'async_trait>( +GetBlockSummariesRequest.

source§

fn get_block_detail<'life0, 'async_trait>( &'life0 mut self, request: BlockIdentifier<Types>, ) -> Pin<Box<dyn Future<Output = Result<BlockDetail<Types>, GetBlockDetailError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

get_block_detail is a method that retrieves the details of a specific block from the blockchain. The block is identified by the given -BlockIdentifier.
source§

fn get_transaction_summaries<'life0, 'async_trait>( +BlockIdentifier.

source§

fn get_transaction_summaries<'life0, 'async_trait>( &'life0 mut self, request: GetTransactionSummariesRequest<Types>, ) -> Pin<Box<dyn Future<Output = Result<Vec<TransactionSummary<Types>>, GetTransactionSummariesError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

get_transaction_summaries is a method that retrieves a list of transaction summaries from the blockchain. The list is generated from -the given GetTransactionSummariesRequest.
source§

fn get_transaction_detail<'life0, 'async_trait>( +the given GetTransactionSummariesRequest.

source§

fn get_transaction_detail<'life0, 'async_trait>( &'life0 mut self, request: TransactionIdentifier<Types>, ) -> Pin<Box<dyn Future<Output = Result<TransactionDetailResponse<Types>, GetTransactionDetailError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

get_transaction_detail is a method that retrieves the details of a specific transaction from the blockchain. The transaction is identified -by the given TransactionIdentifier.
source§

fn get_explorer_summary<'life0, 'async_trait>( +by the given TransactionIdentifier.

source§

fn get_explorer_summary<'life0, 'async_trait>( &'life0 mut self, ) -> Pin<Box<dyn Future<Output = Result<ExplorerSummary<Types>, GetExplorerSummaryError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

get_explorer_summary is a method that retrieves a summary overview of the blockchain. This is useful for displaying information that -indicates the overall status of the block chain.
source§

fn get_search_results<'life0, 'async_trait>( +indicates the overall status of the block chain.

source§

fn get_search_results<'life0, 'async_trait>( &'life0 mut self, search_query: TaggedBase64, ) -> Pin<Box<dyn Future<Output = Result<SearchResult<Types>, GetSearchResultsError>> + Send + 'async_trait>>
where @@ -227,7 +227,7 @@ block_number: u64, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, - 'life0: 'async_trait,

Auto Trait Implementations§

§

impl<Mode> Freeze for Transaction<Mode>

§

impl<Mode> !RefUnwindSafe for Transaction<Mode>

§

impl<Mode> Send for Transaction<Mode>
where + 'life0: 'async_trait,

source§

impl<Mode> Deref for Transaction<Mode>

source§

type Target = Transaction<'static, Sqlite>

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.

Auto Trait Implementations§

§

impl<Mode> Freeze for Transaction<Mode>

§

impl<Mode> !RefUnwindSafe for Transaction<Mode>

§

impl<Mode> Send for Transaction<Mode>
where Mode: Send,

§

impl<Mode> Sync for Transaction<Mode>
where Mode: Sync,

§

impl<Mode> Unpin for Transaction<Mode>
where Mode: Unpin,

§

impl<Mode> !UnwindSafe for Transaction<Mode>

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/hotshot_query_service/data_source/storage/trait.ExplorerStorage.html b/hotshot_query_service/data_source/storage/trait.ExplorerStorage.html index 0c89ac2e..44664697 100644 --- a/hotshot_query_service/data_source/storage/trait.ExplorerStorage.html +++ b/hotshot_query_service/data_source/storage/trait.ExplorerStorage.html @@ -94,7 +94,7 @@ 'life0: 'async_trait,

get_search_results is a method that retrieves the results of a search query against the blockchain. The results are generated from the given query string.

-

Implementors§

source§

impl<Mode, Types> ExplorerStorage<Types> for Transaction<Mode>
where +

Implementors§

source§

impl<Mode, Types> ExplorerStorage<Types> for Transaction<Mode>
where Mode: TransactionMode, Types: NodeType, Payload<Types>: QueryablePayload<Types>, diff --git a/hotshot_query_service/enum.QueryError.html b/hotshot_query_service/enum.QueryError.html index 141e7b71..f3c7852b 100644 --- a/hotshot_query_service/enum.QueryError.html +++ b/hotshot_query_service/enum.QueryError.html @@ -13,7 +13,7 @@ Self: Debug + Display,

source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
source§

impl ErrorCompat for QueryError

source§

fn backtrace(&self) -> Option<&Backtrace>

Returns a Backtrace that may be printed.
§

fn iter_chain(&self) -> ChainCompat<'_, '_>
where Self: AsErrorSource,

Returns an iterator for traversing the chain of errors, starting with the current error -and continuing with recursive calls to Error::source. Read more
source§

impl From<Error> for QueryError

source§

fn from(err: Error) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for Error

source§

fn from(original: QueryError) -> Error

Converts to this type from the input type.
source§

impl From<QueryError> for Error

source§

fn from(original: QueryError) -> Error

Converts to this type from the input type.
source§

impl From<QueryError> for GetBlockDetailError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for GetBlockSummariesError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for GetExplorerSummaryError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for GetSearchResultsError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for GetTransactionDetailError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for GetTransactionSummariesError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl From<TimestampConversionError> for QueryError

source§

fn from(value: TimestampConversionError) -> Self

Converts to this type from the input type.
source§

impl<__T0> IntoError<QueryError> for ErrorSnafu<__T0>
where +and continuing with recursive calls to Error::source. Read more

source§

impl From<Error> for QueryError

source§

fn from(err: Error) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for Error

source§

fn from(original: QueryError) -> Error

Converts to this type from the input type.
source§

impl From<QueryError> for Error

source§

fn from(original: QueryError) -> Error

Converts to this type from the input type.
source§

impl From<QueryError> for GetBlockDetailError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for GetBlockSummariesError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for GetExplorerSummaryError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for GetSearchResultsError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for GetTransactionDetailError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for GetTransactionSummariesError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl From<TimestampConversionError> for QueryError

source§

fn from(value: TimestampConversionError) -> Self

Converts to this type from the input type.
source§

impl<__T0> IntoError<QueryError> for ErrorSnafu<__T0>
where QueryError: Error + ErrorCompat, __T0: Into<String>,

source§

type Source = NoneError

The underlying error
source§

fn into_error(self, error: Self::Source) -> QueryError

Combine the information to produce the error
source§

impl IntoError<QueryError> for MissingSnafu
where QueryError: Error + ErrorCompat,

source§

type Source = NoneError

The underlying error
source§

fn into_error(self, error: Self::Source) -> QueryError

Combine the information to produce the error
source§

impl IntoError<QueryError> for NotFoundSnafu
where diff --git a/hotshot_query_service/explorer/enum.BlockIdentifier.html b/hotshot_query_service/explorer/enum.BlockIdentifier.html index 727d592e..24f02cb8 100644 --- a/hotshot_query_service/explorer/enum.BlockIdentifier.html +++ b/hotshot_query_service/explorer/enum.BlockIdentifier.html @@ -1,4 +1,4 @@ -BlockIdentifier in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Enum BlockIdentifier

source
pub enum BlockIdentifier<Types: NodeType> {
+BlockIdentifier in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Enum BlockIdentifier

source
pub enum BlockIdentifier<Types: NodeType> {
     Latest,
     Height(usize),
     Hash(BlockHash<Types>),
@@ -8,8 +8,8 @@
 

Any identifier specified here is not guaranteed to be valid, and may not guarantee that a Block can actually be identified with the information provided.

-

Variants§

§

Latest

§

Height(usize)

§

Hash(BlockHash<Types>)

Trait Implementations§

source§

impl<Types: Clone + NodeType> Clone for BlockIdentifier<Types>

source§

fn clone(&self) -> BlockIdentifier<Types>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<Types: Debug + NodeType> Debug for BlockIdentifier<Types>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<Types: NodeType> Display for BlockIdentifier<Types>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<Types: PartialEq + NodeType> PartialEq for BlockIdentifier<Types>

source§

fn eq(&self, other: &BlockIdentifier<Types>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl<Types: Eq + NodeType> Eq for BlockIdentifier<Types>

source§

impl<Types: NodeType> StructuralPartialEq for BlockIdentifier<Types>

Auto Trait Implementations§

§

impl<Types> Freeze for BlockIdentifier<Types>

§

impl<Types> RefUnwindSafe for BlockIdentifier<Types>

§

impl<Types> Send for BlockIdentifier<Types>

§

impl<Types> Sync for BlockIdentifier<Types>

§

impl<Types> Unpin for BlockIdentifier<Types>

§

impl<Types> UnwindSafe for BlockIdentifier<Types>

Blanket Implementations§

source§

impl<T> Any for T
where +

Variants§

§

Latest

§

Height(usize)

§

Hash(BlockHash<Types>)

Trait Implementations§

source§

impl<Types: Clone + NodeType> Clone for BlockIdentifier<Types>

source§

fn clone(&self) -> BlockIdentifier<Types>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<Types: Debug + NodeType> Debug for BlockIdentifier<Types>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<Types: NodeType> Display for BlockIdentifier<Types>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<Types: PartialEq + NodeType> PartialEq for BlockIdentifier<Types>

source§

fn eq(&self, other: &BlockIdentifier<Types>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl<Types: Eq + NodeType> Eq for BlockIdentifier<Types>

source§

impl<Types: NodeType> StructuralPartialEq for BlockIdentifier<Types>

Auto Trait Implementations§

§

impl<Types> Freeze for BlockIdentifier<Types>

§

impl<Types> RefUnwindSafe for BlockIdentifier<Types>

§

impl<Types> Send for BlockIdentifier<Types>

§

impl<Types> Sync for BlockIdentifier<Types>

§

impl<Types> Unpin for BlockIdentifier<Types>

§

impl<Types> UnwindSafe for BlockIdentifier<Types>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where diff --git a/hotshot_query_service/explorer/enum.GetBlockDetailError.html b/hotshot_query_service/explorer/enum.GetBlockDetailError.html index e044b23c..e124892a 100644 --- a/hotshot_query_service/explorer/enum.GetBlockDetailError.html +++ b/hotshot_query_service/explorer/enum.GetBlockDetailError.html @@ -1,11 +1,11 @@ -GetBlockDetailError in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Enum GetBlockDetailError

source
pub enum GetBlockDetailError {
+GetBlockDetailError in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Enum GetBlockDetailError

source
pub enum GetBlockDetailError {
     Unimplemented(Unimplemented),
     BlockNotFound(NotFound),
     QueryError(QueryError),
 }
Expand description

GetBlockDetailError represents an error that has occurred in response to the get_block_detail request.

-

Variants§

§

Unimplemented(Unimplemented)

§

BlockNotFound(NotFound)

§

QueryError(QueryError)

Implementations§

source§

impl GetBlockDetailError

source

pub fn status(&self) -> StatusCode

Trait Implementations§

source§

impl Clone for GetBlockDetailError

source§

fn clone(&self) -> GetBlockDetailError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GetBlockDetailError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for GetBlockDetailError

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for GetBlockDetailError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for GetBlockDetailError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
source§

impl From<Error> for GetBlockDetailError

source§

fn from(err: Error) -> Self

Converts to this type from the input type.
source§

impl From<GetBlockDetailError> for GetExplorerSummaryError

source§

fn from(value: GetBlockDetailError) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for GetBlockDetailError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl Serialize for GetBlockDetailError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where +

Variants§

§

Unimplemented(Unimplemented)

§

BlockNotFound(NotFound)

§

QueryError(QueryError)

Implementations§

source§

impl GetBlockDetailError

source

pub fn status(&self) -> StatusCode

Trait Implementations§

source§

impl Clone for GetBlockDetailError

source§

fn clone(&self) -> GetBlockDetailError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GetBlockDetailError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for GetBlockDetailError

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for GetBlockDetailError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for GetBlockDetailError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
source§

impl From<Error> for GetBlockDetailError

source§

fn from(err: Error) -> Self

Converts to this type from the input type.
source§

impl From<GetBlockDetailError> for GetExplorerSummaryError

source§

fn from(value: GetBlockDetailError) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for GetBlockDetailError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl Serialize for GetBlockDetailError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, diff --git a/hotshot_query_service/explorer/enum.GetBlockSummariesError.html b/hotshot_query_service/explorer/enum.GetBlockSummariesError.html index 51c80d76..c66a0230 100644 --- a/hotshot_query_service/explorer/enum.GetBlockSummariesError.html +++ b/hotshot_query_service/explorer/enum.GetBlockSummariesError.html @@ -1,12 +1,12 @@ -GetBlockSummariesError in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Enum GetBlockSummariesError

source
pub enum GetBlockSummariesError {
+GetBlockSummariesError in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Enum GetBlockSummariesError

source
pub enum GetBlockSummariesError {
     Unimplemented(Unimplemented),
     InvalidLimit(InvalidLimit),
     TargetNotFound(NotFound),
     QueryError(QueryError),
 }
Expand description

GetBlockSummariesError represents an error that has occurred in response to the GetBlockSummariesRequest request.

-

Variants§

§

Unimplemented(Unimplemented)

§

InvalidLimit(InvalidLimit)

§

TargetNotFound(NotFound)

§

QueryError(QueryError)

Implementations§

source§

impl GetBlockSummariesError

source

pub fn status(&self) -> StatusCode

Trait Implementations§

source§

impl Clone for GetBlockSummariesError

source§

fn clone(&self) -> GetBlockSummariesError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GetBlockSummariesError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for GetBlockSummariesError

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for GetBlockSummariesError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for GetBlockSummariesError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
source§

impl From<Error> for GetBlockSummariesError

source§

fn from(err: Error) -> Self

Converts to this type from the input type.
source§

impl From<GetBlockSummariesError> for GetExplorerSummaryError

source§

fn from(value: GetBlockSummariesError) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for GetBlockSummariesError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl Serialize for GetBlockSummariesError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where +

Variants§

§

Unimplemented(Unimplemented)

§

InvalidLimit(InvalidLimit)

§

TargetNotFound(NotFound)

§

QueryError(QueryError)

Implementations§

source§

impl GetBlockSummariesError

source

pub fn status(&self) -> StatusCode

Trait Implementations§

source§

impl Clone for GetBlockSummariesError

source§

fn clone(&self) -> GetBlockSummariesError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GetBlockSummariesError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for GetBlockSummariesError

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for GetBlockSummariesError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for GetBlockSummariesError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
source§

impl From<Error> for GetBlockSummariesError

source§

fn from(err: Error) -> Self

Converts to this type from the input type.
source§

impl From<GetBlockSummariesError> for GetExplorerSummaryError

source§

fn from(value: GetBlockSummariesError) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for GetBlockSummariesError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl Serialize for GetBlockSummariesError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, diff --git a/hotshot_query_service/explorer/enum.GetExplorerSummaryError.html b/hotshot_query_service/explorer/enum.GetExplorerSummaryError.html index 3bc6dcef..8b90e6a8 100644 --- a/hotshot_query_service/explorer/enum.GetExplorerSummaryError.html +++ b/hotshot_query_service/explorer/enum.GetExplorerSummaryError.html @@ -1,4 +1,4 @@ -GetExplorerSummaryError in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Enum GetExplorerSummaryError

source
pub enum GetExplorerSummaryError {
+GetExplorerSummaryError in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Enum GetExplorerSummaryError

source
pub enum GetExplorerSummaryError {
     Unimplemented(Unimplemented),
     QueryError(QueryError),
     GetBlockDetailError(GetBlockDetailError),
@@ -6,8 +6,8 @@
     GetTransactionSummariesError(GetTransactionSummariesError),
 }
Expand description

GetExplorerSummaryError represents an error that has occurred in response to the get_explorer_summary request.

-

Variants§

§

Unimplemented(Unimplemented)

§

QueryError(QueryError)

§

GetBlockDetailError(GetBlockDetailError)

§

GetBlockSummariesError(GetBlockSummariesError)

§

GetTransactionSummariesError(GetTransactionSummariesError)

Implementations§

source§

impl GetExplorerSummaryError

source

pub fn status(&self) -> StatusCode

Trait Implementations§

source§

impl Clone for GetExplorerSummaryError

source§

fn clone(&self) -> GetExplorerSummaryError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GetExplorerSummaryError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for GetExplorerSummaryError

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for GetExplorerSummaryError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for GetExplorerSummaryError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
source§

impl From<Error> for GetExplorerSummaryError

source§

fn from(err: Error) -> Self

Converts to this type from the input type.
source§

impl From<GetBlockDetailError> for GetExplorerSummaryError

source§

fn from(value: GetBlockDetailError) -> Self

Converts to this type from the input type.
source§

impl From<GetBlockSummariesError> for GetExplorerSummaryError

source§

fn from(value: GetBlockSummariesError) -> Self

Converts to this type from the input type.
source§

impl From<GetTransactionSummariesError> for GetExplorerSummaryError

source§

fn from(value: GetTransactionSummariesError) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for GetExplorerSummaryError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl Serialize for GetExplorerSummaryError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where +

Variants§

§

Unimplemented(Unimplemented)

§

QueryError(QueryError)

§

GetBlockDetailError(GetBlockDetailError)

§

GetBlockSummariesError(GetBlockSummariesError)

§

GetTransactionSummariesError(GetTransactionSummariesError)

Implementations§

source§

impl GetExplorerSummaryError

source

pub fn status(&self) -> StatusCode

Trait Implementations§

source§

impl Clone for GetExplorerSummaryError

source§

fn clone(&self) -> GetExplorerSummaryError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GetExplorerSummaryError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for GetExplorerSummaryError

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for GetExplorerSummaryError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for GetExplorerSummaryError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
source§

impl From<Error> for GetExplorerSummaryError

source§

fn from(err: Error) -> Self

Converts to this type from the input type.
source§

impl From<GetBlockDetailError> for GetExplorerSummaryError

source§

fn from(value: GetBlockDetailError) -> Self

Converts to this type from the input type.
source§

impl From<GetBlockSummariesError> for GetExplorerSummaryError

source§

fn from(value: GetBlockSummariesError) -> Self

Converts to this type from the input type.
source§

impl From<GetTransactionSummariesError> for GetExplorerSummaryError

source§

fn from(value: GetTransactionSummariesError) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for GetExplorerSummaryError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl Serialize for GetExplorerSummaryError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, diff --git a/hotshot_query_service/explorer/enum.GetSearchResultsError.html b/hotshot_query_service/explorer/enum.GetSearchResultsError.html index 45b606d2..1c98e5ab 100644 --- a/hotshot_query_service/explorer/enum.GetSearchResultsError.html +++ b/hotshot_query_service/explorer/enum.GetSearchResultsError.html @@ -1,11 +1,11 @@ -GetSearchResultsError in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Enum GetSearchResultsError

source
pub enum GetSearchResultsError {
+GetSearchResultsError in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Enum GetSearchResultsError

source
pub enum GetSearchResultsError {
     Unimplemented(Unimplemented),
     QueryError(QueryError),
     InvalidQuery(BadQuery),
 }
Expand description

GetSearchResultsError represents an error that has occurred in response to the get_search_results request.

-

Variants§

§

Unimplemented(Unimplemented)

§

QueryError(QueryError)

§

InvalidQuery(BadQuery)

Implementations§

source§

impl GetSearchResultsError

source

pub fn status(&self) -> StatusCode

Trait Implementations§

source§

impl Clone for GetSearchResultsError

source§

fn clone(&self) -> GetSearchResultsError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GetSearchResultsError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for GetSearchResultsError

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for GetSearchResultsError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for GetSearchResultsError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
source§

impl From<Error> for GetSearchResultsError

source§

fn from(err: Error) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for GetSearchResultsError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl Serialize for GetSearchResultsError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where +

Variants§

§

Unimplemented(Unimplemented)

§

QueryError(QueryError)

§

InvalidQuery(BadQuery)

Implementations§

source§

impl GetSearchResultsError

source

pub fn status(&self) -> StatusCode

Trait Implementations§

source§

impl Clone for GetSearchResultsError

source§

fn clone(&self) -> GetSearchResultsError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GetSearchResultsError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for GetSearchResultsError

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for GetSearchResultsError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for GetSearchResultsError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
source§

impl From<Error> for GetSearchResultsError

source§

fn from(err: Error) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for GetSearchResultsError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl Serialize for GetSearchResultsError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, diff --git a/hotshot_query_service/explorer/enum.GetTransactionDetailError.html b/hotshot_query_service/explorer/enum.GetTransactionDetailError.html index 02efc42b..79eafbf6 100644 --- a/hotshot_query_service/explorer/enum.GetTransactionDetailError.html +++ b/hotshot_query_service/explorer/enum.GetTransactionDetailError.html @@ -1,11 +1,11 @@ -GetTransactionDetailError in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Enum GetTransactionDetailError

source
pub enum GetTransactionDetailError {
+GetTransactionDetailError in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Enum GetTransactionDetailError

source
pub enum GetTransactionDetailError {
     Unimplemented(Unimplemented),
     TransactionNotFound(NotFound),
     QueryError(QueryError),
 }
Expand description

GetTransactionDetailError represents an error that has occurred in response to the get_tranaction_detail request.

-

Variants§

§

Unimplemented(Unimplemented)

§

TransactionNotFound(NotFound)

§

QueryError(QueryError)

Implementations§

source§

impl GetTransactionDetailError

source

pub fn status(&self) -> StatusCode

Trait Implementations§

source§

impl Clone for GetTransactionDetailError

source§

fn clone(&self) -> GetTransactionDetailError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GetTransactionDetailError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for GetTransactionDetailError

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for GetTransactionDetailError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for GetTransactionDetailError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
source§

impl From<Error> for GetTransactionDetailError

source§

fn from(err: Error) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for GetTransactionDetailError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl From<TimestampConversionError> for GetTransactionDetailError

source§

fn from(value: TimestampConversionError) -> Self

Converts to this type from the input type.
source§

impl Serialize for GetTransactionDetailError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where +

Variants§

§

Unimplemented(Unimplemented)

§

TransactionNotFound(NotFound)

§

QueryError(QueryError)

Implementations§

source§

impl GetTransactionDetailError

source

pub fn status(&self) -> StatusCode

Trait Implementations§

source§

impl Clone for GetTransactionDetailError

source§

fn clone(&self) -> GetTransactionDetailError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GetTransactionDetailError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for GetTransactionDetailError

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for GetTransactionDetailError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for GetTransactionDetailError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
source§

impl From<Error> for GetTransactionDetailError

source§

fn from(err: Error) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for GetTransactionDetailError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl From<TimestampConversionError> for GetTransactionDetailError

source§

fn from(value: TimestampConversionError) -> Self

Converts to this type from the input type.
source§

impl Serialize for GetTransactionDetailError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, diff --git a/hotshot_query_service/explorer/enum.GetTransactionSummariesError.html b/hotshot_query_service/explorer/enum.GetTransactionSummariesError.html index 6703f53b..b21aeadb 100644 --- a/hotshot_query_service/explorer/enum.GetTransactionSummariesError.html +++ b/hotshot_query_service/explorer/enum.GetTransactionSummariesError.html @@ -1,12 +1,12 @@ -GetTransactionSummariesError in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Enum GetTransactionSummariesError

source
pub enum GetTransactionSummariesError {
+GetTransactionSummariesError in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Enum GetTransactionSummariesError

source
pub enum GetTransactionSummariesError {
     Unimplemented(Unimplemented),
     InvalidLimit(InvalidLimit),
     TargetNotFound(NotFound),
     QueryError(QueryError),
 }
Expand description

GetTransactionSummariesError represents an error that has occurred in response to the GetTransactionSummariesRequest request.

-

Variants§

§

Unimplemented(Unimplemented)

§

InvalidLimit(InvalidLimit)

§

TargetNotFound(NotFound)

§

QueryError(QueryError)

Implementations§

source§

impl GetTransactionSummariesError

source

pub fn status(&self) -> StatusCode

Trait Implementations§

source§

impl Clone for GetTransactionSummariesError

source§

fn clone(&self) -> GetTransactionSummariesError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GetTransactionSummariesError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for GetTransactionSummariesError

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for GetTransactionSummariesError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for GetTransactionSummariesError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
source§

impl From<Error> for GetTransactionSummariesError

source§

fn from(err: Error) -> Self

Converts to this type from the input type.
source§

impl From<GetTransactionSummariesError> for GetExplorerSummaryError

source§

fn from(value: GetTransactionSummariesError) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for GetTransactionSummariesError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl Serialize for GetTransactionSummariesError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where +

Variants§

§

Unimplemented(Unimplemented)

§

InvalidLimit(InvalidLimit)

§

TargetNotFound(NotFound)

§

QueryError(QueryError)

Implementations§

source§

impl GetTransactionSummariesError

source

pub fn status(&self) -> StatusCode

Trait Implementations§

source§

impl Clone for GetTransactionSummariesError

source§

fn clone(&self) -> GetTransactionSummariesError

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GetTransactionSummariesError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for GetTransactionSummariesError

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for GetTransactionSummariesError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for GetTransactionSummariesError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
source§

impl From<Error> for GetTransactionSummariesError

source§

fn from(err: Error) -> Self

Converts to this type from the input type.
source§

impl From<GetTransactionSummariesError> for GetExplorerSummaryError

source§

fn from(value: GetTransactionSummariesError) -> Self

Converts to this type from the input type.
source§

impl From<QueryError> for GetTransactionSummariesError

source§

fn from(value: QueryError) -> Self

Converts to this type from the input type.
source§

impl Serialize for GetTransactionSummariesError

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, diff --git a/hotshot_query_service/explorer/enum.TimestampConversionError.html b/hotshot_query_service/explorer/enum.TimestampConversionError.html index 492e3951..bd99f48b 100644 --- a/hotshot_query_service/explorer/enum.TimestampConversionError.html +++ b/hotshot_query_service/explorer/enum.TimestampConversionError.html @@ -1,12 +1,12 @@ -TimestampConversionError in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Enum TimestampConversionError

source
pub enum TimestampConversionError {
+TimestampConversionError in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Enum TimestampConversionError

source
pub enum TimestampConversionError {
     TimeError(ComponentRange),
     IntError(TryFromIntError),
 }
Expand description

TimestampConversionError represents an error that has occurred when attempting to convert a timestamp from a specific format to another. It is primarily used when attempting to deserialize a Timestamp from its serialized string representation.

-

Variants§

§

TimeError(ComponentRange)

§

IntError(TryFromIntError)

Trait Implementations§

source§

impl Debug for TimestampConversionError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for TimestampConversionError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for TimestampConversionError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
source§

impl From<ComponentRange> for TimestampConversionError

source§

fn from(value: ComponentRange) -> Self

Converts to this type from the input type.
source§

impl From<TimestampConversionError> for GetTransactionDetailError

source§

fn from(value: TimestampConversionError) -> Self

Converts to this type from the input type.
source§

impl From<TimestampConversionError> for QueryError

source§

fn from(value: TimestampConversionError) -> Self

Converts to this type from the input type.
source§

impl From<TryFromIntError> for TimestampConversionError

source§

fn from(value: TryFromIntError) -> Self

Converts to this type from the input type.
source§

impl PartialEq for TimestampConversionError

source§

fn eq(&self, other: &TimestampConversionError) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl Eq for TimestampConversionError

source§

impl StructuralPartialEq for TimestampConversionError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Variants§

§

TimeError(ComponentRange)

§

IntError(TryFromIntError)

Trait Implementations§

source§

impl Debug for TimestampConversionError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for TimestampConversionError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for TimestampConversionError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
source§

impl From<ComponentRange> for TimestampConversionError

source§

fn from(value: ComponentRange) -> Self

Converts to this type from the input type.
source§

impl From<TimestampConversionError> for GetTransactionDetailError

source§

fn from(value: TimestampConversionError) -> Self

Converts to this type from the input type.
source§

impl From<TimestampConversionError> for QueryError

source§

fn from(value: TimestampConversionError) -> Self

Converts to this type from the input type.
source§

impl From<TryFromIntError> for TimestampConversionError

source§

fn from(value: TryFromIntError) -> Self

Converts to this type from the input type.
source§

impl PartialEq for TimestampConversionError

source§

fn eq(&self, other: &TimestampConversionError) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl Eq for TimestampConversionError

source§

impl StructuralPartialEq for TimestampConversionError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
§

impl<T> AsErrorSource for T
where diff --git a/hotshot_query_service/explorer/enum.TransactionIdentifier.html b/hotshot_query_service/explorer/enum.TransactionIdentifier.html index 19948f2e..1ee07543 100644 --- a/hotshot_query_service/explorer/enum.TransactionIdentifier.html +++ b/hotshot_query_service/explorer/enum.TransactionIdentifier.html @@ -1,4 +1,4 @@ -TransactionIdentifier in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Enum TransactionIdentifier

source
pub enum TransactionIdentifier<Types: NodeType> {
+TransactionIdentifier in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Enum TransactionIdentifier

source
pub enum TransactionIdentifier<Types: NodeType> {
     Latest,
     HeightAndOffset(usize, usize),
     Hash(TransactionHash<Types>),
@@ -12,8 +12,8 @@
 

A TransactionHash is not actually guaranteed to point to a unique transaction at the moment, however we will assume that it does for the purposes of this API.

-

Variants§

§

Latest

§

HeightAndOffset(usize, usize)

§

Hash(TransactionHash<Types>)

Trait Implementations§

source§

impl<Types: Clone + NodeType> Clone for TransactionIdentifier<Types>

source§

fn clone(&self) -> TransactionIdentifier<Types>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<Types: Debug + NodeType> Debug for TransactionIdentifier<Types>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<Types: NodeType> Display for TransactionIdentifier<Types>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<Types: PartialEq + NodeType> PartialEq for TransactionIdentifier<Types>

source§

fn eq(&self, other: &TransactionIdentifier<Types>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl<Types: Eq + NodeType> Eq for TransactionIdentifier<Types>

source§

impl<Types: NodeType> StructuralPartialEq for TransactionIdentifier<Types>

Auto Trait Implementations§

§

impl<Types> Freeze for TransactionIdentifier<Types>

§

impl<Types> RefUnwindSafe for TransactionIdentifier<Types>

§

impl<Types> Send for TransactionIdentifier<Types>

§

impl<Types> Sync for TransactionIdentifier<Types>

§

impl<Types> Unpin for TransactionIdentifier<Types>

§

impl<Types> UnwindSafe for TransactionIdentifier<Types>

Blanket Implementations§

source§

impl<T> Any for T
where +

Variants§

§

Latest

§

HeightAndOffset(usize, usize)

§

Hash(TransactionHash<Types>)

Trait Implementations§

source§

impl<Types: Clone + NodeType> Clone for TransactionIdentifier<Types>

source§

fn clone(&self) -> TransactionIdentifier<Types>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<Types: Debug + NodeType> Debug for TransactionIdentifier<Types>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<Types: NodeType> Display for TransactionIdentifier<Types>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<Types: PartialEq + NodeType> PartialEq for TransactionIdentifier<Types>

source§

fn eq(&self, other: &TransactionIdentifier<Types>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl<Types: Eq + NodeType> Eq for TransactionIdentifier<Types>

source§

impl<Types: NodeType> StructuralPartialEq for TransactionIdentifier<Types>

Auto Trait Implementations§

§

impl<Types> Freeze for TransactionIdentifier<Types>

§

impl<Types> RefUnwindSafe for TransactionIdentifier<Types>

§

impl<Types> Send for TransactionIdentifier<Types>

§

impl<Types> Sync for TransactionIdentifier<Types>

§

impl<Types> Unpin for TransactionIdentifier<Types>

§

impl<Types> UnwindSafe for TransactionIdentifier<Types>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where diff --git a/hotshot_query_service/explorer/enum.TransactionSummaryFilter.html b/hotshot_query_service/explorer/enum.TransactionSummaryFilter.html index 2bab9f6b..41b8c795 100644 --- a/hotshot_query_service/explorer/enum.TransactionSummaryFilter.html +++ b/hotshot_query_service/explorer/enum.TransactionSummaryFilter.html @@ -1,11 +1,11 @@ -TransactionSummaryFilter in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Enum TransactionSummaryFilter

source
pub enum TransactionSummaryFilter {
+TransactionSummaryFilter in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Enum TransactionSummaryFilter

source
pub enum TransactionSummaryFilter {
     None,
     RollUp(usize),
     Block(usize),
 }
Expand description

TransactionSummaryFilter represents the various filters that can be applied when retrieving a list of TransactionSummary entries.

-

Variants§

§

None

§

RollUp(usize)

§

Block(usize)

Trait Implementations§

source§

impl Debug for TransactionSummaryFilter

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for TransactionSummaryFilter

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for TransactionSummaryFilter

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where +

Variants§

§

None

§

RollUp(usize)

§

Block(usize)

Trait Implementations§

source§

impl Debug for TransactionSummaryFilter

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for TransactionSummaryFilter

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for TransactionSummaryFilter

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, diff --git a/hotshot_query_service/explorer/struct.BlockDetail.html b/hotshot_query_service/explorer/struct.BlockDetail.html index e38d88c9..154f5b93 100644 --- a/hotshot_query_service/explorer/struct.BlockDetail.html +++ b/hotshot_query_service/explorer/struct.BlockDetail.html @@ -1,4 +1,4 @@ -BlockDetail in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Struct BlockDetail

source
pub struct BlockDetail<Types: NodeType>
where +BlockDetail in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Struct BlockDetail

source
pub struct BlockDetail<Types: NodeType>
where Header<Types>: ExplorerHeader<Types>,
{ pub hash: BlockHash<Types>, pub height: u64, @@ -10,24 +10,24 @@ pub block_reward: Vec<MonetaryValue>, }
Expand description

BlockDetail is a struct that represents the details of a specific block for use in a Block Explorer.

-

Fields§

§hash: BlockHash<Types>§height: u64§time: Timestamp§num_transactions: u64§proposer_id: ProposerId<Types>§fee_recipient: WalletAddress<Types>§size: u64§block_reward: Vec<MonetaryValue>

Trait Implementations§

source§

impl<Types: Debug + NodeType> Debug for BlockDetail<Types>
where - Header<Types>: ExplorerHeader<Types>,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de, Types: NodeType> Deserialize<'de> for BlockDetail<Types>
where - Header<Types>: ExplorerHeader<Types>,

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where +

Fields§

§hash: BlockHash<Types>§height: u64§time: Timestamp§num_transactions: u64§proposer_id: ProposerId<Types>§fee_recipient: WalletAddress<Types>§size: u64§block_reward: Vec<MonetaryValue>

Trait Implementations§

source§

impl<Types: Debug + NodeType> Debug for BlockDetail<Types>
where + Header<Types>: ExplorerHeader<Types>,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de, Types: NodeType> Deserialize<'de> for BlockDetail<Types>
where + Header<Types>: ExplorerHeader<Types>,

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<Types: NodeType> From<BlockDetail<Types>> for BlockDetailResponse<Types>
where Header<Types>: ExplorerHeader<Types>,

source§

fn from(block_detail: BlockDetail<Types>) -> Self

Converts to this type from the input type.
source§

impl<'r, Types> FromRow<'r, <Sqlite as Database>::Row> for BlockDetail<Types>
where Types: NodeType, Header<Types>: QueryableHeader<Types> + ExplorerHeader<Types>, Payload<Types>: QueryablePayload<Types>, - BalanceAmount<Types>: Into<MonetaryValue>,

source§

fn from_row(row: &'r <Db as Database>::Row) -> Result<Self>

source§

impl<Types: PartialEq + NodeType> PartialEq for BlockDetail<Types>
where - Header<Types>: ExplorerHeader<Types>,

source§

fn eq(&self, other: &BlockDetail<Types>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl<Types: NodeType> Serialize for BlockDetail<Types>
where - Header<Types>: ExplorerHeader<Types>,

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<Types: NodeType> TryFrom<BlockQueryData<Types>> for BlockDetail<Types>
where + BalanceAmount<Types>: Into<MonetaryValue>,

source§

fn from_row(row: &'r <Db as Database>::Row) -> Result<Self>

source§

impl<Types: PartialEq + NodeType> PartialEq for BlockDetail<Types>
where + Header<Types>: ExplorerHeader<Types>,

source§

fn eq(&self, other: &BlockDetail<Types>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl<Types: NodeType> Serialize for BlockDetail<Types>
where + Header<Types>: ExplorerHeader<Types>,

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<Types: NodeType> TryFrom<BlockQueryData<Types>> for BlockDetail<Types>
where BlockQueryData<Types>: HeightIndexed, Payload<Types>: QueryablePayload<Types>, Header<Types>: QueryableHeader<Types> + ExplorerHeader<Types>, - BalanceAmount<Types>: Into<MonetaryValue>,

source§

type Error = TimestampConversionError

The type returned in the event of a conversion error.
source§

fn try_from(value: BlockQueryData<Types>) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<Types: Eq + NodeType> Eq for BlockDetail<Types>
where - Header<Types>: ExplorerHeader<Types>,

source§

impl<Types: NodeType> StructuralPartialEq for BlockDetail<Types>
where + BalanceAmount<Types>: Into<MonetaryValue>,

source§

type Error = TimestampConversionError

The type returned in the event of a conversion error.
source§

fn try_from(value: BlockQueryData<Types>) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<Types: Eq + NodeType> Eq for BlockDetail<Types>
where + Header<Types>: ExplorerHeader<Types>,

source§

impl<Types: NodeType> StructuralPartialEq for BlockDetail<Types>
where Header<Types>: ExplorerHeader<Types>,

Auto Trait Implementations§

§

impl<Types> Freeze for BlockDetail<Types>
where <Types as NodeType>::BlockHeader: for<'de> Sized, <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Freeze, diff --git a/hotshot_query_service/explorer/struct.BlockRange.html b/hotshot_query_service/explorer/struct.BlockRange.html index 05ae35db..ba5b687a 100644 --- a/hotshot_query_service/explorer/struct.BlockRange.html +++ b/hotshot_query_service/explorer/struct.BlockRange.html @@ -1,4 +1,4 @@ -BlockRange in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Struct BlockRange

source
pub struct BlockRange<Types: NodeType> {
+BlockRange in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Struct BlockRange

source
pub struct BlockRange<Types: NodeType> {
     pub target: BlockIdentifier<Types>,
     pub num_blocks: NonZeroUsize,
 }
Expand description

BlockRange is a struct that represents a range for a specific set of @@ -9,8 +9,8 @@ same set of blocks when the parameters themselves are the same.

If the num_blocks is not possible, then this should be considered as referring to as many Blocks as are possible.

-

Fields§

§target: BlockIdentifier<Types>§num_blocks: NonZeroUsize

Trait Implementations§

source§

impl<Types: Clone + NodeType> Clone for BlockRange<Types>

source§

fn clone(&self) -> BlockRange<Types>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<Types: Debug + NodeType> Debug for BlockRange<Types>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<Types: PartialEq + NodeType> PartialEq for BlockRange<Types>

source§

fn eq(&self, other: &BlockRange<Types>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl<Types: Eq + NodeType> Eq for BlockRange<Types>

source§

impl<Types: NodeType> StructuralPartialEq for BlockRange<Types>

Auto Trait Implementations§

§

impl<Types> Freeze for BlockRange<Types>

§

impl<Types> RefUnwindSafe for BlockRange<Types>

§

impl<Types> Send for BlockRange<Types>

§

impl<Types> Sync for BlockRange<Types>

§

impl<Types> Unpin for BlockRange<Types>

§

impl<Types> UnwindSafe for BlockRange<Types>

Blanket Implementations§

source§

impl<T> Any for T
where +

Fields§

§target: BlockIdentifier<Types>§num_blocks: NonZeroUsize

Trait Implementations§

source§

impl<Types: Clone + NodeType> Clone for BlockRange<Types>

source§

fn clone(&self) -> BlockRange<Types>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<Types: Debug + NodeType> Debug for BlockRange<Types>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<Types: PartialEq + NodeType> PartialEq for BlockRange<Types>

source§

fn eq(&self, other: &BlockRange<Types>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl<Types: Eq + NodeType> Eq for BlockRange<Types>

source§

impl<Types: NodeType> StructuralPartialEq for BlockRange<Types>

Auto Trait Implementations§

§

impl<Types> Freeze for BlockRange<Types>

§

impl<Types> RefUnwindSafe for BlockRange<Types>

§

impl<Types> Send for BlockRange<Types>

§

impl<Types> Sync for BlockRange<Types>

§

impl<Types> Unpin for BlockRange<Types>

§

impl<Types> UnwindSafe for BlockRange<Types>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where diff --git a/hotshot_query_service/explorer/struct.BlockSummary.html b/hotshot_query_service/explorer/struct.BlockSummary.html index 0d11563b..01b898a4 100644 --- a/hotshot_query_service/explorer/struct.BlockSummary.html +++ b/hotshot_query_service/explorer/struct.BlockSummary.html @@ -1,4 +1,4 @@ -BlockSummary in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Struct BlockSummary

source
pub struct BlockSummary<Types: NodeType>
where +BlockSummary in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Struct BlockSummary

source
pub struct BlockSummary<Types: NodeType>
where Header<Types>: ExplorerHeader<Types>,
{ pub hash: BlockHash<Types>, pub height: u64, @@ -9,21 +9,21 @@ }
Expand description

BlockSummary is a struct that represents a summary overview of a specific block. It does not have all of the details of a BlockDetail, but it is useful for displaying information in a list of Blocks.

-

Fields§

§hash: BlockHash<Types>§height: u64§proposer_id: ProposerId<Types>§num_transactions: u64§size: u64§time: Timestamp

Trait Implementations§

source§

impl<Types: Debug + NodeType> Debug for BlockSummary<Types>
where - Header<Types>: ExplorerHeader<Types>,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de, Types: NodeType> Deserialize<'de> for BlockSummary<Types>
where - Header<Types>: ExplorerHeader<Types>,

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where +

Fields§

§hash: BlockHash<Types>§height: u64§proposer_id: ProposerId<Types>§num_transactions: u64§size: u64§time: Timestamp

Trait Implementations§

source§

impl<Types: Debug + NodeType> Debug for BlockSummary<Types>
where + Header<Types>: ExplorerHeader<Types>,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de, Types: NodeType> Deserialize<'de> for BlockSummary<Types>
where + Header<Types>: ExplorerHeader<Types>,

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<'r, Types> FromRow<'r, <Sqlite as Database>::Row> for BlockSummary<Types>
where Types: NodeType, Header<Types>: QueryableHeader<Types> + ExplorerHeader<Types>, - Payload<Types>: QueryablePayload<Types>,

source§

fn from_row(row: &'r <Db as Database>::Row) -> Result<Self>

source§

impl<Types: PartialEq + NodeType> PartialEq for BlockSummary<Types>
where - Header<Types>: ExplorerHeader<Types>,

source§

fn eq(&self, other: &BlockSummary<Types>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
source§

impl<Types: NodeType> Serialize for BlockSummary<Types>
where - Header<Types>: ExplorerHeader<Types>,

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<Types: NodeType> TryFrom<BlockQueryData<Types>> for BlockSummary<Types>
where + Payload<Types>: QueryablePayload<Types>,

source§

fn from_row(row: &'r <Db as Database>::Row) -> Result<Self>

source§

impl<Types: PartialEq + NodeType> PartialEq for BlockSummary<Types>
where + Header<Types>: ExplorerHeader<Types>,

source§

fn eq(&self, other: &BlockSummary<Types>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
source§

impl<Types: NodeType> Serialize for BlockSummary<Types>
where + Header<Types>: ExplorerHeader<Types>,

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<Types: NodeType> TryFrom<BlockQueryData<Types>> for BlockSummary<Types>
where BlockQueryData<Types>: HeightIndexed, Payload<Types>: QueryablePayload<Types>, - Header<Types>: QueryableHeader<Types> + ExplorerHeader<Types>,

source§

type Error = TimestampConversionError

The type returned in the event of a conversion error.
source§

fn try_from(value: BlockQueryData<Types>) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<Types: Eq + NodeType> Eq for BlockSummary<Types>
where - Header<Types>: ExplorerHeader<Types>,

source§

impl<Types: NodeType> StructuralPartialEq for BlockSummary<Types>
where + Header<Types>: QueryableHeader<Types> + ExplorerHeader<Types>,

source§

type Error = TimestampConversionError

The type returned in the event of a conversion error.
source§

fn try_from(value: BlockQueryData<Types>) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<Types: Eq + NodeType> Eq for BlockSummary<Types>
where + Header<Types>: ExplorerHeader<Types>,

source§

impl<Types: NodeType> StructuralPartialEq for BlockSummary<Types>
where Header<Types>: ExplorerHeader<Types>,

Auto Trait Implementations§

§

impl<Types> Freeze for BlockSummary<Types>
where <Types as NodeType>::BlockHeader: for<'de> Sized, <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Freeze,

§

impl<Types> RefUnwindSafe for BlockSummary<Types>
where diff --git a/hotshot_query_service/explorer/struct.ExplorerHistograms.html b/hotshot_query_service/explorer/struct.ExplorerHistograms.html index 06bb56fa..eece8e69 100644 --- a/hotshot_query_service/explorer/struct.ExplorerHistograms.html +++ b/hotshot_query_service/explorer/struct.ExplorerHistograms.html @@ -1,8 +1,8 @@ -ExplorerHistograms in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Struct ExplorerHistograms

source
pub struct ExplorerHistograms {
-    pub block_time: Vec<Option<u64>>,
-    pub block_size: Vec<Option<u64>>,
-    pub block_transactions: Vec<u64>,
-    pub block_heights: Vec<u64>,
+ExplorerHistograms in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Struct ExplorerHistograms

source
pub struct ExplorerHistograms {
+    pub block_time: VecDeque<Option<u64>>,
+    pub block_size: VecDeque<Option<u64>>,
+    pub block_transactions: VecDeque<u64>,
+    pub block_heights: VecDeque<u64>,
 }
Expand description

ExplorerHistograms provides a series of data points that can be used to draw simple histograms for the Block Explorer. The data returned is meant to be an optimal packing of the values being returned.

@@ -11,8 +11,8 @@ same length. The labels of the graph points is the block_heights vector. The remaining data points are the block_time, block_size, and block_transactions for those block_heights.

-

Fields§

§block_time: Vec<Option<u64>>§block_size: Vec<Option<u64>>§block_transactions: Vec<u64>§block_heights: Vec<u64>

Trait Implementations§

source§

impl Debug for ExplorerHistograms

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for ExplorerHistograms

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for ExplorerHistograms

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where +

Fields§

§block_time: VecDeque<Option<u64>>§block_size: VecDeque<Option<u64>>§block_transactions: VecDeque<u64>§block_heights: VecDeque<u64>

Trait Implementations§

source§

impl Debug for ExplorerHistograms

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for ExplorerHistograms

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for ExplorerHistograms

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, diff --git a/hotshot_query_service/explorer/struct.ExplorerSummary.html b/hotshot_query_service/explorer/struct.ExplorerSummary.html index 824bfe50..af579fc2 100644 --- a/hotshot_query_service/explorer/struct.ExplorerSummary.html +++ b/hotshot_query_service/explorer/struct.ExplorerSummary.html @@ -1,4 +1,4 @@ -ExplorerSummary in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Struct ExplorerSummary

source
pub struct ExplorerSummary<Types: NodeType>
where +ExplorerSummary in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Struct ExplorerSummary

source
pub struct ExplorerSummary<Types: NodeType>
where Header<Types>: ExplorerHeader<Types>, Transaction<Types>: ExplorerTransaction,
{ pub latest_block: BlockDetail<Types>, @@ -13,16 +13,16 @@ most recent transactions, some statistics concerning the total number of elements contained within the chain, and some histograms that can be used to draw graphs for the Block Explorer.

-

Fields§

§latest_block: BlockDetail<Types>§genesis_overview: GenesisOverview§latest_blocks: Vec<BlockSummary<Types>>§latest_transactions: Vec<TransactionSummary<Types>>§histograms: ExplorerHistograms

Trait Implementations§

source§

impl<Types: Debug + NodeType> Debug for ExplorerSummary<Types>
where +

Fields§

§latest_block: BlockDetail<Types>§genesis_overview: GenesisOverview§latest_blocks: Vec<BlockSummary<Types>>§latest_transactions: Vec<TransactionSummary<Types>>§histograms: ExplorerHistograms

Trait Implementations§

source§

impl<Types: Debug + NodeType> Debug for ExplorerSummary<Types>
where Header<Types>: ExplorerHeader<Types>, - Transaction<Types>: ExplorerTransaction,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de, Types: NodeType> Deserialize<'de> for ExplorerSummary<Types>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de, Types: NodeType> Deserialize<'de> for ExplorerSummary<Types>
where Header<Types>: ExplorerHeader<Types>, - Transaction<Types>: ExplorerTransaction,

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<Types: NodeType> From<ExplorerSummary<Types>> for ExplorerSummaryResponse<Types>
where Header<Types>: ExplorerHeader<Types>, - Transaction<Types>: ExplorerTransaction,

source§

fn from(explorer_summary: ExplorerSummary<Types>) -> Self

Converts to this type from the input type.
source§

impl<Types: NodeType> Serialize for ExplorerSummary<Types>

source§

fn from(explorer_summary: ExplorerSummary<Types>) -> Self

Converts to this type from the input type.
source§

impl<Types: NodeType> Serialize for ExplorerSummary<Types>
where Header<Types>: ExplorerHeader<Types>, - Transaction<Types>: ExplorerTransaction,

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl<Types> Freeze for ExplorerSummary<Types>
where <Types as NodeType>::BlockHeader: for<'de> Sized, <<Types as NodeType>::BlockHeader as ExplorerHeader<Types>>::ProposerId: Freeze, diff --git a/hotshot_query_service/explorer/struct.FeeAttribution.html b/hotshot_query_service/explorer/struct.FeeAttribution.html index 61e7a988..9b527a98 100644 --- a/hotshot_query_service/explorer/struct.FeeAttribution.html +++ b/hotshot_query_service/explorer/struct.FeeAttribution.html @@ -1,4 +1,4 @@ -FeeAttribution in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Struct FeeAttribution

source
pub struct FeeAttribution {
+FeeAttribution in hotshot_query_service::explorer - Rust
hotshot_query_service::explorer

Struct FeeAttribution

source
pub struct FeeAttribution {
     pub target: String,
     pub fees: Vec<MonetaryValue>,
 }
Expand description

FeeAttribution represents a specific attribution of fees for a specific @@ -10,10 +10,10 @@

  • DA Layer
  • Ethereum Mainnet
  • -

    Fields§

    §target: String§fees: Vec<MonetaryValue>

    Trait Implementations§

    source§

    impl Debug for FeeAttribution

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for FeeAttribution

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for FeeAttribution

    source§

    fn eq(&self, other: &FeeAttribution) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    source§

    impl Serialize for FeeAttribution

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for FeeAttribution

    source§

    impl StructuralPartialEq for FeeAttribution

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Fields§

    §target: String§fees: Vec<MonetaryValue>

    Trait Implementations§

    source§

    impl Debug for FeeAttribution

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for FeeAttribution

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl PartialEq for FeeAttribution

    source§

    fn eq(&self, other: &FeeAttribution) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    source§

    impl Serialize for FeeAttribution

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for FeeAttribution

    source§

    impl StructuralPartialEq for FeeAttribution

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> ArchivePointee for T

    §

    type ArchivedMetadata = ()

    The archived version of the pointer metadata for this type.
    §

    fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

    Converts some archived metadata to the pointer metadata for itself.
    §

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where diff --git a/hotshot_query_service/explorer/struct.GenesisOverview.html b/hotshot_query_service/explorer/struct.GenesisOverview.html index ccc2a680..eeb138e2 100644 --- a/hotshot_query_service/explorer/struct.GenesisOverview.html +++ b/hotshot_query_service/explorer/struct.GenesisOverview.html @@ -1,12 +1,12 @@ -GenesisOverview in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Struct GenesisOverview

    source
    pub struct GenesisOverview {
    +GenesisOverview in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Struct GenesisOverview

    source
    pub struct GenesisOverview {
         pub rollups: u64,
         pub transactions: u64,
         pub blocks: u64,
     }
    Expand description

    GenesisOverview provides a summary overview of the block chain since it’s genesis. At a high level it includes the total number of unique rollups, transactions, and blocks that are in the block chain.

    -

    Fields§

    §rollups: u64§transactions: u64§blocks: u64

    Trait Implementations§

    source§

    impl Debug for GenesisOverview

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for GenesisOverview

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for GenesisOverview

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where +

    Fields§

    §rollups: u64§transactions: u64§blocks: u64

    Trait Implementations§

    source§

    impl Debug for GenesisOverview

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for GenesisOverview

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for GenesisOverview

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> ArchivePointee for T

    §

    type ArchivedMetadata = ()

    The archived version of the pointer metadata for this type.
    §

    fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, diff --git a/hotshot_query_service/explorer/struct.GetBlockSummariesRequest.html b/hotshot_query_service/explorer/struct.GetBlockSummariesRequest.html index 72452f26..3301dbba 100644 --- a/hotshot_query_service/explorer/struct.GetBlockSummariesRequest.html +++ b/hotshot_query_service/explorer/struct.GetBlockSummariesRequest.html @@ -1,8 +1,8 @@ -GetBlockSummariesRequest in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Struct GetBlockSummariesRequest

    source
    pub struct GetBlockSummariesRequest<Types: NodeType>(pub BlockRange<Types>);
    Expand description

    GetBlockSummariesRequest is a struct that represents an incoming request +GetBlockSummariesRequest in hotshot_query_service::explorer - Rust

    hotshot_query_service::explorer

    Struct GetBlockSummariesRequest

    source
    pub struct GetBlockSummariesRequest<Types: NodeType>(pub BlockRange<Types>);
    Expand description

    GetBlockSummariesRequest is a struct that represents an incoming request for Block Summaries. This isn’t sent on the line, but an endpoint will be mapped to this struct in order for the request to be processed.

    -

    Tuple Fields§

    §0: BlockRange<Types>

    Trait Implementations§

    source§

    impl<Types: Debug + NodeType> Debug for GetBlockSummariesRequest<Types>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<Types: PartialEq + NodeType> PartialEq for GetBlockSummariesRequest<Types>

    source§

    fn eq(&self, other: &GetBlockSummariesRequest<Types>) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    source§

    impl<Types: Eq + NodeType> Eq for GetBlockSummariesRequest<Types>

    source§

    impl<Types: NodeType> StructuralPartialEq for GetBlockSummariesRequest<Types>

    Auto Trait Implementations§

    §

    impl<Types> Freeze for GetBlockSummariesRequest<Types>

    §

    impl<Types> RefUnwindSafe for GetBlockSummariesRequest<Types>

    §

    impl<Types> Send for GetBlockSummariesRequest<Types>

    §

    impl<Types> Sync for GetBlockSummariesRequest<Types>

    §

    impl<Types> Unpin for GetBlockSummariesRequest<Types>

    §

    impl<Types> UnwindSafe for GetBlockSummariesRequest<Types>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Tuple Fields§

    §0: BlockRange<Types>

    Trait Implementations§

    source§

    impl<Types: Debug + NodeType> Debug for GetBlockSummariesRequest<Types>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<Types: PartialEq + NodeType> PartialEq for GetBlockSummariesRequest<Types>

    source§

    fn eq(&self, other: &GetBlockSummariesRequest<Types>) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    source§

    impl<Types: Eq + NodeType> Eq for GetBlockSummariesRequest<Types>

    source§

    impl<Types: NodeType> StructuralPartialEq for GetBlockSummariesRequest<Types>

    Auto Trait Implementations§

    §

    impl<Types> Freeze for GetBlockSummariesRequest<Types>

    §

    impl<Types> RefUnwindSafe for GetBlockSummariesRequest<Types>

    §

    impl<Types> Send for GetBlockSummariesRequest<Types>

    §

    impl<Types> Sync for GetBlockSummariesRequest<Types>

    §

    impl<Types> Unpin for GetBlockSummariesRequest<Types>

    §

    impl<Types> UnwindSafe for GetBlockSummariesRequest<Types>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> ArchivePointee for T

    §

    type ArchivedMetadata = ()

    The archived version of the pointer metadata for this type.
    §

    fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

    Converts some archived metadata to the pointer metadata for itself.
    §

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where diff --git a/hotshot_query_service/explorer/struct.GetTransactionSummariesRequest.html b/hotshot_query_service/explorer/struct.GetTransactionSummariesRequest.html index 6e4a520e..685216ea 100644 --- a/hotshot_query_service/explorer/struct.GetTransactionSummariesRequest.html +++ b/hotshot_query_service/explorer/struct.GetTransactionSummariesRequest.html @@ -1,11 +1,11 @@ -GetTransactionSummariesRequest in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Struct GetTransactionSummariesRequest

    source
    pub struct GetTransactionSummariesRequest<Types: NodeType> {
    +GetTransactionSummariesRequest in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Struct GetTransactionSummariesRequest

    source
    pub struct GetTransactionSummariesRequest<Types: NodeType> {
         pub range: TransactionRange<Types>,
         pub filter: TransactionSummaryFilter,
     }
    Expand description

    GetTransactionSummariesRequest is a struct that represents an incoming request for Transaction Summaries. This isn’t sent on the line, but an endpoint will be mapped to this struct in order for the request to be processed.

    -

    Fields§

    §range: TransactionRange<Types>§filter: TransactionSummaryFilter

    Trait Implementations§

    source§

    impl<Types: Debug + NodeType> Debug for GetTransactionSummariesRequest<Types>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<Types: NodeType> Default for GetTransactionSummariesRequest<Types>

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Fields§

    §range: TransactionRange<Types>§filter: TransactionSummaryFilter

    Trait Implementations§

    source§

    impl<Types: Debug + NodeType> Debug for GetTransactionSummariesRequest<Types>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<Types: NodeType> Default for GetTransactionSummariesRequest<Types>

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> ArchivePointee for T

    §

    type ArchivedMetadata = ()

    The archived version of the pointer metadata for this type.
    §

    fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

    Converts some archived metadata to the pointer metadata for itself.
    §

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where diff --git a/hotshot_query_service/explorer/struct.SearchResult.html b/hotshot_query_service/explorer/struct.SearchResult.html index 314c2928..ff776fd2 100644 --- a/hotshot_query_service/explorer/struct.SearchResult.html +++ b/hotshot_query_service/explorer/struct.SearchResult.html @@ -1,4 +1,4 @@ -SearchResult in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Struct SearchResult

    source
    pub struct SearchResult<Types: NodeType>
    where +SearchResult in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Struct SearchResult

    source
    pub struct SearchResult<Types: NodeType>
    where Header<Types>: ExplorerHeader<Types>, Transaction<Types>: ExplorerTransaction,
    { pub blocks: Vec<BlockSummary<Types>>, @@ -6,16 +6,16 @@ }
    Expand description

    SearchResult is a struct that represents the results of executing a search query against the chain. It contains a list of blocks and transactions that match the search query.

    -

    Fields§

    §blocks: Vec<BlockSummary<Types>>§transactions: Vec<TransactionSummary<Types>>

    Trait Implementations§

    source§

    impl<Types: Debug + NodeType> Debug for SearchResult<Types>
    where +

    Fields§

    §blocks: Vec<BlockSummary<Types>>§transactions: Vec<TransactionSummary<Types>>

    Trait Implementations§

    source§

    impl<Types: Debug + NodeType> Debug for SearchResult<Types>
    where Header<Types>: ExplorerHeader<Types>, - Transaction<Types>: ExplorerTransaction,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de, Types: NodeType> Deserialize<'de> for SearchResult<Types>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de, Types: NodeType> Deserialize<'de> for SearchResult<Types>
    where Header<Types>: ExplorerHeader<Types>, - Transaction<Types>: ExplorerTransaction,

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<Types: NodeType> From<SearchResult<Types>> for SearchResultResponse<Types>
    where Header<Types>: ExplorerHeader<Types>, - Transaction<Types>: ExplorerTransaction,

    source§

    fn from(search_results: SearchResult<Types>) -> Self

    Converts to this type from the input type.
    source§

    impl<Types: NodeType> Serialize for SearchResult<Types>

    source§

    fn from(search_results: SearchResult<Types>) -> Self

    Converts to this type from the input type.
    source§

    impl<Types: NodeType> Serialize for SearchResult<Types>
    where Header<Types>: ExplorerHeader<Types>, - Transaction<Types>: ExplorerTransaction,

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    §

    impl<Types> Freeze for SearchResult<Types>
    where <Types as NodeType>::BlockHeader: for<'de> Sized,

    §

    impl<Types> RefUnwindSafe for SearchResult<Types>
    where <Types as NodeType>::BlockHeader: for<'de> Sized, diff --git a/hotshot_query_service/explorer/struct.Timestamp.html b/hotshot_query_service/explorer/struct.Timestamp.html index c5402df3..71ccc5d7 100644 --- a/hotshot_query_service/explorer/struct.Timestamp.html +++ b/hotshot_query_service/explorer/struct.Timestamp.html @@ -1,14 +1,14 @@ -Timestamp in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Struct Timestamp

    source
    pub struct Timestamp(pub OffsetDateTime);
    Expand description

    Timestamp represents a specific point in time that has a possible +Timestamp in hotshot_query_service::explorer - Rust

    hotshot_query_service::explorer

    Struct Timestamp

    source
    pub struct Timestamp(pub OffsetDateTime);
    Expand description

    Timestamp represents a specific point in time that has a possible offset.

    This specific type is utilized in order to ensure that the timestamp is always serialized in a specific format, specifically as string following the RFC3339 standard.

    -

    Tuple Fields§

    §0: OffsetDateTime

    Trait Implementations§

    source§

    impl Clone for Timestamp

    source§

    fn clone(&self) -> Timestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Timestamp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Timestamp

    source§

    fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>

    deserialize converts a string representation of a RFC3339 formatted +

    Tuple Fields§

    §0: OffsetDateTime

    Trait Implementations§

    source§

    impl Clone for Timestamp

    source§

    fn clone(&self) -> Timestamp

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Timestamp

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Timestamp

    source§

    fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>

    deserialize converts a string representation of a RFC3339 formatted date.

    -
    source§

    impl PartialEq for Timestamp

    source§

    fn eq(&self, other: &Timestamp) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    source§

    impl Serialize for Timestamp

    source§

    fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error>

    serialize converts the timestamp into a string representation of a +

    source§

    impl PartialEq for Timestamp

    source§

    fn eq(&self, other: &Timestamp) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    source§

    impl Serialize for Timestamp

    source§

    fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error>

    serialize converts the timestamp into a string representation of a RFC3339 formatted date.

    -
    source§

    impl Copy for Timestamp

    source§

    impl Eq for Timestamp

    source§

    impl StructuralPartialEq for Timestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    source§

    impl Copy for Timestamp

    source§

    impl Eq for Timestamp

    source§

    impl StructuralPartialEq for Timestamp

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> ArchivePointee for T

    §

    type ArchivedMetadata = ()

    The archived version of the pointer metadata for this type.
    §

    fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

    Converts some archived metadata to the pointer metadata for itself.
    §

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where diff --git a/hotshot_query_service/explorer/struct.TransactionDetail.html b/hotshot_query_service/explorer/struct.TransactionDetail.html index df2247df..be2185d3 100644 --- a/hotshot_query_service/explorer/struct.TransactionDetail.html +++ b/hotshot_query_service/explorer/struct.TransactionDetail.html @@ -1,4 +1,4 @@ -TransactionDetail in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Struct TransactionDetail

    source
    pub struct TransactionDetail<Types: NodeType> {
    +TransactionDetail in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Struct TransactionDetail

    source
    pub struct TransactionDetail<Types: NodeType> {
         pub hash: TransactionHash<Types>,
         pub height: u64,
         pub block_confirmed: bool,
    @@ -10,10 +10,10 @@
         pub fee_details: Vec<FeeAttribution>,
     }
    Expand description

    TransactionDetail is a struct that represents the details of a specific transaction / payload contained within a Block.

    -

    Fields§

    §hash: TransactionHash<Types>§height: u64§block_confirmed: bool§offset: u64§num_transactions: u64§size: u64§time: Timestamp§sequencing_fees: Vec<MonetaryValue>§fee_details: Vec<FeeAttribution>

    Trait Implementations§

    source§

    impl<Types: Debug + NodeType> Debug for TransactionDetail<Types>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de, Types: NodeType> Deserialize<'de> for TransactionDetail<Types>

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<Types: PartialEq + NodeType> PartialEq for TransactionDetail<Types>

    source§

    fn eq(&self, other: &TransactionDetail<Types>) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    source§

    impl<Types: NodeType> Serialize for TransactionDetail<Types>

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<Types: Eq + NodeType> Eq for TransactionDetail<Types>

    source§

    impl<Types: NodeType> StructuralPartialEq for TransactionDetail<Types>

    Auto Trait Implementations§

    §

    impl<Types> Freeze for TransactionDetail<Types>

    §

    impl<Types> RefUnwindSafe for TransactionDetail<Types>

    §

    impl<Types> Send for TransactionDetail<Types>

    §

    impl<Types> Sync for TransactionDetail<Types>

    §

    impl<Types> Unpin for TransactionDetail<Types>

    §

    impl<Types> UnwindSafe for TransactionDetail<Types>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Fields§

    §hash: TransactionHash<Types>§height: u64§block_confirmed: bool§offset: u64§num_transactions: u64§size: u64§time: Timestamp§sequencing_fees: Vec<MonetaryValue>§fee_details: Vec<FeeAttribution>

    Trait Implementations§

    source§

    impl<Types: Debug + NodeType> Debug for TransactionDetail<Types>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de, Types: NodeType> Deserialize<'de> for TransactionDetail<Types>

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<Types: PartialEq + NodeType> PartialEq for TransactionDetail<Types>

    source§

    fn eq(&self, other: &TransactionDetail<Types>) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    source§

    impl<Types: NodeType> Serialize for TransactionDetail<Types>

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<Types: Eq + NodeType> Eq for TransactionDetail<Types>

    source§

    impl<Types: NodeType> StructuralPartialEq for TransactionDetail<Types>

    Auto Trait Implementations§

    §

    impl<Types> Freeze for TransactionDetail<Types>

    §

    impl<Types> RefUnwindSafe for TransactionDetail<Types>

    §

    impl<Types> Send for TransactionDetail<Types>

    §

    impl<Types> Sync for TransactionDetail<Types>

    §

    impl<Types> Unpin for TransactionDetail<Types>

    §

    impl<Types> UnwindSafe for TransactionDetail<Types>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> ArchivePointee for T

    §

    type ArchivedMetadata = ()

    The archived version of the pointer metadata for this type.
    §

    fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

    Converts some archived metadata to the pointer metadata for itself.
    §

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where diff --git a/hotshot_query_service/explorer/struct.TransactionRange.html b/hotshot_query_service/explorer/struct.TransactionRange.html index 235cd5f8..9dd9ca66 100644 --- a/hotshot_query_service/explorer/struct.TransactionRange.html +++ b/hotshot_query_service/explorer/struct.TransactionRange.html @@ -1,12 +1,12 @@ -TransactionRange in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Struct TransactionRange

    source
    pub struct TransactionRange<Types: NodeType> {
    +TransactionRange in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Struct TransactionRange

    source
    pub struct TransactionRange<Types: NodeType> {
         pub target: TransactionIdentifier<Types>,
         pub num_transactions: NonZeroUsize,
     }
    Expand description

    TransactionRange is a struct that represents a range for a specific set of transactions, starting at the given TransactionIdentifier.

    This range is expected to be descending starting at the target and descending toward the first transaction in the Block Chain.

    -

    Fields§

    §target: TransactionIdentifier<Types>§num_transactions: NonZeroUsize

    Trait Implementations§

    source§

    impl<Types: Clone + NodeType> Clone for TransactionRange<Types>

    source§

    fn clone(&self) -> TransactionRange<Types>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<Types: Debug + NodeType> Debug for TransactionRange<Types>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<Types: PartialEq + NodeType> PartialEq for TransactionRange<Types>

    source§

    fn eq(&self, other: &TransactionRange<Types>) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    source§

    impl<Types: Eq + NodeType> Eq for TransactionRange<Types>

    source§

    impl<Types: NodeType> StructuralPartialEq for TransactionRange<Types>

    Auto Trait Implementations§

    §

    impl<Types> Freeze for TransactionRange<Types>

    §

    impl<Types> RefUnwindSafe for TransactionRange<Types>

    §

    impl<Types> Send for TransactionRange<Types>

    §

    impl<Types> Sync for TransactionRange<Types>

    §

    impl<Types> Unpin for TransactionRange<Types>

    §

    impl<Types> UnwindSafe for TransactionRange<Types>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Fields§

    §target: TransactionIdentifier<Types>§num_transactions: NonZeroUsize

    Trait Implementations§

    source§

    impl<Types: Clone + NodeType> Clone for TransactionRange<Types>

    source§

    fn clone(&self) -> TransactionRange<Types>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<Types: Debug + NodeType> Debug for TransactionRange<Types>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<Types: PartialEq + NodeType> PartialEq for TransactionRange<Types>

    source§

    fn eq(&self, other: &TransactionRange<Types>) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    source§

    impl<Types: Eq + NodeType> Eq for TransactionRange<Types>

    source§

    impl<Types: NodeType> StructuralPartialEq for TransactionRange<Types>

    Auto Trait Implementations§

    §

    impl<Types> Freeze for TransactionRange<Types>

    §

    impl<Types> RefUnwindSafe for TransactionRange<Types>

    §

    impl<Types> Send for TransactionRange<Types>

    §

    impl<Types> Sync for TransactionRange<Types>

    §

    impl<Types> Unpin for TransactionRange<Types>

    §

    impl<Types> UnwindSafe for TransactionRange<Types>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> ArchivePointee for T

    §

    type ArchivedMetadata = ()

    The archived version of the pointer metadata for this type.
    §

    fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

    Converts some archived metadata to the pointer metadata for itself.
    §

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where diff --git a/hotshot_query_service/explorer/struct.TransactionSummary.html b/hotshot_query_service/explorer/struct.TransactionSummary.html index b161a678..b20f104d 100644 --- a/hotshot_query_service/explorer/struct.TransactionSummary.html +++ b/hotshot_query_service/explorer/struct.TransactionSummary.html @@ -1,4 +1,4 @@ -TransactionSummary in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Struct TransactionSummary

    source
    pub struct TransactionSummary<Types: NodeType>
    where +TransactionSummary in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Struct TransactionSummary

    source
    pub struct TransactionSummary<Types: NodeType>
    where Header<Types>: ExplorerHeader<Types>, Transaction<Types>: ExplorerTransaction,
    { pub hash: TransactionHash<Types>, @@ -11,26 +11,26 @@ specific transaction / payload contained within a Block. It does not have all of the details of a TransactionDetail, but it is useful for displaying information in a list of Transactions.

    -

    Fields§

    §hash: TransactionHash<Types>§rollups: Vec<TransactionNamespaceId<Types>>§height: u64§offset: u64§num_transactions: u64§time: Timestamp

    Trait Implementations§

    source§

    impl<Types: Debug + NodeType> Debug for TransactionSummary<Types>
    where +

    Fields§

    §hash: TransactionHash<Types>§rollups: Vec<TransactionNamespaceId<Types>>§height: u64§offset: u64§num_transactions: u64§time: Timestamp

    Trait Implementations§

    source§

    impl<Types: Debug + NodeType> Debug for TransactionSummary<Types>
    where Header<Types>: ExplorerHeader<Types>, - Transaction<Types>: ExplorerTransaction,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de, Types: NodeType> Deserialize<'de> for TransactionSummary<Types>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de, Types: NodeType> Deserialize<'de> for TransactionSummary<Types>
    where Header<Types>: ExplorerHeader<Types>, - Transaction<Types>: ExplorerTransaction,

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<Types: PartialEq + NodeType> PartialEq for TransactionSummary<Types>

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl<Types: PartialEq + NodeType> PartialEq for TransactionSummary<Types>
    where Header<Types>: ExplorerHeader<Types>, - Transaction<Types>: ExplorerTransaction,

    source§

    fn eq(&self, other: &TransactionSummary<Types>) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    source§

    impl<Types: NodeType> Serialize for TransactionSummary<Types>

    source§

    fn eq(&self, other: &TransactionSummary<Types>) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    source§

    impl<Types: NodeType> Serialize for TransactionSummary<Types>
    where Header<Types>: ExplorerHeader<Types>, - Transaction<Types>: ExplorerTransaction,

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<Types: NodeType> TryFrom<(&BlockQueryData<Types>, usize, <Types as NodeType>::Transaction)> for TransactionSummary<Types>

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl<Types: NodeType> TryFrom<(&BlockQueryData<Types>, usize, <Types as NodeType>::Transaction)> for TransactionSummary<Types>

    source§

    type Error = TimestampConversionError

    The type returned in the event of a conversion error.
    source§

    fn try_from( + Transaction<Types>: ExplorerTransaction,

    source§

    type Error = TimestampConversionError

    The type returned in the event of a conversion error.
    source§

    fn try_from( (block, offset, transaction): (&BlockQueryData<Types>, usize, <Types as NodeType>::Transaction), -) -> Result<Self, Self::Error>

    Performs the conversion.
    source§

    impl<Types: Eq + NodeType> Eq for TransactionSummary<Types>
    where +) -> Result<Self, Self::Error>

    Performs the conversion.
    source§

    impl<Types: Eq + NodeType> Eq for TransactionSummary<Types>
    where Header<Types>: ExplorerHeader<Types>, - Transaction<Types>: ExplorerTransaction,

    source§

    impl<Types: NodeType> StructuralPartialEq for TransactionSummary<Types>

    source§

    impl<Types: NodeType> StructuralPartialEq for TransactionSummary<Types>
    where Header<Types>: ExplorerHeader<Types>, Transaction<Types>: ExplorerTransaction,

    Auto Trait Implementations§

    §

    impl<Types> Freeze for TransactionSummary<Types>
    where <Types as NodeType>::BlockHeader: for<'de> Sized,

    §

    impl<Types> RefUnwindSafe for TransactionSummary<Types>
    where diff --git a/hotshot_query_service/explorer/trait.ExplorerTransaction.html b/hotshot_query_service/explorer/trait.ExplorerTransaction.html index acc380f8..9145939c 100644 --- a/hotshot_query_service/explorer/trait.ExplorerTransaction.html +++ b/hotshot_query_service/explorer/trait.ExplorerTransaction.html @@ -1,8 +1,9 @@ -ExplorerTransaction in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Trait ExplorerTransaction

    source
    pub trait ExplorerTransaction {
    +ExplorerTransaction in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Trait ExplorerTransaction

    source
    pub trait ExplorerTransaction {
         type NamespaceId: Clone + Debug + Serialize + DeserializeOwned + Send + Sync + PartialEq + Eq;
     
    -    // Required method
    +    // Required methods
         fn namespace_id(&self) -> Self::NamespaceId;
    +    fn payload_size(&self) -> u64;
     }
    Expand description

    ExplorerTransaction is a trait that allows the Explorer API to be able to retrieve a namespace id from a transaction. This is necessary for the Explorer API to be able to display the namespace id for a @@ -10,4 +11,6 @@

    Required Associated Types§

    source

    type NamespaceId: Clone + Debug + Serialize + DeserializeOwned + Send + Sync + PartialEq + Eq

    NamespaceId is a type that represents the id of a namespace. It does not indicate how this namespace id is represented, just that there is a representation of it that adheres to the trait restrictions specified.

    -

    Required Methods§

    source

    fn namespace_id(&self) -> Self::NamespaceId

    Implementors§

    \ No newline at end of file +

    Required Methods§

    source

    fn namespace_id(&self) -> Self::NamespaceId

    namespace_id returns the namespace id of the individual transaction.

    +
    source

    fn payload_size(&self) -> u64

    payload_size returns the size of the payload of the transaction.

    +

    Implementors§

    \ No newline at end of file diff --git a/hotshot_query_service/explorer/type.BalanceAmount.html b/hotshot_query_service/explorer/type.BalanceAmount.html index 9c683d43..374f48ee 100644 --- a/hotshot_query_service/explorer/type.BalanceAmount.html +++ b/hotshot_query_service/explorer/type.BalanceAmount.html @@ -1 +1 @@ -BalanceAmount in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Type Alias BalanceAmount

    source
    pub type BalanceAmount<Types> = <Header<Types> as ExplorerHeader<Types>>::BalanceAmount;
    \ No newline at end of file +BalanceAmount in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Type Alias BalanceAmount

    source
    pub type BalanceAmount<Types> = <Header<Types> as ExplorerHeader<Types>>::BalanceAmount;
    \ No newline at end of file diff --git a/hotshot_query_service/explorer/type.BlockNamespaceId.html b/hotshot_query_service/explorer/type.BlockNamespaceId.html index 1d3f3203..932a1986 100644 --- a/hotshot_query_service/explorer/type.BlockNamespaceId.html +++ b/hotshot_query_service/explorer/type.BlockNamespaceId.html @@ -1 +1 @@ -BlockNamespaceId in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Type Alias BlockNamespaceId

    source
    pub type BlockNamespaceId<Types> = <Header<Types> as ExplorerHeader<Types>>::NamespaceId;
    \ No newline at end of file +BlockNamespaceId in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Type Alias BlockNamespaceId

    source
    pub type BlockNamespaceId<Types> = <Header<Types> as ExplorerHeader<Types>>::NamespaceId;
    \ No newline at end of file diff --git a/hotshot_query_service/explorer/type.ProposerId.html b/hotshot_query_service/explorer/type.ProposerId.html index f5f504af..99fa2b77 100644 --- a/hotshot_query_service/explorer/type.ProposerId.html +++ b/hotshot_query_service/explorer/type.ProposerId.html @@ -1 +1 @@ -ProposerId in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Type Alias ProposerId

    source
    pub type ProposerId<Types> = <Header<Types> as ExplorerHeader<Types>>::ProposerId;
    \ No newline at end of file +ProposerId in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Type Alias ProposerId

    source
    pub type ProposerId<Types> = <Header<Types> as ExplorerHeader<Types>>::ProposerId;
    \ No newline at end of file diff --git a/hotshot_query_service/explorer/type.TransactionNamespaceId.html b/hotshot_query_service/explorer/type.TransactionNamespaceId.html index 5e2009c3..929e76b4 100644 --- a/hotshot_query_service/explorer/type.TransactionNamespaceId.html +++ b/hotshot_query_service/explorer/type.TransactionNamespaceId.html @@ -1 +1 @@ -TransactionNamespaceId in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Type Alias TransactionNamespaceId

    source
    pub type TransactionNamespaceId<Types> = <Transaction<Types> as ExplorerTransaction>::NamespaceId;
    \ No newline at end of file +TransactionNamespaceId in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Type Alias TransactionNamespaceId

    source
    pub type TransactionNamespaceId<Types> = <Transaction<Types> as ExplorerTransaction>::NamespaceId;
    \ No newline at end of file diff --git a/hotshot_query_service/explorer/type.WalletAddress.html b/hotshot_query_service/explorer/type.WalletAddress.html index 1dc131a8..4bf2d9a7 100644 --- a/hotshot_query_service/explorer/type.WalletAddress.html +++ b/hotshot_query_service/explorer/type.WalletAddress.html @@ -1 +1 @@ -WalletAddress in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Type Alias WalletAddress

    source
    pub type WalletAddress<Types> = <Header<Types> as ExplorerHeader<Types>>::WalletAddress;
    \ No newline at end of file +WalletAddress in hotshot_query_service::explorer - Rust
    hotshot_query_service::explorer

    Type Alias WalletAddress

    source
    pub type WalletAddress<Types> = <Header<Types> as ExplorerHeader<Types>>::WalletAddress;
    \ No newline at end of file diff --git a/hotshot_query_service/merklized_state/trait.MerklizedState.html b/hotshot_query_service/merklized_state/trait.MerklizedState.html index 0e5a6f1e..01530b0e 100644 --- a/hotshot_query_service/merklized_state/trait.MerklizedState.html +++ b/hotshot_query_service/merklized_state/trait.MerklizedState.html @@ -31,4 +31,4 @@ key: Self::Key, proof: &MerkleProof<Self::Entry, Self::Key, Self::T, ARITY>, ) -> Result<()>

    Insert a forgotten path into the tree.

    -

    Object Safety§

    This trait is not object safe.

    Implementors§

    source§

    impl MerklizedState<MockTypes, 8> for MockMerkleTree

    source§

    type Key = usize

    source§

    type Entry = usize

    source§

    type T = Sha3Node

    source§

    type Commit = <UniversalMerkleTree<usize, Sha3Digest, usize, 8, Sha3Node> as MerkleTreeScheme>::Commitment

    source§

    type Digest = Sha3Digest

    \ No newline at end of file +

    Object Safety§

    This trait is not object safe.

    Implementors§

    source§

    impl MerklizedState<MockTypes, 8> for MockMerkleTree

    source§

    type Key = usize

    source§

    type Entry = usize

    source§

    type T = Sha3Node

    source§

    type Commit = <UniversalMerkleTree<usize, Sha3Digest, usize, 8, Sha3Node> as MerkleTreeScheme>::Commitment

    source§

    type Digest = Sha3Digest

    \ No newline at end of file diff --git a/hotshot_query_service/struct.ApiState.html b/hotshot_query_service/struct.ApiState.html index 48bccd8e..1703b301 100644 --- a/hotshot_query_service/struct.ApiState.html +++ b/hotshot_query_service/struct.ApiState.html @@ -1,11 +1,11 @@ -ApiState in hotshot_query_service - Rust
    hotshot_query_service

    Struct ApiState

    source
    pub struct ApiState<D>(/* private fields */);
    Expand description

    Read-only wrapper for API state which does not require locking.

    -

    Trait Implementations§

    source§

    impl<D: Clone> Clone for ApiState<D>

    source§

    fn clone(&self) -> ApiState<D>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<D: Debug> Debug for ApiState<D>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D> Deref for ApiState<D>

    source§

    type Target = Arc<D>

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl<D> From<ApiState<D>> for Arc<D>

    source§

    fn from(original: ApiState<D>) -> Self

    Converts to this type from the input type.
    source§

    impl<D> From<Arc<D>> for ApiState<D>

    source§

    fn from(original: Arc<D>) -> ApiState<D>

    Converts to this type from the input type.
    source§

    impl<D> From<D> for ApiState<D>

    source§

    fn from(d: D) -> Self

    Converts to this type from the input type.
    source§

    impl<D: 'static + Send + Sync> ReadState for ApiState<D>

    source§

    type State = D

    The type of state which this type allows a caller to read.
    source§

    fn read<'life0, 'async_trait, T>( +ApiState in hotshot_query_service - Rust
    hotshot_query_service

    Struct ApiState

    source
    pub struct ApiState<D>(/* private fields */);
    Expand description

    Read-only wrapper for API state which does not require locking.

    +

    Trait Implementations§

    source§

    impl<D: Clone> Clone for ApiState<D>

    source§

    fn clone(&self) -> ApiState<D>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<D: Debug> Debug for ApiState<D>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<D> From<ApiState<D>> for Arc<D>

    source§

    fn from(original: ApiState<D>) -> Self

    Converts to this type from the input type.
    source§

    impl<D> From<Arc<D>> for ApiState<D>

    source§

    fn from(original: Arc<D>) -> ApiState<D>

    Converts to this type from the input type.
    source§

    impl<D> From<D> for ApiState<D>

    source§

    fn from(d: D) -> Self

    Converts to this type from the input type.
    source§

    impl<D: 'static + Send + Sync> ReadState for ApiState<D>

    source§

    type State = D

    The type of state which this type allows a caller to read.
    source§

    fn read<'life0, 'async_trait, T>( &'life0 self, op: impl 'async_trait + Send + for<'a> FnOnce(&'a Self::State) -> BoxFuture<'a, T>, ) -> Pin<Box<dyn Future<Output = T> + Send + 'async_trait>>
    where T: 'async_trait, Self: 'async_trait, - 'life0: 'async_trait,

    Do an operation with immutable access to the state. Read more

    Auto Trait Implementations§

    §

    impl<D> Freeze for ApiState<D>

    §

    impl<D> RefUnwindSafe for ApiState<D>
    where + 'life0: 'async_trait,

    Do an operation with immutable access to the state. Read more
    source§

    impl<D> Deref for ApiState<D>

    source§

    type Target = Arc<D>

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.

    Auto Trait Implementations§

    §

    impl<D> Freeze for ApiState<D>

    §

    impl<D> RefUnwindSafe for ApiState<D>
    where D: RefUnwindSafe,

    §

    impl<D> Send for ApiState<D>
    where D: Sync + Send,

    §

    impl<D> Sync for ApiState<D>
    where D: Sync + Send,

    §

    impl<D> Unpin for ApiState<D>

    §

    impl<D> UnwindSafe for ApiState<D>
    where diff --git a/hotshot_query_service/testing/mocks/index.html b/hotshot_query_service/testing/mocks/index.html index 4c974c20..b28fa557 100644 --- a/hotshot_query_service/testing/mocks/index.html +++ b/hotshot_query_service/testing/mocks/index.html @@ -1 +1 @@ -hotshot_query_service::testing::mocks - Rust
    \ No newline at end of file +hotshot_query_service::testing::mocks - Rust
    \ No newline at end of file diff --git a/hotshot_query_service/testing/mocks/struct.MockNodeImpl.html b/hotshot_query_service/testing/mocks/struct.MockNodeImpl.html index 406e718c..4bbd25f5 100644 --- a/hotshot_query_service/testing/mocks/struct.MockNodeImpl.html +++ b/hotshot_query_service/testing/mocks/struct.MockNodeImpl.html @@ -1,15 +1,15 @@ -MockNodeImpl in hotshot_query_service::testing::mocks - Rust
    hotshot_query_service::testing::mocks

    Struct MockNodeImpl

    source
    pub struct MockNodeImpl;

    Trait Implementations§

    source§

    impl Clone for MockNodeImpl

    source§

    fn clone(&self) -> MockNodeImpl

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MockNodeImpl

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for MockNodeImpl

    source§

    fn default() -> MockNodeImpl

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for MockNodeImpl

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Hash for MockNodeImpl

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where +MockNodeImpl in hotshot_query_service::testing::mocks - Rust
    hotshot_query_service::testing::mocks

    Struct MockNodeImpl

    source
    pub struct MockNodeImpl;

    Trait Implementations§

    source§

    impl Clone for MockNodeImpl

    source§

    fn clone(&self) -> MockNodeImpl

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MockNodeImpl

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for MockNodeImpl

    source§

    fn default() -> MockNodeImpl

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for MockNodeImpl

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Hash for MockNodeImpl

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl NodeImplementation<MockTypes> for MockNodeImpl

    source§

    type Network = MemoryNetwork<VerKey>

    The underlying network type
    source§

    type Storage = TestStorage<MockTypes>

    Storage for DA layer interactions
    source§

    type AuctionResultsProvider = TestAuctionResultsProvider<MockTypes>

    The auction results type for Solver interactions
    source§

    impl Ord for MockNodeImpl

    source§

    fn cmp(&self, other: &MockNodeImpl) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl NodeImplementation<MockTypes> for MockNodeImpl

    source§

    type Network = MemoryNetwork<VerKey>

    The underlying network type
    source§

    type Storage = TestStorage<MockTypes>

    Storage for DA layer interactions
    source§

    type AuctionResultsProvider = TestAuctionResultsProvider<MockTypes>

    The auction results type for Solver interactions
    source§

    impl Ord for MockNodeImpl

    source§

    fn cmp(&self, other: &MockNodeImpl) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where - Self: Sized,

    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq for MockNodeImpl

    source§

    fn eq(&self, other: &MockNodeImpl) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    source§

    impl PartialOrd for MockNodeImpl

    source§

    fn partial_cmp(&self, other: &MockNodeImpl) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    Tests less than or equal to (for self and other) and is used by the + Self: Sized,

    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq for MockNodeImpl

    source§

    fn eq(&self, other: &MockNodeImpl) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    source§

    impl PartialOrd for MockNodeImpl

    source§

    fn partial_cmp(&self, other: &MockNodeImpl) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    Tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    Tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
    source§

    impl Serialize for MockNodeImpl

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Copy for MockNodeImpl

    source§

    impl Eq for MockNodeImpl

    source§

    impl StructuralPartialEq for MockNodeImpl

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +the >= operator. Read more

    source§

    impl Serialize for MockNodeImpl

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Copy for MockNodeImpl

    source§

    impl Eq for MockNodeImpl

    source§

    impl StructuralPartialEq for MockNodeImpl

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> ArchivePointee for T

    §

    type ArchivedMetadata = ()

    The archived version of the pointer metadata for this type.
    §

    fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

    Converts some archived metadata to the pointer metadata for itself.
    §

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where diff --git a/hotshot_query_service/testing/mocks/struct.MockTypes.html b/hotshot_query_service/testing/mocks/struct.MockTypes.html index 6af2c571..df76352e 100644 --- a/hotshot_query_service/testing/mocks/struct.MockTypes.html +++ b/hotshot_query_service/testing/mocks/struct.MockTypes.html @@ -1,4 +1,4 @@ -MockTypes in hotshot_query_service::testing::mocks - Rust
    hotshot_query_service::testing::mocks

    Struct MockTypes

    source
    pub struct MockTypes;

    Trait Implementations§

    source§

    impl Clone for MockTypes

    source§

    fn clone(&self) -> MockTypes

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MockTypes

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for MockTypes

    source§

    fn default() -> MockTypes

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for MockTypes

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where +MockTypes in hotshot_query_service::testing::mocks - Rust
    hotshot_query_service::testing::mocks

    Struct MockTypes

    source
    pub struct MockTypes;

    Trait Implementations§

    source§

    impl Clone for MockTypes

    source§

    fn clone(&self) -> MockTypes

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MockTypes

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for MockTypes

    source§

    fn default() -> MockTypes

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for MockTypes

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl ExplorerHeader<MockTypes> for MockHeader

    source§

    type BalanceAmount = i128

    BalanceAmount is a type that represents a general balance amount. It does not indicate how this balance is represented, just that there is a representation of it that adheres to the trait restrictions specified.
    source§

    type WalletAddress = [u8; 32]

    WalletAddress is a type that represents the address of a Wallet. It @@ -8,23 +8,23 @@ a representation of it that adheres to the trait restrictions specified.
    source§

    type NamespaceId = u64

    NamespaceId is a type that represents the id of a namespace. It does not indicate how this namespace id is represented, just that there is a representation of it that adheres to the trait restrictions specified.
    source§

    fn proposer_id(&self) -> Self::ProposerId

    The proposer id of the block as stored within the block header.
    source§

    fn fee_info_account(&self) -> Self::WalletAddress

    The wallet address of the fee info account contained within the block -header.
    source§

    fn fee_info_balance(&self) -> Self::BalanceAmount

    The balance amount of the fee info contained within the block header.
    source§

    fn reward_balance(&self) -> Self::BalanceAmount

    The balance amount of the reward for constructing the block.
    source§

    fn namespace_ids(&self) -> Vec<Self::NamespaceId>

    A collection of namespace ids that are contained within the block header.
    source§

    impl Hash for MockTypes

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where +header.

    source§

    fn fee_info_balance(&self) -> Self::BalanceAmount

    The balance amount of the fee info contained within the block header.
    source§

    fn reward_balance(&self) -> Self::BalanceAmount

    The balance amount of the reward for constructing the block.
    source§

    fn namespace_ids(&self) -> Vec<Self::NamespaceId>

    A collection of namespace ids that are contained within the block header.
    source§

    impl Hash for MockTypes

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, - Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl MerklizedState<MockTypes, 8> for MockMerkleTree

    source§

    type Key = usize

    source§

    type Entry = usize

    source§

    type T = Sha3Node

    source§

    type Commit = <UniversalMerkleTree<usize, Sha3Digest, usize, 8, Sha3Node> as MerkleTreeScheme>::Commitment

    source§

    type Digest = Sha3Digest

    source§

    fn state_type() -> &'static str

    Retrieves the name of the state being queried.
    source§

    fn header_state_commitment_field() -> &'static str

    Retrieves the field in the header containing the Merkle tree commitment -for the state implementing this trait.
    source§

    fn tree_height() -> usize

    Get the height of the tree
    source§

    fn insert_path( + Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl MerklizedState<MockTypes, 8> for MockMerkleTree

    source§

    type Key = usize

    source§

    type Entry = usize

    source§

    type T = Sha3Node

    source§

    type Commit = <UniversalMerkleTree<usize, Sha3Digest, usize, 8, Sha3Node> as MerkleTreeScheme>::Commitment

    source§

    type Digest = Sha3Digest

    source§

    fn state_type() -> &'static str

    Retrieves the name of the state being queried.
    source§

    fn header_state_commitment_field() -> &'static str

    Retrieves the field in the header containing the Merkle tree commitment +for the state implementing this trait.
    source§

    fn tree_height() -> usize

    Get the height of the tree
    source§

    fn insert_path( &mut self, key: Self::Key, proof: &MerkleProof<Self::Entry, Self::Key, Self::T, 8>, -) -> Result<()>

    Insert a forgotten path into the tree.
    source§

    impl NodeImplementation<MockTypes> for MockNodeImpl

    source§

    type Network = MemoryNetwork<VerKey>

    The underlying network type
    source§

    type Storage = TestStorage<MockTypes>

    Storage for DA layer interactions
    source§

    type AuctionResultsProvider = TestAuctionResultsProvider<MockTypes>

    The auction results type for Solver interactions
    source§

    impl NodeType for MockTypes

    source§

    type View = ViewNumber

    The time type that this hotshot setup is using. Read more
    source§

    type Epoch = ViewNumber

    Same as above but for epoch.
    source§

    type BlockHeader = TestBlockHeader

    The block header type that this hotshot setup is using.
    source§

    type BlockPayload = TestBlockPayload

    The block type that this hotshot setup is using. Read more
    source§

    type SignatureKey = VerKey

    The signature key that this hotshot setup is using.
    source§

    type Transaction = TestTransaction

    The transaction type that this hotshot setup is using. Read more
    source§

    type InstanceState = TestInstanceState

    The instance-level state type that this hotshot setup is using.
    source§

    type ValidatedState = TestValidatedState

    The validated state type that this hotshot setup is using.
    source§

    type Membership = StaticCommittee<MockTypes>

    Membership used for this implementation
    source§

    type BuilderSignatureKey = VerKey

    The type builder uses to sign its messages
    source§

    type AuctionResult = TestAuctionResult

    The AuctionSolverResult is a type that holds the data associated with a particular solver -run, for a particular view.
    source§

    impl Ord for MockTypes

    source§

    fn cmp(&self, other: &MockTypes) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where +) -> Result<()>

    Insert a forgotten path into the tree.
    source§

    impl NodeImplementation<MockTypes> for MockNodeImpl

    source§

    type Network = MemoryNetwork<VerKey>

    The underlying network type
    source§

    type Storage = TestStorage<MockTypes>

    Storage for DA layer interactions
    source§

    type AuctionResultsProvider = TestAuctionResultsProvider<MockTypes>

    The auction results type for Solver interactions
    source§

    impl NodeType for MockTypes

    source§

    type View = ViewNumber

    The time type that this hotshot setup is using. Read more
    source§

    type Epoch = ViewNumber

    Same as above but for epoch.
    source§

    type BlockHeader = TestBlockHeader

    The block header type that this hotshot setup is using.
    source§

    type BlockPayload = TestBlockPayload

    The block type that this hotshot setup is using. Read more
    source§

    type SignatureKey = VerKey

    The signature key that this hotshot setup is using.
    source§

    type Transaction = TestTransaction

    The transaction type that this hotshot setup is using. Read more
    source§

    type InstanceState = TestInstanceState

    The instance-level state type that this hotshot setup is using.
    source§

    type ValidatedState = TestValidatedState

    The validated state type that this hotshot setup is using.
    source§

    type Membership = StaticCommittee<MockTypes>

    Membership used for this implementation
    source§

    type BuilderSignatureKey = VerKey

    The type builder uses to sign its messages
    source§

    type AuctionResult = TestAuctionResult

    The AuctionSolverResult is a type that holds the data associated with a particular solver +run, for a particular view.
    source§

    impl Ord for MockTypes

    source§

    fn cmp(&self, other: &MockTypes) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where - Self: Sized,

    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq for MockTypes

    source§

    fn eq(&self, other: &MockTypes) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, -and should not be overridden without very good reason.
    source§

    impl PartialOrd for MockTypes

    source§

    fn partial_cmp(&self, other: &MockTypes) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    Tests less than or equal to (for self and other) and is used by the + Self: Sized,

    Restrict a value to a certain interval. Read more

    source§

    impl PartialEq for MockTypes

    source§

    fn eq(&self, other: &MockTypes) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    source§

    impl PartialOrd for MockTypes

    source§

    fn partial_cmp(&self, other: &MockTypes) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    Tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    Tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
    source§

    impl QueryableHeader<MockTypes> for MockHeader

    source§

    fn timestamp(&self) -> u64

    source§

    impl Serialize for MockTypes

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Copy for MockTypes

    source§

    impl Eq for MockTypes

    source§

    impl StructuralPartialEq for MockTypes

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +the >= operator. Read more

    source§

    impl QueryableHeader<MockTypes> for MockHeader

    source§

    fn timestamp(&self) -> u64

    source§

    impl Serialize for MockTypes

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Copy for MockTypes

    source§

    impl Eq for MockTypes

    source§

    impl StructuralPartialEq for MockTypes

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> ArchivePointee for T

    §

    type ArchivedMetadata = ()

    The archived version of the pointer metadata for this type.
    §

    fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

    Converts some archived metadata to the pointer metadata for itself.
    §

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where diff --git a/hotshot_query_service/testing/mocks/struct.MockVersions.html b/hotshot_query_service/testing/mocks/struct.MockVersions.html index 3ab5bfb9..f8ea3ec3 100644 --- a/hotshot_query_service/testing/mocks/struct.MockVersions.html +++ b/hotshot_query_service/testing/mocks/struct.MockVersions.html @@ -1,4 +1,4 @@ -MockVersions in hotshot_query_service::testing::mocks - Rust
    hotshot_query_service::testing::mocks

    Struct MockVersions

    source
    pub struct MockVersions {}

    Trait Implementations§

    source§

    impl Clone for MockVersions

    source§

    fn clone(&self) -> MockVersions

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MockVersions

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Versions for MockVersions

    source§

    const UPGRADE_HASH: [u8; 32] = _

    The hash for the upgrade.
    source§

    type Base = StaticVersion<0, 1>

    The base version of HotShot this node is instantiated with.
    source§

    type Upgrade = StaticVersion<0, 2>

    The version of HotShot this node may be upgraded to. Set equal to Base to disable upgrades.
    source§

    type Marketplace = StaticVersion<0, 3>

    The version at which to switch over to marketplace logic
    source§

    type Epochs = StaticVersion<0, 4>

    The version at which to switch over to epochs logic
    source§

    impl Copy for MockVersions

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +MockVersions in hotshot_query_service::testing::mocks - Rust
    hotshot_query_service::testing::mocks

    Struct MockVersions

    source
    pub struct MockVersions {}

    Trait Implementations§

    source§

    impl Clone for MockVersions

    source§

    fn clone(&self) -> MockVersions

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MockVersions

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Versions for MockVersions

    source§

    const UPGRADE_HASH: [u8; 32] = _

    The hash for the upgrade.
    source§

    type Base = StaticVersion<0, 1>

    The base version of HotShot this node is instantiated with.
    source§

    type Upgrade = StaticVersion<0, 2>

    The version of HotShot this node may be upgraded to. Set equal to Base to disable upgrades.
    source§

    type Marketplace = StaticVersion<0, 3>

    The version at which to switch over to marketplace logic
    source§

    type Epochs = StaticVersion<0, 4>

    The version at which to switch over to epochs logic
    source§

    impl Copy for MockVersions

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    §

    impl<T> ArchivePointee for T

    §

    type ArchivedMetadata = ()

    The archived version of the pointer metadata for this type.
    §

    fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

    Converts some archived metadata to the pointer metadata for itself.
    §

    impl<'a, T, E> AsTaggedExplicit<'a, E> for T
    where diff --git a/hotshot_query_service/testing/mocks/type.MockBase.html b/hotshot_query_service/testing/mocks/type.MockBase.html index d01fbe83..4e9a2924 100644 --- a/hotshot_query_service/testing/mocks/type.MockBase.html +++ b/hotshot_query_service/testing/mocks/type.MockBase.html @@ -1,2 +1,2 @@ -MockBase in hotshot_query_service::testing::mocks - Rust
    hotshot_query_service::testing::mocks

    Type Alias MockBase

    source
    pub type MockBase = <MockVersions as Versions>::Base;
    Expand description

    A type alias for the mock base version

    +MockBase in hotshot_query_service::testing::mocks - Rust
    hotshot_query_service::testing::mocks

    Type Alias MockBase

    source
    pub type MockBase = <MockVersions as Versions>::Base;
    Expand description

    A type alias for the mock base version

    \ No newline at end of file diff --git a/hotshot_query_service/testing/mocks/type.MockHeader.html b/hotshot_query_service/testing/mocks/type.MockHeader.html index 9db93e3b..c2741e22 100644 --- a/hotshot_query_service/testing/mocks/type.MockHeader.html +++ b/hotshot_query_service/testing/mocks/type.MockHeader.html @@ -20,4 +20,4 @@ a representation of it that adheres to the trait restrictions specified.
    source§

    type NamespaceId = u64

    NamespaceId is a type that represents the id of a namespace. It does not indicate how this namespace id is represented, just that there is a representation of it that adheres to the trait restrictions specified.
    source§

    fn proposer_id(&self) -> Self::ProposerId

    The proposer id of the block as stored within the block header.
    source§

    fn fee_info_account(&self) -> Self::WalletAddress

    The wallet address of the fee info account contained within the block -header.
    source§

    fn fee_info_balance(&self) -> Self::BalanceAmount

    The balance amount of the fee info contained within the block header.
    source§

    fn reward_balance(&self) -> Self::BalanceAmount

    The balance amount of the reward for constructing the block.
    source§

    fn namespace_ids(&self) -> Vec<Self::NamespaceId>

    A collection of namespace ids that are contained within the block header.

    source§

    impl HeightIndexed for MockHeader

    source§

    fn height(&self) -> u64

    source§

    impl QueryableHeader<MockTypes> for MockHeader

    source§

    fn timestamp(&self) -> u64

    \ No newline at end of file +header.

    source§

    fn fee_info_balance(&self) -> Self::BalanceAmount

    The balance amount of the fee info contained within the block header.
    source§

    fn reward_balance(&self) -> Self::BalanceAmount

    The balance amount of the reward for constructing the block.
    source§

    fn namespace_ids(&self) -> Vec<Self::NamespaceId>

    A collection of namespace ids that are contained within the block header.

    source§

    impl HeightIndexed for MockHeader

    source§

    fn height(&self) -> u64

    source§

    impl QueryableHeader<MockTypes> for MockHeader

    source§

    fn timestamp(&self) -> u64

    \ No newline at end of file diff --git a/hotshot_query_service/testing/mocks/type.MockMembership.html b/hotshot_query_service/testing/mocks/type.MockMembership.html index b6152a3f..82206b71 100644 --- a/hotshot_query_service/testing/mocks/type.MockMembership.html +++ b/hotshot_query_service/testing/mocks/type.MockMembership.html @@ -1 +1 @@ -MockMembership in hotshot_query_service::testing::mocks - Rust
    hotshot_query_service::testing::mocks

    Type Alias MockMembership

    source
    pub type MockMembership = StaticCommittee<MockTypes>;

    Aliased Type§

    struct MockMembership { /* private fields */ }
    \ No newline at end of file +MockMembership in hotshot_query_service::testing::mocks - Rust
    hotshot_query_service::testing::mocks

    Type Alias MockMembership

    source
    pub type MockMembership = StaticCommittee<MockTypes>;

    Aliased Type§

    struct MockMembership { /* private fields */ }
    \ No newline at end of file diff --git a/hotshot_query_service/testing/mocks/type.MockMerkleTree.html b/hotshot_query_service/testing/mocks/type.MockMerkleTree.html index 1b23200d..23e8a66c 100644 --- a/hotshot_query_service/testing/mocks/type.MockMerkleTree.html +++ b/hotshot_query_service/testing/mocks/type.MockMerkleTree.html @@ -1,5 +1,5 @@ -MockMerkleTree in hotshot_query_service::testing::mocks - Rust
    hotshot_query_service::testing::mocks

    Type Alias MockMerkleTree

    source
    pub type MockMerkleTree = UniversalMerkleTree<usize, Sha3Digest, usize, 8, Sha3Node>;

    Aliased Type§

    struct MockMerkleTree { /* private fields */ }

    Trait Implementations§

    source§

    impl MerklizedState<MockTypes, 8> for MockMerkleTree

    source§

    type Key = usize

    source§

    type Entry = usize

    source§

    type T = Sha3Node

    source§

    type Commit = <UniversalMerkleTree<usize, Sha3Digest, usize, 8, Sha3Node> as MerkleTreeScheme>::Commitment

    source§

    type Digest = Sha3Digest

    source§

    fn state_type() -> &'static str

    Retrieves the name of the state being queried.
    source§

    fn header_state_commitment_field() -> &'static str

    Retrieves the field in the header containing the Merkle tree commitment -for the state implementing this trait.
    source§

    fn tree_height() -> usize

    Get the height of the tree
    source§

    fn insert_path( +MockMerkleTree in hotshot_query_service::testing::mocks - Rust
    hotshot_query_service::testing::mocks

    Type Alias MockMerkleTree

    source
    pub type MockMerkleTree = UniversalMerkleTree<usize, Sha3Digest, usize, 8, Sha3Node>;

    Aliased Type§

    struct MockMerkleTree { /* private fields */ }

    Trait Implementations§

    source§

    impl MerklizedState<MockTypes, 8> for MockMerkleTree

    source§

    type Key = usize

    source§

    type Entry = usize

    source§

    type T = Sha3Node

    source§

    type Commit = <UniversalMerkleTree<usize, Sha3Digest, usize, 8, Sha3Node> as MerkleTreeScheme>::Commitment

    source§

    type Digest = Sha3Digest

    source§

    fn state_type() -> &'static str

    Retrieves the name of the state being queried.
    source§

    fn header_state_commitment_field() -> &'static str

    Retrieves the field in the header containing the Merkle tree commitment +for the state implementing this trait.
    source§

    fn tree_height() -> usize

    Get the height of the tree
    source§

    fn insert_path( &mut self, key: Self::Key, proof: &MerkleProof<Self::Entry, Self::Key, Self::T, 8>, diff --git a/hotshot_query_service/testing/mocks/type.MockNetwork.html b/hotshot_query_service/testing/mocks/type.MockNetwork.html index a2214d74..f00c04ec 100644 --- a/hotshot_query_service/testing/mocks/type.MockNetwork.html +++ b/hotshot_query_service/testing/mocks/type.MockNetwork.html @@ -1 +1 @@ -MockNetwork in hotshot_query_service::testing::mocks - Rust
    hotshot_query_service::testing::mocks

    Type Alias MockNetwork

    source
    pub type MockNetwork = MemoryNetwork<BLSPubKey>;

    Aliased Type§

    struct MockNetwork { /* private fields */ }
    \ No newline at end of file +MockNetwork in hotshot_query_service::testing::mocks - Rust
    hotshot_query_service::testing::mocks

    Type Alias MockNetwork

    source
    pub type MockNetwork = MemoryNetwork<BLSPubKey>;

    Aliased Type§

    struct MockNetwork { /* private fields */ }
    \ No newline at end of file diff --git a/hotshot_query_service/testing/mocks/type.MockPayload.html b/hotshot_query_service/testing/mocks/type.MockPayload.html index 444c714d..26ba82f0 100644 --- a/hotshot_query_service/testing/mocks/type.MockPayload.html +++ b/hotshot_query_service/testing/mocks/type.MockPayload.html @@ -1,7 +1,7 @@ MockPayload in hotshot_query_service::testing::mocks - Rust
    hotshot_query_service::testing::mocks

    Type Alias MockPayload

    source
    pub type MockPayload = TestBlockPayload;

    Aliased Type§

    struct MockPayload {
         pub transactions: Vec<TestTransaction>,
     }

    Fields§

    §transactions: Vec<TestTransaction>

    List of transactions.

    -

    Trait Implementations§

    source§

    impl<Types: NodeType> QueryablePayload<Types> for MockPayload

    source§

    type TransactionIndex = usize

    An index which can be used to efficiently retrieve a transaction for the block. Read more
    source§

    type Iter<'a> = Range<usize>

    Enumerate the transactions in this block.
    source§

    type InclusionProof = ()

    A proof that a certain transaction exists in the block. Read more
    source§

    fn len(&self, _meta: &Self::Metadata) -> usize

    The number of transactions in the block.
    source§

    fn iter(&self, meta: &Self::Metadata) -> Self::Iter<'_>

    List the transaction indices in the block.
    source§

    fn transaction_with_proof( +

    Trait Implementations§

    source§

    impl<Types: NodeType> QueryablePayload<Types> for MockPayload

    source§

    type TransactionIndex = usize

    An index which can be used to efficiently retrieve a transaction for the block. Read more
    source§

    type Iter<'a> = Range<usize>

    Enumerate the transactions in this block.
    source§

    type InclusionProof = ()

    A proof that a certain transaction exists in the block. Read more
    source§

    fn len(&self, _meta: &Self::Metadata) -> usize

    The number of transactions in the block.
    source§

    fn iter(&self, meta: &Self::Metadata) -> Self::Iter<'_>

    List the transaction indices in the block.
    source§

    fn transaction_with_proof( &self, _meta: &Self::Metadata, index: &Self::TransactionIndex, diff --git a/hotshot_query_service/testing/mocks/type.MockQuorumProposal.html b/hotshot_query_service/testing/mocks/type.MockQuorumProposal.html index 7e023fee..3926c40a 100644 --- a/hotshot_query_service/testing/mocks/type.MockQuorumProposal.html +++ b/hotshot_query_service/testing/mocks/type.MockQuorumProposal.html @@ -1,4 +1,4 @@ -MockQuorumProposal in hotshot_query_service::testing::mocks - Rust
    hotshot_query_service::testing::mocks

    Type Alias MockQuorumProposal

    source
    pub type MockQuorumProposal = QuorumProposal<MockTypes>;

    Aliased Type§

    struct MockQuorumProposal {
    +MockQuorumProposal in hotshot_query_service::testing::mocks - Rust
    hotshot_query_service::testing::mocks

    Type Alias MockQuorumProposal

    source
    pub type MockQuorumProposal = QuorumProposal<MockTypes>;

    Aliased Type§

    struct MockQuorumProposal {
         pub block_header: TestBlockHeader,
         pub view_number: ViewNumber,
         pub justify_qc: SimpleCertificate<MockTypes, QuorumData<MockTypes>, SuccessThreshold>,
    diff --git a/hotshot_query_service/testing/mocks/type.MockStorage.html b/hotshot_query_service/testing/mocks/type.MockStorage.html
    index 6def449f..b94eccfd 100644
    --- a/hotshot_query_service/testing/mocks/type.MockStorage.html
    +++ b/hotshot_query_service/testing/mocks/type.MockStorage.html
    @@ -1,4 +1,4 @@
    -MockStorage in hotshot_query_service::testing::mocks - Rust
    hotshot_query_service::testing::mocks

    Type Alias MockStorage

    source
    pub type MockStorage = TestStorage<MockTypes>;

    Aliased Type§

    struct MockStorage {
    +MockStorage in hotshot_query_service::testing::mocks - Rust
    hotshot_query_service::testing::mocks

    Type Alias MockStorage

    source
    pub type MockStorage = TestStorage<MockTypes>;

    Aliased Type§

    struct MockStorage {
         pub should_return_err: bool,
         pub delay_config: DelayConfig,
         pub decided_upgrade_certificate: Arc<RwLock<Option<SimpleCertificate<MockTypes, UpgradeProposalData<MockTypes>, UpgradeThreshold>>>>,
    diff --git a/hotshot_query_service/testing/mocks/type.MockTransaction.html b/hotshot_query_service/testing/mocks/type.MockTransaction.html
    index 2c74184b..f10802ca 100644
    --- a/hotshot_query_service/testing/mocks/type.MockTransaction.html
    +++ b/hotshot_query_service/testing/mocks/type.MockTransaction.html
    @@ -1,3 +1,3 @@
    -MockTransaction in hotshot_query_service::testing::mocks - Rust
    hotshot_query_service::testing::mocks

    Type Alias MockTransaction

    source
    pub type MockTransaction = TestTransaction;

    Aliased Type§

    struct MockTransaction(/* private fields */);

    Trait Implementations§

    source§

    impl ExplorerTransaction for MockTransaction

    source§

    type NamespaceId = u64

    NamespaceId is a type that represents the id of a namespace. It does +MockTransaction in hotshot_query_service::testing::mocks - Rust
    hotshot_query_service::testing::mocks

    Type Alias MockTransaction

    source
    pub type MockTransaction = TestTransaction;

    Aliased Type§

    struct MockTransaction(/* private fields */);

    Trait Implementations§

    source§

    impl ExplorerTransaction for MockTransaction

    source§

    type NamespaceId = u64

    NamespaceId is a type that represents the id of a namespace. It does not indicate how this namespace id is represented, just that there is -a representation of it that adheres to the trait restrictions specified.
    source§

    fn namespace_id(&self) -> Self::NamespaceId

    \ No newline at end of file +a representation of it that adheres to the trait restrictions specified.
    source§

    fn namespace_id(&self) -> Self::NamespaceId

    namespace_id returns the namespace id of the individual transaction.
    source§

    fn payload_size(&self) -> u64

    payload_size returns the size of the payload of the transaction.
    \ No newline at end of file diff --git a/hotshot_query_service/types/trait.HeightIndexed.html b/hotshot_query_service/types/trait.HeightIndexed.html index 080fda00..04302560 100644 --- a/hotshot_query_service/types/trait.HeightIndexed.html +++ b/hotshot_query_service/types/trait.HeightIndexed.html @@ -2,6 +2,6 @@ // Required method fn height(&self) -> u64; }
    Expand description

    Types which have a notion of “height” within a chain.

    -

    Required Methods§

    source

    fn height(&self) -> u64

    Implementations on Foreign Types§

    source§

    impl<Types: NodeType> HeightIndexed for (VidCommonQueryData<Types>, Option<VidShare>)

    source§

    fn height(&self) -> u64

    Implementors§

    Required Methods§

    source

    fn height(&self) -> u64

    Implementations on Foreign Types§

    source§

    impl<Types: NodeType> HeightIndexed for (VidCommonQueryData<Types>, Option<VidShare>)

    source§

    fn height(&self) -> u64

    Implementors§

    source§

    impl HeightIndexed for MockHeader

    source§

    impl<Types> HeightIndexed for PayloadMetadata<Types>
    where Types: NodeType,

    source§

    impl<Types> HeightIndexed for VidCommonMetadata<Types>
    where Types: NodeType,

    source§

    impl<Types: NodeType> HeightIndexed for BlockInfo<Types>

    source§

    impl<Types: NodeType> HeightIndexed for BlockQueryData<Types>

    source§

    impl<Types: NodeType> HeightIndexed for BlockSummaryQueryData<Types>

    source§

    impl<Types: NodeType> HeightIndexed for LeafQueryData<Types>

    source§

    impl<Types: NodeType> HeightIndexed for PayloadQueryData<Types>

    source§

    impl<Types: NodeType> HeightIndexed for VidCommonQueryData<Types>

    \ No newline at end of file diff --git a/search-index.js b/search-index.js index dc9c8162..feec7f07 100644 --- a/search-index.js +++ b/search-index.js @@ -1,4 +1,4 @@ -var searchIndex = new Map(JSON.parse('[["hotshot_query_service",{"t":"FPPPGPFPIFPIPFPPFPFIGIIKIPIIIINNNNNNNONNNNNNCONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNOCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQNNNNNNNNQQQQQNNNNNNNNNNNNNNNNNNNNNNNCOCCONNNNNNNNNNONHNNNONNCNNOCCNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNCNNNONNNNNNNNOOOOOOOOKIGFFFPFGGPFPFIPFPPRFPFRIGFFPPFPFFPIKKPFPPFIIIIRFFKFFNNNNNNNNNNNNNNNNNNNNNNOMNNNNNNNNONNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNMMMNNMMMMMMMMMMMMMMMMNNNNNNNONNNNNNNNNNNOOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMOONNNNNNNNNNNNNNNNNNNNNNNNNOOMNONONNNNNNNNNNNNNONNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNONOOONNNNNNNNNNNNOOONNNONNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOEFEEFREKRKKNNNNNCNNNNNNNNNNNNNMNNNNNNNNNNNNNNCNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNCNNNNMNNNMNCCCNNNNNNNNNMNNNNMNHHHKFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNIENNNNNNNNNHHHHHHHHHIIFFIENNNNNNQNCEHFKKKEEKKKEKKNMMNNNNNMNNNNNCMNNCMMMMMMMMMMMMMMMMMMMMMMMONMMMNNMOOMNCCMNNNNMMNPFGPPPPPPPPPPPPPPPPFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFKFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNKKRFKNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNRRRFRKRIFKKFTKFIIFRFRFFRFRKRTRRFNNNNNNNNNNNNMNNMNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNHNHNNNNNNNNNNNNDNCNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNIRPFFGIPFFFPPPGFGPPPKKFFFKFPPPFPGPPGPFPGPGPGPGPFPPPPPFPPPPPPFRRPIRPPPPPPPFFPPPFGPPFFGIPFFFGPPPPPPPIRPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOMMOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOMMMMMMOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMOOOMOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKFKEENNNNNNNNNNNNNNNNNCCMMNNNNNNFFKFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFKRFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNPRPRRGPRKKKFPPGRKNNONNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNMMNMNNNMMNNNNNNNNNNNMNMNNNNNMNNNNNNNNNNNNOOOOFFFFFFGPPPFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOEEPFGPPFKFPFPFPFPFFPFGNNNNNNNNNNONNNNOMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOONNNMNNNNNNNNNNNOONNNNNONOMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNOOOOOOOOOOOOGKPFPKKNONNNNMNNNNNNNNNNNHNNNNNNNNNNNNONNNNNNNNNNNNMNNMNNNNNNNNNNNNNNNOOFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCHHKIFISRKNNMMNNNNNNNNNMNNNNNNNNMNNNNNNNNNNIIIIIIFIIIIFFNNNOONNNNNNONNNNNNNNNNNNNONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNOHNNNNONNNONONNNONNONNNNONNNNNNNNNNOOONNNKM","n":["ApiState","Availability","Custom","Err","Error","","ErrorSnafu","Explorer","Header","Leaf","MerklizedState","Metadata","Missing","MissingSnafu","Node","NotFound","NotFoundSnafu","Ok","Options","Payload","QueryError","QueryResult","QuorumCertificate","Resolvable","SignatureKey","Status","Transaction","VidCommitment","VidCommon","VidShare","__clone_box","","","","","","","_pd","as_error","","as_error_source","","","","availability","","backtrace","","block_header","block_header_mut","block_payload","borrow","","","","","","","","borrow_mut","","","","","","","","build","","","catch_all","cause","","clone","","","","","","","clone_into","","","","","","","clone_to_uninit","","","","","","","commit","","commitment","","create_random_transaction","data","data_source","default","deref","","","","","","","","","deref_mut","","","","","","","","description","","deserialize","","","","","","","","","","","drop","","","","","","","","eq","equivalent","","","","explorer","extends_upgrade","fail","","","fetching","fill_block_payload","fill_block_payload_unchecked","fmt","","","","","","","","","","from","","","","","","","","","","","","","","","","","","","from_fd","from_filelike","from_into_filelike","from_into_socketlike","from_quorum_proposal","from_socketlike","genesis","get_hash","hash","height","include_migrations","init","","","","","","","","instantiate_availability_tests","instantiate_data_source_tests","instantiate_node_tests","instantiate_persistence_tests","instantiate_status_tests","internal","into","","","","","","","","into_error","","","justify_qc","layout_raw","","","","","","","","load","","merklized_state","message","metrics","node","","parent_commitment","payload_commitment","pointer_metadata","","","","","","","","port","read","run_standalone_service","serialize","","","signatures","source","","status","","","","task","testing","to_owned","","","","","","","to_string","","","try_from","","","","","","","","try_into","","","","","","","","try_resolve","","type_id","","","","","","","","types","unfill_block_payload","upgrade_certificate","view_number","","vzip","","","","","","","","message","source","","","","","status","message","AvailabilityDataSource","BlockHash","BlockId","BlockInfo","BlockQueryData","BlockSummaryQueryData","Custom","CustomSnafu","Error","Fetch","FetchBlock","FetchBlockSnafu","FetchLeaf","FetchLeafSnafu","FetchStream","FetchTransaction","FetchTransactionSnafu","Hash","","InclusionProof","InconsistentLeafError","InvalidTransactionIndex","InvalidTransactionIndexSnafu","Iter","LeafHash","LeafId","LeafQueryData","Limits","Number","","Options","PayloadHash","PayloadMetadata","PayloadQueryData","Pending","QcHash","QueryableHeader","QueryablePayload","RangeLimit","RangeLimitSnafu","Ready","Request","RequestSnafu","Timestamp","TransactionHash","TransactionInclusionProof","TransactionIndex","","TransactionQueryData","TransactionSummaryQueryData","UpdateAvailabilityData","VidCommonMetadata","VidCommonQueryData","__clone_box","","","","","","","","","","","","","","","","","","","","","","api_path","append","as_error","","as_error_source","","","","backtrace","","block","block_hash","","","","","","block_height","borrow","","","","","","","","","","","","","","","","","","","","","","","","borrow_mut","","","","","","","","","","","","","","","","","","","","","","","","build","","","","","","by_hash","","cause","","clone","","","","","","","","","","","","","","","","","","","","","","clone_into","","","","","","","","","","","","","","","","","","","","","","clone_to_uninit","","","","","","","","","","","","","","","","","","","","","","cmp","","common","compare","","context","data","default","define_api","deref","","","","","","","","","","","","","","","","","","","","","","","","deref_mut","","","","","","","","","","","","","","","","","","","","","","","","description","","deserialize","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","drop","","","","","","","","","","","","","","","","","","","","","","","","enumerate","","","eq","","","","","","","","","","","","equivalent","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","extensions","fail","","","","","","fetch_timeout","fmt","","","","","","","","","","","","","","","","","","","","","","","","","","","from","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","from_row","","","","","","genesis","","","","get_block","get_block_range","get_block_range_rev","get_hash","","get_leaf","get_leaf_range","get_leaf_range_rev","get_payload","get_payload_metadata","get_payload_metadata_range","get_payload_metadata_range_rev","get_payload_range","get_payload_range_rev","get_transaction","get_vid_common","get_vid_common_metadata","get_vid_common_metadata_range","get_vid_common_metadata_range_rev","get_vid_common_range","get_vid_common_range_rev","hash","","","","","","","","header","","","height","","","","","","","","","","","index","","init","","","","","","","","","","","","","","","","","","","","","","","","internal","into","","","","","","","","","","","","","","","","","","","","","","","","into_error","","","","","","","into_future","is_empty","","","is_pending","iter","large_object_range_limit","","layout_raw","","","","","","","","","","","","","","","","","","","","","","","","leaf","","","len","","limit","map","message","metadata","new","","","","nth","","nth_transaction","","nth_transaction_with_proof","","num_transactions","","","partial_cmp","","payload","payload_hash","","","","pointer_metadata","","","","","","","","","","","","","","","","","","","","","","","","proof","","","qc","qc_leaf","resolve","resource","","","serialize","","","","","","","","","size","","","","small_object_range_limit","","source","","status","","subscribe_blocks","","subscribe_leaves","","subscribe_payload_metadata","","subscribe_payloads","","subscribe_vid_common","","subscribe_vid_common_metadata","","timestamp","to_owned","","","","","","","","","","","","","","","","","","","","","","to_string","","","","transaction","","","","transaction_by_hash","","","transaction_by_hash_with_proof","","transaction_with_proof","try_from","","","","","","","","","","","","","","","","","","","","","","","","try_into","","","","","","","","","","","","","","","","","","","","","","","","try_resolve","type_id","","","","","","","","","","","","","","","","","","","","","","","","until","vid_common","vid_share","vzip","","","","","","","","","","","","","","","","","","","","","","","","with_context","with_timeout","from","height","index","limit","message","resource","","","source","status","until","AvailabilityProvider","ExtensibleDataSource","FetchingDataSource","FileSystemDataSource","MetricsDataSource","ReadOnly","SqlDataSource","Transaction","","UpdateDataSource","VersionedDataSource","__clone_box","","append","as_mut","as_ref","availability_tests","block_height","","","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","commit","connect","","count_transactions_in_range","create","","default","deref","","deref_mut","","deserialize","","drop","","fetching","fmt","","from","","fs","get_block","get_block_detail","get_block_range","get_block_range_rev","get_block_summaries","get_explorer_summary","get_header_window","get_last_state_height","get_leaf","get_leaf_range","get_leaf_range_rev","get_path","get_payload","get_payload_metadata","get_payload_metadata_range","get_payload_metadata_range_rev","get_payload_range","get_payload_range_rev","get_search_results","get_transaction","get_transaction_detail","get_transaction_summaries","get_vid_common","get_vid_common_metadata","get_vid_common_metadata_range","get_vid_common_metadata_range_rev","get_vid_common_range","get_vid_common_range_rev","handle_event","","init","","inner","inner_mut","insert_merkle_nodes","into","","layout_raw","","metrics","","new","node_tests","payload_size_in_range","persistence_tests","pointer_metadata","","populate_metrics","","read","","reset","","revert","set_last_state_height","sql","status_tests","storage","sync_status","to_owned","","try_from","","try_into","","type_id","","update","","vid_share","vzip","","write","","test_range","test_range_rev","test_update","AvailabilityProvider","Builder","FetchingDataSource","Pruner","__clone_box","","append","as_ref","block_height","","borrow","","","borrow_mut","","","build","builder","clone","","clone_into","","clone_to_uninit","","connect","count_transactions_in_range","create","create_with_store","deref","","","deref_mut","","","deserialize","","","disable_aggregator","disable_proactive_fetching","drop","","","fmt","","from","","","get_block","get_block_detail","get_block_range","get_block_range_rev","get_block_summaries","get_explorer_summary","get_header_window","get_last_state_height","get_leaf","get_leaf_range","get_leaf_range_rev","get_path","get_payload","get_payload_metadata","get_payload_metadata_range","get_payload_metadata_range_rev","get_payload_range","get_payload_range_rev","get_search_results","get_transaction","get_transaction_detail","get_transaction_summaries","get_vid_common","get_vid_common_metadata","get_vid_common_metadata_range","get_vid_common_metadata_range_rev","get_vid_common_range","get_vid_common_range_rev","init","","","into","","","layout_raw","","","metrics","new","open","open_with_store","payload_size_in_range","pointer_metadata","","","populate_metrics","read","skip_version","sync_status","to_owned","","try_from","","","try_into","","","type_id","","","update","vid_share","vzip","","","with_active_fetch_delay","with_aggregator_chunk_size","with_chunk_fetch_delay","with_major_scan_interval","with_major_scan_offset","with_max_retry_interval","with_min_retry_interval","with_minor_scan_interval","with_proactive_range_chunk_size","with_range_chunk_size","with_rate_limit","with_retry_multiplier","with_retry_randomization_factor","with_retry_timeout","write","FileSystemDataSource","Transaction","connect","create","","create_with_store","handle_event","open","open_with_store","reset","skip_version","test_counters","test_sync_status","test_timestamp_window","test_vid_monotonicity","test_vid_recovery","test_vid_shares","test_drop_tx","test_reset","test_revert","Builder","Config","Error","Migration","SqlDataSource","Transaction","builder","connect","","","create","handle_event","include_migrations","reset","testing","TmpDb","test_metrics","Aggregate","AggregatesStorage","AvailabilityStorage","ExplorerStorage","FailStorage","FileSystemStorage","MerklizedStateHeightStorage","MerklizedStateStorage","NodeStorage","SqlStorage","UpdateAggregatesStorage","UpdateAvailabilityStorage","__clone_box","aggregates_height","block_height","borrow","borrow_mut","clone","clone_into","clone_to_uninit","count_transactions_in_range","default","deref","deref_mut","deserialize","drop","fail_storage","first_available_leaf","fmt","from","fs","get_block","get_block_detail","get_block_range","get_block_summaries","get_explorer_summary","get_header","get_header_window","get_last_state_height","get_leaf","get_leaf_range","get_path","get_payload","get_payload_metadata","get_payload_metadata_range","get_payload_range","get_search_results","get_transaction","get_transaction_detail","get_transaction_summaries","get_vid_common","get_vid_common_metadata","get_vid_common_metadata_range","get_vid_common_range","height","init","insert_block","insert_leaf","insert_vid","into","layout_raw","load_prev_aggregate","num_transactions","payload_size","payload_size_in_range","pointer_metadata","pruning","sql","sync_status","to_owned","try_from","try_into","type_id","update_aggregates","vid_share","vzip","Any","FailStorage","FailableAction","FirstAvailableLeaf","GetBlock","GetBlockRange","GetHeader","GetHeaderRange","GetLeaf","GetLeafRange","GetPayload","GetPayloadMetadata","GetPayloadMetadataRange","GetPayloadRange","GetTransaction","GetVidCommon","GetVidCommonMetadata","GetVidCommonMetadataRange","GetVidCommonRange","Transaction","__clone_box","","aggregates_height","block_height","borrow","","","borrow_mut","","","clone","","clone_into","","clone_to_uninit","","commit","count_transactions_in_range","deref","","","deref_mut","","","deserialize","","","drop","","","eq","equivalent","","","","fail","fail_begins_read_only","fail_begins_writable","fail_commits","fail_one_begin_read_only","fail_one_begin_writable","fail_one_commit","fail_one_read","fail_one_write","fail_reads","fail_writes","first_available_leaf","fmt","","","from","","","","","from_fd","from_filelike","from_into_filelike","from_into_socketlike","from_socketlike","get_block","get_block_range","get_disk_usage","get_header","get_header_window","get_leaf","get_leaf_range","get_payload","get_payload_metadata","get_payload_metadata_range","get_payload_range","get_pruning_config","get_transaction","get_vid_common","get_vid_common_metadata","get_vid_common_metadata_range","get_vid_common_range","init","","","insert_block","insert_leaf","insert_vid","into","","","layout_raw","","","load_prev_aggregate","load_pruned_height","metrics","pass","pass_begins_read_only","pass_begins_writable","pass_commits","pass_reads","pass_writes","payload_size_in_range","pointer_metadata","","","prune","read","revert","set_pruning_config","sync_status","to_owned","","try_from","","","try_into","","","type_id","","","update_aggregates","vid_share","vzip","","","write","FileSystemStorage","FileSystemStorageInner","Revert","Transaction","aggregates_height","block_height","borrow","","","borrow_mut","","","commit","","count_transactions_in_range","create","create_with_store","deref","","","deref_mut","","","deserialize","","","drop","","","","first_available_leaf","fmt","","","from","","","get_block","get_block_range","get_header","get_header_window","get_leaf","get_leaf_range","get_payload","get_payload_metadata","get_payload_metadata_range","get_payload_range","get_transaction","get_vid_common","get_vid_common_metadata","get_vid_common_metadata_range","get_vid_common_range","init","","","insert_block","insert_leaf","insert_vid","into","","","layout_raw","","","load_prev_aggregate","metrics","open","open_with_store","payload_size_in_range","pointer_metadata","","","read","revert","","","skip_version","sync_status","try_from","","","try_into","","","type_id","","","update_aggregates","vid_share","vzip","","","write","PruneStorage","PrunedHeightStorage","Pruner","PrunerCfg","PrunerConfig","__clone_box","batch_size","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","deserialize","drop","fmt","from","get_disk_usage","get_pruning_config","init","interval","into","layout_raw","load_pruned_height","max_usage","minimum_retention","new","pointer_metadata","prune","pruning_threshold","set_pruning_config","target_retention","to_owned","try_from","try_into","type_id","validate","vzip","with_batch_size","with_interval","with_max_usage","with_minimum_retention","with_pruning_threshold","with_target_retention","ArgumentBuffer","Arguments","Column","Config","Connection","Database","","Db","Error","Executor","FixedLengthParams","Migration","NAME","Params","Pruner","Query","QueryAs","QueryBuilder","QueryResult","Read","Row","SqlStorage","Sqlite","Statement","Transaction","TransactionManager","TransactionMode","TypeInfo","URL_SCHEMES","Value","ValueRef","Write","__clone_box","","","","","aggregates_height","applied","applied_on","archive","as_ref","","backtrace","begin","","","bind","","block_height","borrow","","","","","","","","","","borrow_mut","","","","","","","","","","bounds_to_where_clause","build_where_in","builder","busy_timeout","chain","checksum","cleanup_test","cleanup_test_dbs","clone","","","","","clone_into","","","","","clone_to_uninit","","","","","cmp","commit","compare","connect","","connection_timeout","context","count_transactions_in_range","create_database","database_exists","db_path","default","","","","","default_migrations","deref","","","","","","","","","","","","deref_mut","","","","","","","","","","","","deserialize","","","","","","","","","","display","","","downcast","downcast_mut","downcast_ref","drop","","","","","","","","","","","drop_database","eq","equivalent","","","","execute","","execute_many","","fetch","","fetch_all","","fetch_many","fetch_one","","fetch_optional","first_available_leaf","fmt","","","","","","","","","","","fmt_value_debug","from","","","","","","","","","","","","","from_str","get_block","get_block_detail","get_block_range","get_block_summaries","get_disk_usage","get_explorer_summary","get_feature_gate","get_header","get_header_window","get_last_state_height","get_leaf","get_leaf_range","get_path","get_payload","get_payload_metadata","get_payload_metadata_range","get_payload_range","get_pruning_config","get_search_results","get_transaction","get_transaction_detail","get_transaction_summaries","get_vid_common","get_vid_common_metadata","get_vid_common_metadata_range","get_vid_common_range","header_where_clause","idle_connection_timeout","include_dir","include_migrations","init","","","","","","","","","","insert_block","insert_leaf","insert_merkle_nodes","insert_vid","into","","","","","","","","","","is","layout_raw","","","","","","","","","","load_header","load_prev_aggregate","load_pruned_height","max_connections","metrics","migrations","min_connections","msg","name","new","no_migrations","param_type_for_id","partial_cmp","payload_size_in_range","pointer_metadata","","","","","","","","","","pool","","prefix","prepare","","prepare_with","prune","pruner_cfg","query","","query_as","","read","reset_schema","return_type_for_id","revert","root_cause","set_applied","set_last_state_height","set_pruning_config","slow_statement_threshold","snapshot","sql","sqlx","sync_status","syntax_helpers","test_context","testing","to_owned","","","","","to_string","","try_from","","","","","","","","","","try_into","","","","","","","","","","type_id","","","","","","","","","","unapplied","update_aggregates","upsert","version","vid_share","vzip","","","","","","","","","","write","BINARY_TYPE","MAX_FN","TestMerkleTreeMigration","TmpDb","borrow","","borrow_mut","","config","deref","","deref_mut","","deserialize","","drop","","","fmt","from","","init","","","into","","layout_raw","","path","persistent","pointer_metadata","","try_from","","try_into","","type_id","","vzip","","BalanceAmount","","Block","BlockDetail","BlockDetailResponse","BlockIdentifier","BlockNamespaceId","BlockNotFound","BlockRange","BlockSummary","BlockSummaryResponse","Btc","CryptoEnd","CryptoStart","CurrencyCode","CurrencyMismatchError","Error","Esp","Eth","Eur","ExplorerDataSource","ExplorerHeader","ExplorerHistograms","ExplorerSummary","ExplorerSummaryResponse","ExplorerTransaction","FeeAttribution","FiatCurrencyEnd","FiatCurrencyStart","Gbp","GenesisOverview","GetBlockDetail","GetBlockDetailError","","GetBlockSummaries","GetBlockSummariesError","","GetBlockSummariesRequest","GetExplorerSummary","GetExplorerSummaryError","GetSearchResults","GetSearchResultsError","GetTransactionDetail","GetTransactionDetailError","GetTransactionSummaries","GetTransactionSummariesError","","GetTransactionSummariesRequest","Hash","","Height","HeightAndOffset","IntError","InvalidCurrencyCodeError","InvalidLimit","","InvalidQuery","Jpy","Latest","","MonetaryValue","NamespaceId","","None","ProposerId","","QueryError","","","","","","RollUp","SearchResult","SearchResultResponse","TargetNotFound","","TimeError","Timestamp","TimestampConversionError","TokenEnd","TokenStart","TransactionDetail","TransactionDetailResponse","TransactionIdentifier","TransactionNamespaceId","TransactionNotFound","TransactionRange","TransactionSummariesResponse","TransactionSummary","TransactionSummaryFilter","Unimplemented","","","","","","Usd","WalletAddress","","Xxx","__clone_box","","","","","","","","","","","","","","","","add","as_error","","","","","","","","as_error_source","","","","","","","","","","","","","","","","block_confirmed","block_detail","block_heights","block_reward","block_size","block_summaries","block_time","block_transactions","blocks","","borrow","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","borrow_mut","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","btc","clone","","","","","","","","","","","","","","","","clone_into","","","","","","","","","","","","","","","","clone_to_uninit","","","","","","","","","","","","","","","","cmp","compare","currency","","currency1","currency2","default","define_api","deref","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","deref_mut","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","deserialize","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","drop","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","eq","","","","","","","","","","","","","","equivalent","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","esp","eth","explorer_summary","fee_details","fee_info_account","fee_info_balance","fee_recipient","fees","filter","fmt","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","from","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","from_row","","genesis_overview","get_block_detail","get_block_summaries","get_explorer_summary","get_search_results","get_transaction_detail","get_transaction_summaries","hash","","","","height","","","","histograms","init","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","into","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","into_resettable","is_crypto","is_fiat","is_token","latest_block","latest_blocks","latest_transactions","layout_raw","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","namespace_id","namespace_ids","new","num_blocks","num_transactions","","","","","offset","","partial_cmp","pointer_metadata","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","proposer_id","","","range","reward_balance","rollups","","search_results","sequencing_fees","serialize","","","","","","","","","","","","","","","","","","","","","","","","","","","","significant_digits","size","","","source","","","","","","","","status","","","","","","","sub","target","","","time","","","","to_owned","","","","","","","","","","","","","","","","to_string","","","","","","","","","","","","","","transaction_detail","transaction_summaries","transactions","","try_from","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","try_into","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","type_id","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","usd","value","vzip","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Callback","Fetcher","LocalCallback","Provider","Request","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","fmt","from","init","into","layout_raw","new","pointer_metadata","provider","request","run","","spawn_fetch","to_owned","try_from","try_into","type_id","vzip","AnyProvider","NoFetching","Provider","QueryServiceProvider","TestProvider","__clone_box","","","","block","borrow","","","","borrow_mut","","","","clone","","","","clone_into","","","","clone_to_uninit","","","","default","","deref","","","","deref_mut","","","","deserialize","","","","drop","","","","fail","fetch","","","","","","","","","fmt","","","","from","","","","init","","","","into","","","","layout_raw","","","","new","","pointer_metadata","","","","to_owned","","","","try_from","","","","try_into","","","","type_id","","","","unblock","unfail","vzip","","","","with_block_provider","with_leaf_provider","with_provider","with_vid_common_provider","LeafRequest","PayloadRequest","Request","Response","VidCommonRequest","__clone_box","","","borrow","","","borrow_mut","","","clone","","","clone_into","","","clone_to_uninit","","","deref","","","deref_mut","","","deserialize","","","drop","","","eq","","","equivalent","","","","","","","","","","","","expected_leaf","expected_qc","fmt","","","from","","","","get_hash","","","hash","","","height","init","","","into","","","layout_raw","","","new","pointer_metadata","","","to_owned","","","try_from","","","try_into","","","type_id","","","vzip","","","Commit","","Custom","Digest","Entry","Error","Index","Key","MerklizedState","MerklizedStateDataSource","MerklizedStateHeightPersistence","Options","Query","Request","Snapshot","T","UpdateStateData","__clone_box","","api_path","as_error","as_error_source","","backtrace","borrow","","","borrow_mut","","","cause","clone","","clone_into","","clone_to_uninit","","cmp","compare","default","define_api","deref","","","deref_mut","","","description","deserialize","","","","drop","","","eq","equivalent","","","","extensions","fmt","","","","from","","","","","","get_hash","get_last_state_height","get_path","hash","header_state_commitment_field","init","","","insert_merkle_nodes","insert_path","into","","","layout_raw","","","partial_cmp","pointer_metadata","","","serialize","set_last_state_height","source","state_type","status","to_owned","","to_string","","tree_height","try_from","","","try_into","","","type_id","","","vzip","","","message","source","","status","Counter","CounterFamily","Gauge","GaugeFamily","Histogram","HistogramFamily","MetricsError","NoSuchMetric","NoSuchSubgroup","Prometheus","PrometheusMetrics","TextFamily","__clone_box","","","","","","","","add","add_point","as_error","as_error_source","","backtrace","borrow","","","","","","","","","borrow_mut","","","","","","","","","cause","clone","","","","","","","","clone_into","","","","","","","","clone_to_uninit","","","","","","","","counter_family","create","","","","create_counter","create_gauge","create_histogram","create_text","default","deref","","","","","","","","","deref_mut","","","","","","","","","description","deserialize","","","","","","","","","drop","","","","","","","","","export","fmt","","","","","","","","","","from","","","","","","","","","","gauge_family","","get","","","","","get_counter","get_counter_family","get_gauge","get_histogram","get_histogram_family","get_subgroup","histogram_family","init","","","","","","","","","into","","","","","","","","","layout_raw","","","","","","","","","mean","pointer_metadata","","","","","","","","","sample_count","set","source","subgroup","sum","text_family","to_owned","","","","","","","","to_string","try_from","","","","","","","","","try_into","","","","","","","","","type_id","","","","","","","","","update","vzip","","","","","","","","","name","namespace","path","source","BlockHash","BlockId","Custom","CustomSnafu","Error","Hash","Height","Limits","NodeDataSource","Options","Query","QuerySnafu","QueryVid","QueryVidSnafu","QueryWindow","QueryWindowSnafu","Request","RequestSnafu","SyncStatus","Time","TimeWindowQueryData","WindowStart","__clone_box","","","","","","","","","","api_path","as_error","as_error_source","","backtrace","block","block_height","borrow","","","","","","","","","","","borrow_mut","","","","","","","","","","","build","cause","clone","","","","","","","","","","clone_into","","","","","","","","","","clone_to_uninit","","","","","","","","","","cmp","compare","count_transactions","","count_transactions_in_range","default","","define_api","deref","","","","","","","","","","","deref_mut","","","","","","","","","","","description","deserialize","","","","","","","","","","","","","","","drop","","","","","","","","","","","end","eq","","","equivalent","","","","","","","","","","","","extensions","fail","fmt","","","","","","","","","","","","from","","","","","","","","","","","","","","","","fully_synced","get_hash","get_header_window","hash","init","","","","","","","","","","","internal","into","","","","","","","","","","","into_error","","","","","is_fully_synced","layout_raw","","","","","","","","","","","message","missing_blocks","missing_leaves","missing_vid_common","missing_vid_shares","next","partial_cmp","payload_size","","payload_size_in_range","pointer_metadata","","","","","","","","","","","prev","pruned_height","serialize","","","","source","start","status","","sync_status","to_owned","","","","","","","","","","to_string","try_from","","","","","","","","","","","try_into","","","","","","","","","","","type_id","","","","","","","","","","","vid_share","vzip","","","","","","","","","","","window","window_limit","","block","end","message","source","","","","start","status","Error","HasMetrics","Internal","Options","Request","StatusDataSource","UpdateStatusData","__clone_box","api_path","as_error","as_error_source","","backtrace","block_height","borrow","","borrow_mut","","cause","clone","clone_into","clone_to_uninit","consensus_metrics","","default","define_api","deref","","deref_mut","","description","deserialize","","","drop","","elapsed_time_since_last_decide","","extensions","fmt","","from","","","","init","","into","","layout_raw","","metrics","pointer_metadata","","populate_metrics","serialize","source","status","success_rate","","to_owned","to_string","try_from","","try_into","","type_id","","vzip","","reason","source","BackgroundTask","Task","__clone_box","borrow","","borrow_mut","","clone","clone_into","clone_to_uninit","deref","","deref_mut","","deserialize","","drop","","","fmt","","from","","init","","into","","join","layout_raw","","pointer_metadata","","spawn","","to_owned","try_from","","try_into","","type_id","","vzip","","consensus","mocks","setup_test","sleep","DataSourceLifeCycle","MockDataSource","MockNetwork","MockSqlDataSource","NUM_NODES","Storage","TestableDataSource","borrow","borrow_mut","connect","create","data_source","data_source_index","deref","deref_mut","deserialize","drop","","from","handle","handle_event","init","","init_with_config","into","layout_raw","num_nodes","pointer_metadata","proposer","reset","setup","shut_down","spawn","start","storage","submit_transaction","try_from","try_into","type_id","vzip","MockAuctionResults","MockBase","MockHeader","MockMembership","MockMerkleTree","MockNetwork","MockNodeImpl","MockPayload","MockQuorumProposal","MockStorage","MockTransaction","MockTypes","MockVersions","__clone_box","","","block_header","block_number","borrow","","","borrow_mut","","","builder_commitment","clone","","","clone_into","","","clone_to_uninit","","","cmp","","compare","","decided_upgrade_certificate","default","","delay_config","deref","","","deref_mut","","","deserialize","","","","","drop","","","eq","","equivalent","","","","","","","","fee_info_account","fee_info_balance","fmt","","","from","","","get_hash","","hash","","header_state_commitment_field","height","init","","","insert_path","into","","","iter","justify_qc","layout_raw","","","len","metadata","mock_transaction","namespace_id","namespace_ids","partial_cmp","","payload_commitment","pointer_metadata","","","proposal_certificate","proposer_id","random","reward_balance","serialize","","should_return_err","state_type","timestamp","","to_owned","","","transaction_with_proof","transactions","tree_height","try_from","","","try_into","","","type_id","","","upgrade_certificate","urls","view_number","vzip","","","HeightIndexed","height"],"q":[[0,"hotshot_query_service"],[308,"hotshot_query_service::Error"],[315,"hotshot_query_service::QueryError"],[316,"hotshot_query_service::availability"],[1158,"hotshot_query_service::availability::Error"],[1169,"hotshot_query_service::data_source"],[1294,"hotshot_query_service::data_source::availability_tests"],[1297,"hotshot_query_service::data_source::fetching"],[1424,"hotshot_query_service::data_source::fs"],[1435,"hotshot_query_service::data_source::node_tests"],[1441,"hotshot_query_service::data_source::persistence_tests"],[1444,"hotshot_query_service::data_source::sql"],[1459,"hotshot_query_service::data_source::sql::testing"],[1460,"hotshot_query_service::data_source::status_tests"],[1461,"hotshot_query_service::data_source::storage"],[1537,"hotshot_query_service::data_source::storage::fail_storage"],[1681,"hotshot_query_service::data_source::storage::fs"],[1774,"hotshot_query_service::data_source::storage::pruning"],[1820,"hotshot_query_service::data_source::storage::sql"],[2196,"hotshot_query_service::data_source::storage::sql::syntax_helpers"],[2198,"hotshot_query_service::data_source::storage::sql::testing"],[2236,"hotshot_query_service::explorer"],[3291,"hotshot_query_service::fetching"],[3323,"hotshot_query_service::fetching::provider"],[3433,"hotshot_query_service::fetching::request"],[3527,"hotshot_query_service::merklized_state"],[3640,"hotshot_query_service::merklized_state::Error"],[3644,"hotshot_query_service::metrics"],[3884,"hotshot_query_service::metrics::MetricsError"],[3888,"hotshot_query_service::node"],[4219,"hotshot_query_service::node::Error"],[4228,"hotshot_query_service::status"],[4298,"hotshot_query_service::status::Error"],[4300,"hotshot_query_service::task"],[4343,"hotshot_query_service::testing"],[4347,"hotshot_query_service::testing::consensus"],[4387,"hotshot_query_service::testing::mocks"],[4521,"hotshot_query_service::types"],[4523,"dyn_clone::sealed"],[4524,"core::error"],[4525,"hotshot_query_service::error"],[4526,"std::backtrace"],[4527,"core::option"],[4528,"hotshot_types::data"],[4529,"hotshot_types::traits::node_implementation"],[4530,"alloc::string"],[4531,"core::convert"],[4532,"tide_disco::status"],[4533,"core::clone"],[4534,"hotshot_types::message"],[4535,"committable"],[4536,"hotshot_query_service::resolvable"],[4537,"rand_core"],[4538,"rkyv::with"],[4539,"core::result"],[4540,"serde::de"],[4541,"hotshot_types::simple_vote"],[4542,"hotshot_types::simple_certificate"],[4543,"async_lock::rwlock"],[4544,"alloc::sync"],[4545,"utils::anytrace"],[4546,"core::fmt"],[4547,"hotshot_query_service::explorer::query_data"],[4548,"sqlx_core::error"],[4549,"std::os::fd::owned"],[4550,"io_lifetimes::portability"],[4551,"core::hash"],[4552,"core::marker"],[4553,"core::alloc::layout"],[4554,"arc_swap::access"],[4555,"core::future::future"],[4556,"alloc::boxed"],[4557,"core::pin"],[4558,"futures_core::future"],[4559,"core::ops::function"],[4560,"hotshot::types::handle"],[4561,"hotshot_query_service::availability::data_source"],[4562,"hotshot_query_service::data_source::update"],[4563,"hotshot_query_service::node::data_source"],[4564,"hotshot_query_service::status::data_source"],[4565,"vbs::version"],[4566,"serde::ser"],[4567,"core::any"],[4568,"anyhow"],[4569,"hotshot_query_service::availability::query_data"],[4570,"core::cmp"],[4571,"core::iter::traits::iterator"],[4572,"hotshot_types::vid"],[4573,"hotshot_query_service::availability::fetch"],[4574,"snafu"],[4575,"tide_disco::api"],[4576,"tide_disco::method"],[4577,"tide_disco::request"],[4578,"core::ops::range"],[4579,"core::time"],[4580,"hotshot_query_service::data_source::extension"],[4581,"hotshot_query_service::data_source::metrics"],[4582,"hotshot_query_service::explorer::data_source"],[4583,"hotshot_query_service::merklized_state::data_source"],[4584,"tagged_base64"],[4585,"hotshot_types::event"],[4586,"core::default"],[4587,"jf_merkle_tree::internal"],[4588,"alloc::vec"],[4589,"hotshot_types::traits::metrics"],[4590,"std::path"],[4591,"atomic_store::atomic_store"],[4592,"core::ops::deref"],[4593,"atomic_store::error"],[4594,"hotshot_query_service::data_source::storage::sql::transaction"],[4595,"time::offset_date_time"],[4596,"refinery_core::runner"],[4597,"hotshot_query_service::data_source::storage::sql::db"],[4598,"sqlx_core::query_builder"],[4599,"hotshot_query_service::data_source::storage::sql::queries"],[4600,"sqlx_core::encode"],[4601,"sqlx_core::types"],[4602,"core::iter::traits::collect"],[4603,"sqlx_core::executor"],[4604,"sqlx_core::database"],[4605,"futures_core::stream"],[4606,"sqlx_sqlite::database"],[4607,"sqlx_core::type_checking"],[4608,"sqlx_sqlite::options"],[4609,"sqlx_core::pool"],[4610,"sqlx_core::from_row"],[4611,"sqlx_core::testing"],[4612,"refinery_core::error"],[4613,"hotshot_query_service::explorer::monetary_value"],[4614,"hotshot_query_service::explorer::currency"],[4615,"hotshot_query_service::explorer::traits"],[4616,"time::error::component_range"],[4617,"core::num::error"],[4618,"clap_builder::builder::resettable"],[4619,"async_lock::semaphore"],[4620,"backoff"],[4621,"hotshot_query_service::fetching::provider::testing"],[4622,"hotshot_query_service::fetching::provider::any"],[4623,"hotshot_query_service::fetching::provider::query_service"],[4624,"url"],[4625,"jf_merkle_tree"],[4626,"core::str::traits"],[4627,"ark_serialize"],[4628,"prometheus::errors"],[4629,"hotshot_query_service::node::query_data"],[4630,"tokio::runtime::task::error"],[4631,"hotshot_types::signature_key"],[4632,"hotshot_types"],[4633,"include_dir_macros"],[4634,"hotshot_query_service::data_source::storage::sql::db::syntax_helpers"]],"i":"`j0ALb`A``2``2`0`20`1```````2````Ab3AhAjAl4BfABb868866`Cf97666695437026954370254399769543726954372695437266Bn772`17:65481337:654813:877::65488137:65481377777`7654`7777::6548837:::::::654888133333333737777`7:654813`````:7:65481365477:65481333`4``1777:65481313`7:82:8`:81``7:654837:87:6548137:654813077:654813`77727:654813BNfBNhBNjBNlBNnBO`5BOb``````El```0`0``0`N`NbMb`3`0````21`1``Of```4`04`````1`````32K`KfKdNdKjKlKnNfNhNjNlNnO`L`LbLdLfLhLjElA@bJnKd3003303K`KfKjKlKnNjNl2OfN`Nb98:Nd876NfNh76NnA@bO`L`LbLdLfLhLjEl?>=K`KfKd?KjKlKnNfNhNjNlNnA@bO`L`LbLdLfLhLjEl654321Mb0Kd2N`NbK`Kf4NdKjKlKnNfNhNjNlNnO`L`LbLdLfLhLjElN`NbK`KfKdNdKjKlKnNfNhNjNlNnO`L`LbLdLfLhLjElN`NbK`KfKdNdKjKlKnNfNhNjNlNnO`L`LbLdLfLhLjElN`NbKl21OfKjA@b`254K`KfKdNd57KnNfNhNjNlNn:O`L`LbLdLfLhLjElOfN`NbK`KfKdNdKjKlKnNfNhNjNlNnA@bO`L`LbLdLfLhLjElKd1OfN`NbK`Kf05Nd0Kj0Kl0Kn0Nf0Nh0NjNlNn0A@bO`L`LbLdLfLhLjEl0OfN`NbK`KfKdNdKjKlKnNfNhNjNlNnA@bO`L`LbLdLfLhLjElMb0NdN`NbKf3KjKlKnNfNhNjNlNn::::99998888;;;;77776666555544443333222211110000A@bL`LbLdLfLhLj6N`0Nb0K`KfKd0NdKjKlKnNfNhNjNlNnA@bO`L`LbLdLfLhLjEl0OfN`00Nb00K`0KfKdNdKj0KlKnNf0NhNj0Nl0NnA@bO`L`LbLdLfLhLjEl002KfNdKjKl?>3210Ij00N`Nb222222222222222210654KnNfNj981K`:98721Nl20?4?Of762Ij00000000000ABfN`NbK`KfKd?>=<;:8Nl:O`L`LbLdLfLhLjEl=<90Mb0NdKn221222OfN`NbK`KfKd7KjKl8NfNhNjNlNnA@bO`L`LbLdLfLhLjElOfN`NbK`KfKdNdKjKlKnNfNhNjNlNnA@bO`L`LbLdLfLhLjElOf0N`NbK`KfKdNdKjKlKnNfNhNjNlNnA@bO`L`LbLdLfLhLjEl2K`0OfN`Nb3KfKdNdKjKlKnNfNhNjNlNnA@bO`L`LbLdLfLhLjElOf0BOdBOf01BOhBOjBOlBOnC@`46`````Jb``0``ABjABl111`1101010101010ABn21221121212121`2121`222222222222222222222222222221212222121212`2`2121322102```221212121Il333243```````AEnAFf1111AFb21021022121212222021021021000212102122222222222222222222222222220210210212022202122222102102102122021000000000000002``AGf00000000```````````````AFh0AGh000`0```````````````AGnAGjAGl22222022222`AH`33`0AHb10012AHd22AHf33332322333366AHh007767757``57777AHj68AI```0000000000000000`0AIbAHn0210210212121002102102102102222211111111111021021110111110010000000010000021000021021000111111102101101021210210210002101````AIj0AJ`AG`21022220010210210210222102102222222222222222102222102102200021020AIl3313213213213332131``AFd``AId00000000000001AIf1111AIh22223212222222222222AMj00`0`AMh`````1`````1`1``1`1`1111`AKfALlALnAKhAM`AJn552AFl00AK`65AKjAL`439AN`198576AMd5;12:968702`885;11;:987;:987;:987;6;878561182:980`55;12:96687055;12:9668705;12:968704:955555;12:968701;;;;;<<<<<<<<<<<<655;;12:96701555;12:96887086666761666666666676666666628``5;12:9687066665;12:9687055;12:9687066687885;581;65;12:9687087;<<<78`2`278165;6781;`6`1`;:9875;5;12:968705;12:968705;12:96870;66;65;12:968707````C@bAOh1001010101000101001010001010101010`BCnBB`````B@j```B@b00```000```````000`Fb`BAb1`0`1`1`1`1`0`AC`ADb10Ff`B@lBA`BAd854`;BDf;`<:3B@n382<``435``::````0````;40382:`=:AOnB@`>22==99<<00;;11BAlBBjBBdBAf1BBl22BBbBBh?>B@b>AC`ADb?>=6BAhFfBAjBBf;B@jB@lB@nBA`BAbBAdFbBBjBBlBBnBC`BCbBCdAOnB@`B@bAOjAC`ADbB@dB@fB@hBAfBAhFfBAjBAlBAnACdBB`ADdBBbBBdBBfBBhB@jB@lB@nBA`BAbBAdFbBBjBBlBBnBC`BCbBCdAOjAOnB@`B@b3AC`ADbB@dB@fB@hB@jB@lB@nBA`BAbBAdFb>==>ADd`?>=AOj=<;:9BAfBAhFfBAjBAlBAnACdBB`9BBbBBdBBfBBhB@jB@lB@nBA`BAbBAdFbBBjBBlBBnBC`BCbBCdAOnB@`B@bAOjAC`ADbB@dB@fB@hBAfBAhFfBAjBAlBAnACdBB`ADdBBbBBdBBfBBhB@jB@lB@nBA`BAbBAdFbBBjBBlBBnBC`BCbBCdAOn0B@`0B@b0AOj0AC`ADbB@dB@fB@h0BAf0BAh0FfBAj0BAl0BAn0ACdBB`0ADdBBb0BBd0BBf0BBh0B@j0B@l0B@n0BA`0BAb0BAd0Fb0BBj0BBl0BBn0BC`0BCb0BCd0AOnB@`B@bAOjAC`ADbB@dB@fB@hBAfBAhFfBAjBAlBAnACdBB`ADdBBbBBdBBfBBhB@jB@lB@nBA`BAbBAdFbBBjBBlBBnBC`BCbBCdB@bAOjAC`ADbB@dB@fB@hBAfBAhFfBAjBAlBAnACd====<<<<;;;;::::9999888877776666555544443333222211110000<=FfBAj<;ACdBB`ADdBBbBBdBBfBBhB@jB@lB@nBA`BAbBAdFbBBjBBlBBnBC`BCbBCdAOnB@`B@bAOjAC`ADbB@dB@fB@hBAfBAhFfBAjBAlBAnACdBB`ADdBBbBBdBBfBBhB@jB@lB@nBA`BAbBAdFbBBjBBlBBnBC`BCbBCdB@b000???AOnB@`2AOjAC`ADbB@dB@fB@hBAfBAhFfBAjBAlBAnACdBB`ADdBBbBBdBBfBBhB@jB@lB@nBA`BAbBAdFbBBjBBlBBnBC`BCbBCdBDfBCnAOjB@dB@fBAfBAhBAlBAn10B@bAOnB@`29AC`ADb:9B@h98FfBAj98ACdBB`ADdBBbBBdBBfBBhB@jB@lB@nBA`BAbBAdFbBBjBBlBBnBC`BCbBCdBCnBAfBAhADd3BAnBBb6BAlAOnB@`B@bAOjB@h:9BAj68BB`8BBdBBfBBhB@jB@lB@nBA`BAbBAdFbBBjBBlBBnBC`BCbBCdB@bBAfBAhBAlFfB@jB@lB@nBA`BAbBAdFb6543210AOjB@dB@fBAj>=BAjBAlBAn0ACdBB`ADdBBbBBdBBfBBhB@jB@lB@nBA`BAbBAdFbBBjBBlBBnBC`BCbBCdAOnB@`B@bAOjAC`ADbB@dB@fB@hBAfBAhFfBAjBAlBAnACdBB`ADdBBbBBdBBfBBhB@jB@lB@nBA`BAbBAdFbBBjBBlBBnBC`BCbBCdAOnB@`B@bAOjAC`ADbB@dB@fB@hBAfBAhFfBAjBAlBAnACdBB`ADdBBbBBdBBfBBhB@jB@lB@nBA`BAbBAdFbBBjBBlBBnBC`BCbBCdAOj0AOnB@`B@b3AC`ADbB@dB@fB@hBAfBAhFfBAjBAlBAnACdBB`ADdBBbBBdBBfBBhB@jB@lB@nBA`BAbBAdFbBBjBBlBBnBC`BCbBCd`````BDh0000000000000000``BDnBE`222222`````BEhBEjBEfBEl1321032103210321032103032103210321032101BEd444333214321432143214321432132432143214321432143212243214444```BEb`BFbBEnBF`21021021021021021021021021021022221111000000210210021021002102102100210210210210210210ACjAClF`11`21````00`1`20BFh11113013011313131330`3013011301130133333033113011113AChACn54523AEb563463466344045464645634634634634C@dC@fC@h2```````BHl00``AEdBHhBHnBHjBI`BIbBIdBIf6488888765432108765432108765432107654321076543210732107777787654321087654321088765432108765432107887654321088765432107765321777777787654321087654321087654321048765432104587477654321088765432108765432108765432105876543210C@j0C@lC@n``En``ACf0```1`1`1`1``0``0BJnBK`BKbBKdBKfBKhBKjBJl9BKl::::3In:987165432;:987165432;2;:98765432;:98765432;:98765432;9900081`:987165432;:987165432;;:998877165432;;:987165432;398799998888777712:987165432;;::9887165432;;;;9909:987165432;;:987165432;654329:987165432;2999989000:987165432;89987;;3;20:98765432;;:987165432;:987165432;:987165432;0:987165432;871CA`CAbCAdCAfCAh4332``Fd`0``0BLb1111J`12122222001`1212212212001221222121212AEf23BLd444224434343434CAjCAl``BLf0BLh10111101010100101010100101010110101010`````````BLn`BLl01100000000010000000011000000000`````````````ADfBMbBM`CAnBMn43243204324324324242CB`530543543554335435355553333115435435353BN`26540654BNb476503`BMl486487654448632448761128768768765CBb6987`BL`","f":"``````````````````````````````{{bd}f}000000`{b{{b{h}}}}00000``{{{b{j}}}{{n{{b{l}}}}}}{{{b{A`}}}{{n{{b{l}}}}}}{{{b{{Ab{c}}}}}bAd}{{{b{Af{Ab{c}}}}}{{b{Af}}}Ad}{{{b{{Ab{c}}}}}nAd}{b{{b{c}}}{}}0000000{{{b{Af}}}{{b{Afc}}}{}}0000000{AhA`}{AjA`}{{{Al{c}}}A`{{B`{An}}}}{{BbAn}j}{{{b{j}}}{{n{{b{h}}}}}}{{{b{A`}}}{{n{{b{h}}}}}}{{{b{{Ab{c}}}}}{{Ab{c}}}{BdAd}}{{{b{j}}}j}{{{b{Ah}}}Ah}{{{b{Aj}}}Aj}{{{b{{Al{c}}}}}{{Al{c}}}Bd}{{{b{A`}}}A`}{{{b{{Bf{c}}}}}{{Bf{c}}}Bd}{{b{b{Afc}}}f{}}000000{bf}000000{{{b{{Ab{c}}}}{b{{Bh{ce}}}}}{{Bj{{Ab{c}}}}}AdBl}{{{b{{Ab{c}}}}}{{Bj{{Ab{c}}}}}Ad}{{{b{Bn}}}{{Bj{c}}}C`}{b{{Bj{c}}}{}}{{{b{{Ab{c}}}}{b{AfCb}}Cd}{}Ad}``{{}Cf}{Ch{{b{c}}}{}}0000000{{{b{{Bf{c}}}}}{{b{e}}}{}{}}{Ch{{b{Afc}}}{}}0000000{{{b{j}}}{{b{Cj}}}}{{{b{A`}}}{{b{Cj}}}}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}{c{{Cn{{Ab{e}}}}}D`Ad}1{c{{Cn{j}}}D`}2222{c{{Cn{A`}}}D`}33{Chf}0000000{{{b{{Ab{c}}}}{b{{Ab{c}}}}}DbAd}{{b{b{c}}}Db{}}000`{{{b{{Ab{c}}}}{b{{Ab{c}}}}{b{{Dl{{Dj{{n{{Dh{c{Dd{c}}Df}}}}}}}}}}}{{Cn{fDn}}}Ad}{Ah{{Cn{cA`}}}{}}{Aj{{Cn{cA`}}}{}}{{{Al{c}}}{{Cn{eA`}}}{{B`{An}}}{}}`{{{b{Af{Ab{c}}}}Ch}{{Cn{fE`}}}Ad}{{{b{Af{Ab{c}}}}}fAd}{{{b{{Ab{c}}}}{b{AfEb}}}{{Cn{fEd}}}Ad}{{{b{{Ab{c}}}}{b{AfEb}}}{{Cn{fEd}}}{EfAd}}{{{b{j}}{b{AfEb}}}Eh}0{{{b{Ah}}{b{AfEb}}}Eh}{{{b{Aj}}{b{AfEb}}}Eh}{{{b{{Al{c}}}}{b{AfEb}}}EhEf}{{{b{A`}}{b{AfEb}}}Eh}0{{{b{{Bf{c}}}}{b{AfEb}}}EhEf}{cc{}}{{{Ej{AnBb}}}j}1{Elj}{Enj}{F`j}{Fbj}{Fdj}6666{FfA`}{FhA`}8{Fjc{}}{c{{Bf{c}}}{}}{{{Dl{c}}}{{Bf{c}}}{}};{Flc{}}0{ceFn{}}{ceG`{}}{{{b{{Gb{c}}}}}{{Ab{c}}}Ad}3{{bb}{{Ab{c}}}Ad}{{{b{c}}{b{e}}}Cd{GdGf}Gh}{{{b{{Ab{c}}}}{b{Afe}}}fAdGj}{{{b{{Ab{c}}}}}CdAd}`{{}Ch}0000000`````{cjGl}{{}c{}}0000000{{Ahc}A`{}}{{Ajc}A`{}}{{{Al{c}}e}A`{{B`{An}}}{}}{{{b{{Ab{c}}}}}{{Dh{c{Gn{c}}H`}}}Ad}{{}{{Cn{HbHd}}}}0000000{b{{Hf{c}}}{}}{b}`````{{{b{{Ab{c}}}}}{{Bj{{Ab{c}}}}}Ad}{{{b{{Ab{c}}}}}{}Ad}22222222`{{{b{{Bf{c}}}}i}{{Hl{{Hj{Hh}}}}}{HnI`}{}{}{Hn{If{{b{e}}}{{Ib{{Id{g}}}}}}}}{{Cfe{Ih{cgi}}k}{{Cn{fj}}}Ad{{Ij{c}}{Il{c}}{In{c}}J`JbHnI`}{{Jd{c}}}BlJf}{{{b{{Ab{c}}}}e}Cn{AdJh}Jj}{{{b{j}}c}CnJj}{{{b{A`}}c}CnJj}`{{{b{j}}}{{n{{b{h}}}}}}{{{b{A`}}}{{n{{b{h}}}}}}`{{{b{j}}}Bb}{{{b{A`}}}Bb}```{bc{}}000000{bAn}00{c{{Cn{e}}}{}{}}0000000{{}{{Cn{c}}}{}}0000000{Bn{{Cn{cBn}}}C`}{{}{{Cn{cc}}}{}}{bJl}0000000`{{{b{Af{Ab{c}}}}}nAd}{{{b{{Ab{c}}}}}{{n{{Dh{c{Dd{c}}Df}}}}}Ad}{{{b{{Ab{c}}}}}{}Ad}`{{}c{}}0000000`````````````````````````````````````````````````````````````{{bd}f}000000000000000000000`{{{b{Jn}}{K`{c}}}{{`{Hn{Hh{}{{Ib{{Kb{f}}}}}}}}}Ad}{b{{b{h}}}}00000{{{b{{Kd{c}}}}}{{n{{b{l}}}}}Ad}{{{b{El}}}{{n{{b{l}}}}}}`{{{b{{Kf{c}}}}}{{Kh{c}}}Ad}{{{b{{Kj{c}}}}}{{Kh{c}}}Ad}{{{b{{Kl{c}}}}}{{Kh{c}}}Ad}{{{b{{Kn{c}}}}}{{Kh{c}}}Ad}``{{{b{{Kn{c}}}}}CdAd}{b{{b{c}}}{}}00000000000000000000000{{{b{Af}}}{{b{Afc}}}{}}00000000000000000000000{{{L`{c}}}El{{B`{An}}}}{{{Lb{c}}}El{{B`{An}}}}{{{Ld{c}}}El{{B`{An}}}}{{{Lf{ce}}}El{{B`{Cd}}}{{B`{Cd}}}}{{{Lh{ceg}}}El{{B`{Ch}}}{{B`{Ch}}}{{B`{Ch}}}}{{{Lj{ce}}}El{{B`{An}}}{{B`{Bb}}}}{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}{Bj{k}}}{{n{c}}}{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}{}}0{{{b{{Kd{c}}}}}{{n{{b{h}}}}}Ad}{{{b{El}}}{{n{{b{h}}}}}}{{{b{{N`{c}}}}}{{N`{c}}}Ad}{{{b{{Nb{c}}}}}{{Nb{c}}}Ad}{{{b{{K`{c}}}}}{{K`{c}}}{BdAd}}{{{b{{Kf{c}}}}}{{Kf{c}}}{BdAd}}{{{b{{Kd{c}}}}}{{Kd{c}}}{BdAd}}{{{b{{Nd{c}}}}}{{Nd{c}}}{BdAd}}{{{b{{Kj{c}}}}}{{Kj{c}}}{BdAd}}{{{b{{Kl{c}}}}}{{Kl{c}}}{BdAd}}{{{b{{Kn{c}}}}}{{Kn{c}}}{BdAd}}{{{b{{Nf{c}}}}}{{Nf{c}}}{BdAd}}{{{b{{Nh{c}}}}}{{Nh{c}}}{BdAd}}{{{b{{Nj{c}}}}}{{Nj{c}}}{AdBd}}{{{b{{Nl{c}}}}}{{Nl{c}}}{AdBd}}{{{b{Nn}}}Nn}{{{b{O`}}}O`}{{{b{{L`{c}}}}}{{L`{c}}}Bd}{{{b{{Lb{c}}}}}{{Lb{c}}}Bd}{{{b{{Ld{c}}}}}{{Ld{c}}}Bd}{{{b{{Lf{ce}}}}}{{Lf{ce}}}BdBd}{{{b{{Lh{ceg}}}}}{{Lh{ceg}}}BdBdBd}{{{b{{Lj{ce}}}}}{{Lj{ce}}}BdBd}{{{b{El}}}El}{{b{b{Afc}}}f{}}000000000000000000000{bf}000000000000000000000{{{b{{N`{c}}}}{b{{N`{c}}}}}ObAd}{{{b{{Nb{c}}}}{b{{Nb{c}}}}}ObAd}{{{b{{Kl{c}}}}}{{b{Od}}}Ad}{{b{b{c}}}Ob{}}0{{{Of{c}}g}{{Cn{ce}}}{}{hOh}{{On{e}{{Oj{Ol}}}}}}{{{b{{Kj{c}}}}}{{b{{A@`{c}}}}}Ad}{{}A@b}{{{b{A@b}}c}{{Cn{{A@d{eElc}}A@f}}}Jf{HnI`A@h}}{Ch{{b{c}}}{}}00000000000000000000000{Ch{{b{Afc}}}{}}00000000000000000000000{{{b{{Kd{c}}}}}{{b{Cj}}}Ad}{{{b{El}}}{{b{Cj}}}}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}000{c{{Cn{{Kf{e}}}}}D`Ad}11{c{{Cn{{Nd{e}}}}}D`Ad}22{c{{Cn{{Kj{e}}}}}D`Ad}3{c{{Cn{{Kl{e}}}}}D`Ad}4{c{{Cn{{Kn{e}}}}}D`Ad}5{c{{Cn{{Nf{e}}}}}D`Ad}6{c{{Cn{{Nh{e}}}}}D`Ad}77{c{{Cn{Nn}}}D`}8888888888{c{{Cn{El}}}D`}{Chf}00000000000000000000000{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}}{{Hj{Mn}}}{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}}0{{{b{{Nd{c}}}}}{{`{{Mn{}{{Ml{{Ej{{A@j{c}}{A@l{c}}}}}}}}}}}Ad}{{{b{{N`{c}}}}{b{{N`{c}}}}}DbAd}{{{b{{Nb{c}}}}{b{{Nb{c}}}}}DbAd}{{{b{{Kf{c}}}}{b{{Kf{c}}}}}Db{MdAd}}{{{b{{Nd{c}}}}{b{{Nd{c}}}}}Db{MdAd}}{{{b{{Kj{c}}}}{b{{Kj{c}}}}}Db{MdAd}}{{{b{{Kl{c}}}}{b{{Kl{c}}}}}Db{MdAd}}{{{b{{Kn{c}}}}{b{{Kn{c}}}}}Db{MdAd}}{{{b{{Nf{c}}}}{b{{Nf{c}}}}}Db{MdAd}}{{{b{{Nh{c}}}}{b{{Nh{c}}}}}Db{MdAd}}{{{b{{Nj{c}}}}{b{{Nj{c}}}}}Db{AdMd}}{{{b{{Nl{c}}}}{b{{Nl{c}}}}}Db{AdMd}}{{{b{Nn}}{b{Nn}}}Db}{{b{b{c}}}Db{}}00000000000000000000000000000000000000000000000`{{{L`{c}}}{{Cn{eEl}}}{{B`{An}}}{}}{{{Lb{c}}}{{Cn{eEl}}}{{B`{An}}}{}}{{{Ld{c}}}{{Cn{eEl}}}{{B`{An}}}{}}{{{Lf{ce}}}{{Cn{gEl}}}{{B`{Cd}}}{{B`{Cd}}}{}}{{{Lh{ceg}}}{{Cn{iEl}}}{{B`{Ch}}}{{B`{Ch}}}{{B`{Ch}}}{}}{{{Lj{ce}}}{{Cn{gEl}}}{{B`{An}}}{{B`{Bb}}}{}}`{{{b{{N`{c}}}}{b{AfEb}}}EhAd}0{{{b{{Nb{c}}}}{b{AfEb}}}EhAd}0{{{b{{K`{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Kf{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Kd{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Kd{c}}}}{b{AfEb}}}EhAd}{{{b{{Nd{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Kj{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Kl{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Kn{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Nf{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Nh{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Nj{c}}}}{b{AfEb}}}Eh{AdEf}}{{{b{{Nl{c}}}}{b{AfEb}}}Eh{AdEf}}{{{b{Nn}}{b{AfEb}}}Eh}{{{b{A@b}}{b{AfEb}}}Eh}{{{b{O`}}{b{AfEb}}}Eh}{{{b{{L`{c}}}}{b{AfEb}}}EhEf}{{{b{{Lb{c}}}}{b{AfEb}}}EhEf}{{{b{{Ld{c}}}}{b{AfEb}}}EhEf}{{{b{{Lf{ce}}}}{b{AfEb}}}EhEfEf}{{{b{{Lh{ceg}}}}{b{AfEb}}}EhEfEfEf}{{{b{{Lj{ce}}}}{b{AfEb}}}EhEfEf}{{{b{El}}{b{AfEb}}}Eh}0{cc{}}{{{A@n{c}}}{{N`{c}}}Ad}1{Ch{{N`{c}}}Ad}{Ch{{Nb{c}}}Ad}3{{{Kh{c}}}{{Nb{c}}}Ad}4{{{Kf{c}}}{{K`{c}}}Ad}5555{{{Nd{c}}}{{Kj{c}}}Ad}666{{{Nd{c}}}{{Nf{c}}}Ad}7{{{Nd{c}}}{{Nj{c}}}Ad}8{{{Kl{c}}}{{Nl{c}}}Ad}99999999999{AA`El}{{{Ej{AnBb}}}El}`{b{{AAb{{Kf{c}}}}}Ad}{b{{AAb{{Nd{c}}}}}Ad}{b{{AAb{{Kj{c}}}}}Ad}{b{{AAb{{Kl{c}}}}}Ad}{b{{AAb{{Nj{c}}}}}Ad}{b{{AAb{{Nl{c}}}}}Ad}{{bb}{{Kf{c}}}Ad}{{bb}{{Nd{c}}}Ad}{{bb}{{Kj{c}}}Ad}{{bb}{{Kl{c}}}Ad}{{{b{Ij}}e}{{Hl{{Hj{Hh}}}}}Ad{{B`{{Nb{c}}}}HnI`}}{{{b{Ij}}c}{{Hl{{Hj{Hh}}}}}{{AAd{Ch}}Hn}}{{{b{Ij}}{AAf{Ch}}Ch}{{Hl{{Hj{Hh}}}}}}{{{b{c}}{b{e}}}Cd{GdGf}Gh}0{{{b{Ij}}e}{{Hl{{Hj{Hh}}}}}Ad{{B`{{N`{c}}}}HnI`}}32443232{{{b{Ij}}{AAh{c}}}{{Hl{{Hj{Hh}}}}}Ad}554343{{{b{{N`{c}}}}{b{Afe}}}fAdGj}{{{b{{Nb{c}}}}{b{Afe}}}fAdGj}{{{b{{Kf{c}}}}}{{A@n{c}}}Ad}{{{b{{Nd{c}}}}}{{Kh{c}}}Ad}{{{b{{Kj{c}}}}}AAjAd}{{{b{{Kn{c}}}}}{{AAh{c}}}Ad}{{{b{{Nf{c}}}}}{{Kh{c}}}Ad}`{{{b{{Kf{c}}}}}{{b{{AAl{c}}}}}Ad}{{{b{{Nd{c}}}}}{{b{{AAl{c}}}}}Ad}{{{b{{Nf{c}}}}}{{b{{AAl{c}}}}}Ad}{{{b{{K`{c}}}}}CdAd}{{{b{{Kf{c}}}}}CdAd}{{{b{{Nd{c}}}}}CdAd}{{{b{{Kj{c}}}}}CdAd}{{{b{{Kl{c}}}}}CdAd}{{{b{{Nf{c}}}}}CdAd}{{{b{{Nj{c}}}}}CdAd}{{{b{{Nl{c}}}}}CdAd}```{{{b{{Kn{c}}}}}CdAd}`{{}Ch}00000000000000000000000{cElGl}{{}c{}}00000000000000000000000{{O`c}El{}}{{{L`{c}}e}El{{B`{An}}}{}}{{{Lb{c}}e}El{{B`{An}}}{}}{{{Ld{c}}e}El{{B`{An}}}{}}{{{Lf{ce}}g}El{{B`{Cd}}}{{B`{Cd}}}{}}{{{Lh{ceg}}i}El{{B`{Ch}}}{{B`{Ch}}}{{B`{Ch}}}{}}{{{Lj{ce}}g}El{{B`{An}}}{{B`{Bb}}}{}}{{{Of{c}}}eHn{}}{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}}Db{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}}0{{{b{{Nd{c}}}}}DbAd}{{{b{{Of{c}}}}}Db{}}{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}}e{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}}``{{}{{Cn{HbHd}}}}00000000000000000000000{{{b{{Kf{c}}}}}{{b{{Ab{c}}}}}Ad}``{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}}Ch{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}}{{{b{{Nd{c}}}}}ChAd}`{{{Of{c}}g}{{Of{e}}}{}{}{Hn{If{c}{{Ib{e}}}}}}`{{{b{{Nd{c}}}}}{{b{{AAn{c}}}}}Ad}{{{Kf{c}}{n{{Nd{c}}}}{n{{Kl{c}}}}{n{AB`}}}{{K`{c}}}Ad}{{{Ab{c}}{ABb{c}}}{{Cn{{Kf{c}}{Kd{c}}}}}Ad}{{{AAl{c}}{A@`{c}}}{{Nd{c}}}Ad}{{{AAl{c}}Od}{{Kl{c}}}Ad}{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}Ch}{{n{c}}}{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}}0{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}Ch}{{n{k}}}{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}{}}0{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}Ch}{{n{{Ej{kg}}}}}{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}{}}0{{{b{{Nd{c}}}}}CdAd}{{{b{{Nf{c}}}}}CdAd}`{{{b{{N`{c}}}}{b{{N`{c}}}}}{{n{Ob}}}Ad}{{{b{{Nb{c}}}}{b{{Nb{c}}}}}{{n{Ob}}}Ad}{{{b{{Nd{c}}}}}{{b{{A@`{c}}}}}Ad}{{{b{{Kf{c}}}}}AAjAd}{{{b{{Nd{c}}}}}AAjAd}{{{b{{Kl{c}}}}}AAjAd}`{b}00000000000000000000000{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}{b{c}}}{{n{g}}}{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}}0{{{b{{Kn{c}}}}}{{b{{ABd{c}}}}}Ad}{{{b{{Kf{c}}}}}{{b{{ABb{c}}}}}Ad}`{{{Of{c}}}cHn}```{{{b{{Kf{c}}}}e}CnAdJj}{{{b{{Nd{c}}}}e}CnAdJj}{{{b{{Kj{c}}}}e}CnAdJj}{{{b{{Kl{c}}}}e}CnAdJj}{{{b{{Kn{c}}}}e}CnAdJj}{{{b{{Nf{c}}}}e}CnAdJj}{{{b{{Nh{c}}}}e}CnAdJj}{{{b{Nn}}c}CnJj}{{{b{El}}c}CnJj}{{{b{{Nd{c}}}}}CdAd}{{{b{{Kj{c}}}}}CdAd}{{{b{{Nf{c}}}}}CdAd}```{{{b{{Kd{c}}}}}{{n{{b{h}}}}}Ad}{{{b{El}}}{{n{{b{h}}}}}}{{{b{El}}}Bb}`{{{b{Ij}}Ch}{{Hl{{Hj{Hh}}}}}}00000000000{{{b{ABf}}}Cd}{bc{}}000000000000000000000{bAn}000{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}{b{c}}}{{n{k}}}{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}{}}0{{{b{{Nd{c}}}}{b{{A@j{c}}}}}{{n{{A@l{c}}}}}Ad}{{{b{{Kn{c}}}}}{{b{{A@l{c}}}}}Ad}{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}{Bj{k}}}{{n{k}}}{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}{}}0{{{b{{Nd{c}}}}{Bj{{A@l{c}}}}}{{n{{A@j{c}}}}}Ad}{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}{Bj{k}}}{{n{{Ej{kg}}}}}{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}{}}0{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}{b{c}}}{{n{{Ej{kg}}}}}{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}{}}{c{{Cn{e}}}{}{}}00000000000000000000000{{}{{Cn{c}}}{}}00000000000000000000000{{{Of{c}}}{{Cn{c{Of{c}}}}}{}}{bJl}00000000000000000000000```{{}c{}}00000000000000000000000{{{Of{c}}i}{{Cn{ce}}}{}{hOh}{{On{e}{{Oj{Ol}}}}}{{If{}{{Ib{g}}}}}}{{{Of{c}}ABh}{{n{c}}}Hn}``````````````````````{{bd}f}0{{{b{{ABj{eg}}}}{K`{c}}}{{Kb{f}}}Ad{{Jn{c}}HnI`}{HnI`}}{{{b{Af{ABj{ce}}}}}{{b{Afe}}}{}{}}{{{b{{ABj{ce}}}}}{{b{e}}}{}{}}`{{{b{{ABj{ce}}}}}{{Hl{{Hj{Hh}}}}}{J`HnI`}{HnI`}}{{{b{{ABj{eg}}}}}{{Hl{{Hj{Hh}}}}}Ad{{In{c}}HnI`}{HnI`}}{{{b{ABl}}}{{Hl{{Hj{Hh}}}}}}{b{{b{c}}}{}}0{{{b{Af}}}{{b{Afc}}}{}}0{{{b{{ABj{ce}}}}}{{ABj{ce}}}BdBd}{{{b{ABl}}}ABl}{{b{b{Afc}}}f{}}0{bf}0{ABn{{`{{Hh{}{{Ib{{Kb{f}}}}}}Hn}}}}{{{b{c}}}{{Hl{{Hj{Hh}}}}}{}}0{{{b{{ABj{eg}}}}i}{{Hl{{Hj{Hh}}}}}Ad{{In{c}}HnI`}{HnI`}{{AAd{Ch}}Hn}}{Ch{{Hl{{Hj{Hh}}}}}}0{{}ABl}{Ch{{b{c}}}{}}0{Ch{{b{Afc}}}{}}0{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}0{Chf}0`{{{b{{ABj{ce}}}}{b{AfEb}}}EhEfEf}{{{b{ABl}}{b{AfEb}}}Eh}{cc{}}0`{{{b{{ABj{eg}}}}i}{{Hl{{Hj{Hh}}}}}Ad{{Ij{c}}HnI`}{HnI`}{{B`{{Nb{c}}}}HnI`}}{{{b{{ABj{eg}}}}{AC`{c}}}{{Hl{{Hj{Hh}}}}}Ad{{ACb{c}}I`}{HnI`}}{{{b{{ABj{eg}}}}i}{{Hl{{Hj{Hh}}}}}Ad{{Ij{c}}HnI`}{HnI`}{{AAd{Ch}}Hn}}{{{b{{ABj{eg}}}}{AAf{Ch}}Ch}{{Hl{{Hj{Hh}}}}}Ad{{Ij{c}}HnI`}{HnI`}}{{{b{{ABj{eg}}}}{ACd{c}}}{{Hl{{Hj{Hh}}}}}Ad{{ACb{c}}I`}{HnI`}}{{{b{{ABj{eg}}}}}{{Hl{{Hj{Hh}}}}}Ad{{ACb{c}}I`}{HnI`}}{{{b{{ABj{eg}}}}iCdCh}{{Hl{{Hj{Hh}}}}}Ad{{In{c}}HnI`}{HnI`}{{B`{{ACf{c}}}}HnI`}}{{{b{{ABj{ce}}}}}{{Hl{{Hj{Hh}}}}}{AChI`}{HnI`}}{{{b{{ABj{eg}}}}i}{{Hl{{Hj{Hh}}}}}Ad{{Ij{c}}HnI`}{HnI`}{{B`{{N`{c}}}}HnI`}}65{{{b{{ABj{gi}}}}{ACj{ce}}}{{Hl{{Hj{Hh}}}}}Ad{{ACl{c}}}{{ACn{ce}}I`}{HnI`}}997676{{{b{{ABj{eg}}}}AD`}{{Hl{{Hj{Hh}}}}}Ad{{ACb{c}}I`}{HnI`}}{{{b{{ABj{eg}}}}{AAh{c}}}{{Hl{{Hj{Hh}}}}}Ad{{Ij{c}}HnI`}{HnI`}}{{{b{{ABj{eg}}}}{ADb{c}}}{{Hl{{Hj{Hh}}}}}Ad{{ACb{c}}I`}{HnI`}}{{{b{{ABj{eg}}}}{ADd{c}}}{{Hl{{Hj{Hh}}}}}Ad{{ACb{c}}I`}{HnI`}}==;:;:{{{b{{ABj{ce}}}}{b{{ADh{ADf}}}}}{{Hl{{Hj{Hh}}}}}{ADj{Il{ADf}}}{BdADlHnI`}}{{{b{ABl}}{b{{ADh{ADf}}}}}{{Hl{{Hj{Hh}}}}}}{{}Ch}0{{{b{{ABj{ce}}}}}{{b{c}}}{}{}}{{{b{Af{ABj{ce}}}}}{{b{Afc}}}{}{}}{{{b{Af{ABj{gi}}}}ADn{AE`{Ch}}Cd}{{Hl{{Hj{Hh}}}}}Ad{{ACl{c}}}{{AEb{ce}}HnI`}{HnI`}}{{}c{}}0{{}{{Cn{HbHd}}}}0{{{b{{ABj{ce}}}}}{{b{AEd}}}AEf{}}{{{b{ABl}}}{{b{AEd}}}}{{ce}{{ABj{ce}}}{}{}}`{{{b{{ABj{eg}}}}i}{{Hl{{Hj{Hh}}}}}Ad{{In{c}}HnI`}{HnI`}{{AAd{Ch}}Hn}}`{b}0{b{{Hj{AEh}}}}0{{{b{{Jb{}{{AEj{c}}{AEl{e}}}}}}}{{`{{Hh{}{{Ib{{Kb{e}}}}}}Hn}}}ABnABn}{{{b{{ABj{ce}}}}}{{Kb{g}}}{JbHn}{HnI`}{}}{{{b{c}}}{{Hl{{Hj{Hh}}}}}{}}0{ABn{{`{HhHn}}}}{{{b{Af{ABj{gi}}}}Ch}{{Hl{{Hj{Hh}}}}}Ad{{ACl{c}}}{{AEb{ce}}HnI`}{HnI`}}```{{{b{{ABj{eg}}}}}{{Hl{{Hj{Hh}}}}}Ad{{In{c}}HnI`}{HnI`}}{bc{}}0{c{{Cn{e}}}{}{}}0{{}{{Cn{c}}}{}}0{bJl}0{{{b{Il}}{b{{ADh{c}}}}}{{Hl{{Hj{Hh}}}}}Ad}{{b{b{{ADh{c}}}}}{{Hl{{Hj{Hh}}}}}{}}{{{b{{ABj{eg}}}}i}{{Hl{{Hj{Hh}}}}}Ad{{In{c}}HnI`}{HnI`}{{B`{{Nb{c}}}}HnI`}}{{}c{}}0{{{b{{Jb{}{{AEj{c}}{AEl{e}}}}}}}{{`{{Hh{}{{Ib{{Kb{c}}}}}}Hn}}}ABnABn}={{}f}00````{{bd}f}0{{{b{{AEn{ceg}}}}{K`{c}}}{{Kb{f}}}AdJb{{AF`{c}}}}{{{b{{AEn{ceg}}}}}{{b{e}}}Ad{}{}}{{{b{{AEn{ceg}}}}}{{Hl{{Hj{Hh}}}}}Ad{JbAEfHnI`}{HnI`}}{{{b{{AEn{ceg}}}}}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}}{b{{b{c}}}{}}00{{{b{Af}}}{{b{Afc}}}{}}00{{{AFb{ceg}}}{{Kb{{AEn{ceg}}}}}Ad{AFdJbAEf}{{AF`{c}}}}{{cg}{{AFb{ecg}}}{JbAFdAEf}Ad{{AF`{e}}}}{{{b{{AEn{ceg}}}}}{{AEn{ceg}}}Ad{}{}}{{{b{{AFf{ceg}}}}}{{AFf{ceg}}}Ad{}{}}{{b{b{Afc}}}f{}}0{bf}0{{AFhe}{{Cn{{AFj{ce}}AFl}}}Ad{{AF`{c}}}}{{{b{{AEn{ceg}}}}i}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}{{AAd{Ch}}Hn}}{{{b{AFn}}e}{{Kb{{AEn{c{AG`{c}}e}}}}}Ad{{AF`{c}}}}{{{b{AfAGb}}e}{{Kb{{AEn{c{AG`{c}}e}}}}}Ad{{AF`{c}}}}{Ch{{b{c}}}{}}00{Ch{{b{Afc}}}{}}00{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}00{{{AFb{ceg}}}{{AFb{ceg}}}{}{}{}}0{Chf}00{{{b{{AEn{ceg}}}}{b{AfEb}}}EhAdEfEf}{{{b{{AFf{ceg}}}}{b{AfEb}}}EhAdEfEf}{cc{}}00{{{b{{AEn{ceg}}}}i}{{Hl{{Hj{Hh}}}}}AdJb{{AF`{c}}}{{B`{{Nb{c}}}}HnI`}}{{{b{{AEn{ceg}}}}{AC`{c}}}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}}{{{b{{AEn{ceg}}}}i}{{Hl{{Hj{Hh}}}}}AdJb{{AF`{c}}}{{AAd{Ch}}Hn}}{{{b{{AEn{ceg}}}}{AAf{Ch}}Ch}{{Hl{{Hj{Hh}}}}}AdJb{{AF`{c}}}}{{{b{{AEn{ceg}}}}{ACd{c}}}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}}{{{b{{AEn{ceg}}}}}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}}{{{b{{AEn{ceg}}}}iCdCh}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}{{B`{{ACf{c}}}}HnI`}}1{{{b{{AEn{ceg}}}}i}{{Hl{{Hj{Hh}}}}}AdJb{{AF`{c}}}{{B`{{N`{c}}}}HnI`}}54{{{b{{AEn{ceg}}}}{ACj{ci}}}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}{{ACl{c}}}}886565{{{b{{AEn{ceg}}}}AD`}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}}{{{b{{AEn{ceg}}}}{AAh{c}}}{{Hl{{Hj{Hh}}}}}AdJb{{AF`{c}}}}{{{b{{AEn{ceg}}}}{ADb{c}}}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}}{{{b{{AEn{ceg}}}}{ADd{c}}}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}}<<:9:9{{}Ch}00{{}c{}}00{{}{{Cn{HbHd}}}}00{{{b{{AEn{ceg}}}}}{{b{AEd}}}AdAEf{}}{{ce}{{AFb{gce}}}{}{}{}}{{{b{AFn}}e}{{Kb{{AEn{c{AG`{c}}e}}}}}Ad{{AF`{c}}}}{{{b{AfAGb}}e}{{Kb{{AEn{c{AG`{c}}e}}}}}Ad{{AF`{c}}}}{{{b{{AEn{ceg}}}}i}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}{{AAd{Ch}}Hn}}{b}00{b{{Hj{AEh}}}}{{{b{{AEn{ceg}}}}}{{Kb{i}}}Ad{JbHnI`}{HnI`}{}}{{{b{{AEn{c{AG`{c}}e}}}}}{{Kb{f}}}Ad{{AF`{c}}}}{{{b{{AEn{ceg}}}}}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}}{bc{}}0{c{{Cn{e}}}{}{}}00{{}{{Cn{c}}}{}}00{bJl}00{{b{b{{ADh{c}}}}}{{Hl{{Hj{Hh}}}}}{}}{{{b{{AEn{ceg}}}}i}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}{{B`{{Nb{c}}}}HnI`}}{{}c{}}00{{{AFb{ceg}}ABh}{{AFb{ceg}}}{}{}{}}{{{AFb{ceg}}Ch}{{AFb{ceg}}}{}{}{}}100111000{{{AFb{ceg}}AGd}{{AFb{ceg}}}{}{}{}}02<``{{{b{c}}}{{Hl{{Hj{Hh}}}}}{}}{Ch{{Hl{{Hj{Hh}}}}}}{{{b{AFn}}e}{{Kb{{AGf{ce}}}}}Ad{{AF`{c}}}}{{{b{AfAGb}}e}{{Kb{{AGf{ce}}}}}Ad{{AF`{c}}}}{{{b{{AGf{ADfc}}}}{b{{ADh{ADf}}}}}{{Hl{{Hj{Hh}}}}}{{AF`{ADf}}ADl}}214{{{b{{AGf{ce}}}}}{{Kb{f}}}Ad{{AF`{c}}}}{{}f}00000000``````{{AFhe}{{Cn{{AFj{ce}}AFl}}}Ad{{AF`{c}}}}{{AFhe}{{Cn{{AGh{ce}}AFl}}}Ad{{AF`{c}}}}817{{{b{{AGh{ADfc}}}}{b{{ADh{ADf}}}}}{{Hl{{Hj{Hh}}}}}{{AF`{ADf}}ADl}}`9``3````````````{{bd}f}{{{b{AfAGj}}}{{`{{Hh{}{{Ib{{Kb{Ch}}}}}}Hn}}}}{{{b{AfAGl}}}{{Hl{{Hj{Hh}}}}}}{b{{b{c}}}{}}{{{b{Af}}}{{b{Afc}}}{}}{{{b{AGn}}}AGn}{{b{b{Afc}}}f{}}{bf}{{{b{AfAGl}}c}{{Hl{{Hj{Hh}}}}}{{AAd{Ch}}Hn}}{{}AGn}{Ch{{b{c}}}{}}{Ch{{b{Afc}}}{}}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}{Chf}`{{{b{AfAH`}}Cd}{{Hl{{Hj{Hh}}}}}}{{{b{AGn}}{b{AfEb}}}Eh}{cc{}}`{{{b{AfAH`}}{Nb{c}}}{{Hl{{Hj{Hh}}}}}Ad}{{{b{AfAHb}}{AC`{c}}}{{Hl{{Hj{Hh}}}}}Ad}{{{b{AfAH`}}c}{{Hl{{Hj{Hh}}}}}{{AAd{Ch}}Hn}}{{{b{AfAHb}}{ACd{c}}}{{Hl{{Hj{Hh}}}}}Ad}{{{b{AfAHb}}}{{Hl{{Hj{Hh}}}}}}4{{{b{AfAGl}}eCdCh}{{Hl{{Hj{Hh}}}}}Ad{{B`{{ACf{c}}}}HnI`}}{{{b{AfAHd}}}{{Hl{{Hj{Hh}}}}}}{{{b{AfAH`}}{N`{c}}}{{Hl{{Hj{Hh}}}}}Ad}5{{{b{AfAHf}}{ACj{ce}}}{{Hl{{Hj{Hh}}}}}Ad{{ACl{c}}}}8866{{{b{AfAHb}}AD`}{{Hl{{Hj{Hh}}}}}}{{{b{AfAH`}}{AAh{c}}}{{Hl{{Hj{Hh}}}}}Ad}{{{b{AfAHb}}{ADb{c}}}{{Hl{{Hj{Hh}}}}}Ad}{{{b{AfAHb}}{ADd{c}}}{{Hl{{Hj{Hh}}}}}Ad}<<::`{{}Ch}{{{b{AfAHh}}{Nd{c}}}{{`{Hn{Hh{}{{Ib{{Kb{f}}}}}}}}}Ad}{{{b{AfAHh}}{Kf{c}}}{{`{Hn{Hh{}{{Ib{{Kb{f}}}}}}}}}Ad}{{{b{AfAHh}}{Kl{c}}{n{AB`}}}{{`{Hn{Hh{}{{Ib{{Kb{f}}}}}}}}}Ad}{{}c{}}{{}{{Cn{HbHd}}}}{{{b{AfAGj}}}{{`{{Hh{}{{Ib{{Kb{{n{AGn}}}}}}}}Hn}}}}``{{{b{AfAGl}}c}{{Hl{{Hj{Hh}}}}}{{AAd{Ch}}Hn}}{b}``{{{b{AfAGl}}}{{Hl{{Hj{Hh}}}}}}{bc{}}{c{{Cn{e}}}{}{}}{{}{{Cn{c}}}{}}{bJl}{{{b{AfAHj}}AGn{b{{AHl{{Nj{c}}}}}}}{{`{{Hh{}{{Ib{{Kb{AGn}}}}}}Hn}}}Ad}{{{b{AfAGl}}e}{{Hl{{Hj{Hh}}}}}Ad{{B`{{Nb{c}}}}HnI`}};````````````````````{{bd}f}0{{{b{Af{AHn{c}}}}}{{Kb{Ch}}}{AGjHnI`}}{{{b{Af{AHn{e}}}}}{{Hl{{Hj{Hh}}}}}Ad{{AGl{c}}HnI`}}{b{{b{c}}}{}}00{{{b{Af}}}{{b{Afc}}}{}}00{{{b{AI`}}}AI`}{{{b{{AIb{c}}}}}{{AIb{c}}}Bd}{{b{b{Afc}}}f{}}0{bf}0{{{AHn{c}}}{{Kb{f}}}ABn}{{{b{Af{AHn{e}}}}g}{{Hl{{Hj{Hh}}}}}Ad{{AGl{c}}HnI`}{{AAd{Ch}}Hn}}{Ch{{b{c}}}{}}00{Ch{{b{Afc}}}{}}00{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}00{Chf}00{{{b{AI`}}{b{AI`}}}Db}{{b{b{c}}}Db{}}000{{{b{{AIb{c}}}}AI`}f{}}0000000000{{{b{Af{AHn{e}}}}Cd}{{Hl{{Hj{Hh}}}}}Ad{{AH`{c}}}}{{{b{AI`}}{b{AfEb}}}Eh}{{{b{{AIb{c}}}}{b{AfEb}}}EhEf}{{{b{{AHn{c}}}}{b{AfEb}}}EhEf}{cc{}}0{Fjc{}}{c{{AIb{c}}}{}}2{Flc{}}0{ceFn{}}{ceG`{}}2{{{b{Af{AHn{e}}}}{Nb{c}}}{{Hl{{Hj{Hh}}}}}Ad{{AH`{c}}}}{{{b{Af{AHn{e}}}}g}{{Hl{{Hj{Hh}}}}}Ad{{AH`{c}}}{{AAd{Ch}}Hn}}{{{b{{AIb{c}}}}}{{Hl{{Hj{Hh}}}}}{AFdI`}}2{{{b{Af{AHn{e}}}}gCdCh}{{Hl{{Hj{Hh}}}}}Ad{{AGl{c}}HnI`}{{B`{{ACf{c}}}}HnI`}}{{{b{Af{AHn{e}}}}{N`{c}}}{{Hl{{Hj{Hh}}}}}Ad{{AH`{c}}}}34433{{{b{{AIb{c}}}}}{{n{AId}}}AIf}{{{b{Af{AHn{e}}}}{AAh{c}}}{{Hl{{Hj{Hh}}}}}Ad{{AH`{c}}}}6655{{}Ch}00{{{b{Af{AHn{e}}}}{Nd{c}}}{{Kb{f}}}Ad{{AHh{c}}HnI`}}{{{b{Af{AHn{e}}}}{Kf{c}}}{{Kb{f}}}Ad{{AHh{c}}HnI`}}{{{b{Af{AHn{e}}}}{Kl{c}}{n{AB`}}}{{Kb{f}}}Ad{{AHh{c}}HnI`}}{{}c{}}00{{}{{Cn{HbHd}}}}00{{{b{Af{AHn{c}}}}}{{Kb{{n{AGn}}}}}{AGjHnI`}}{{{b{Af{AHn{c}}}}}{{Hl{{Hj{Hh}}}}}{AIhHnI`}}{{{b{{AIb{c}}}}}{{b{AEd}}}AEf}{{{b{{AIb{c}}}}}f{}}00000{{{b{Af{AHn{e}}}}g}{{Hl{{Hj{Hh}}}}}Ad{{AGl{c}}HnI`}{{AAd{Ch}}Hn}}{b}00{{{b{{AIb{c}}}}{b{Afe}}}{{Hl{{Hj{Hh}}}}}{AFdI`}{}}{{{b{{AIb{c}}}}}{{Kb{e}}}Jb{}}{{{AHn{c}}}{{`{HhHn}}}ABn}{{{b{Af{AIb{c}}}}AId}fAIf}{{{b{Af{AHn{e}}}}}{{Hl{{Hj{Hh}}}}}Ad{{AGl{c}}HnI`}}{bc{}}0{c{{Cn{e}}}{}{}}00{{}{{Cn{c}}}{}}00{bJl}00{{{b{Af{AHn{e}}}}AGn{b{{AHl{{Nj{c}}}}}}}{{Kb{AGn}}}Ad{{AHj{c}}HnI`}}{{{b{Af{AHn{e}}}}g}{{Hl{{Hj{Hh}}}}}Ad{{AGl{c}}HnI`}{{B`{{Nb{c}}}}HnI`}}{{}c{}}00:````{{{b{Af{AIj{c}}}}}{{Kb{Ch}}}{AIlHn}}{{{b{Af{AIj{e}}}}}{{Hl{{Hj{Hh}}}}}Ad{AIl{AJb{}{{AIn{{AJ`{c}}}}}}Hn}}{b{{b{c}}}{}}00{{{b{Af}}}{{b{Afc}}}{}}00{{{AIj{{AJd{{AJ`{c}}}}}}}{{Kb{f}}}Ad}{{{AIj{{AJf{{AJ`{c}}}}}}}{{Kb{f}}}Ad}{{{b{Af{AIj{e}}}}g}{{Hl{{Hj{Hh}}}}}Ad{AIl{AJb{}{{AIn{{AJ`{c}}}}}}Hn}{{AAd{Ch}}Hn}}{{{b{AFn}}}{{Cn{{AG`{c}}AJh}}}Ad}{{{b{AfAGb}}}{{Cn{{AG`{c}}AJh}}}Ad}{Ch{{b{c}}}{}}00{Ch{{b{Afc}}}{}}00{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}00{Chf}00{{{b{Af{AIj{c}}}}}fAIl}{{{b{Af{AIj{e}}}}Cd}{{Hl{{Hj{Hh}}}}}Ad{AIl{AJb{}{{AIn{{AJ`{c}}}}}}HnI`}}{{{b{{AJ`{c}}}}{b{AfEb}}}EhAd}{{{b{{AG`{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{AIj{c}}}}{b{AfEb}}}Eh{EfAIl}}{cc{}}00{{{b{Af{AIj{e}}}}{Nb{c}}}{{Hl{{Hj{Hh}}}}}Ad{AIl{AJb{}{{AIn{{AJ`{c}}}}}}HnI`}}{{{b{Af{AIj{e}}}}g}{{Hl{{Hj{Hh}}}}}Ad{AIl{AJb{}{{AIn{{AJ`{c}}}}}}HnI`}{{AAd{Ch}}Hn}}1{{{b{Af{AIj{e}}}}gCdCh}{{Hl{{Hj{Hh}}}}}Ad{AIl{AJb{}{{AIn{{AJ`{c}}}}}}Hn}{{B`{{ACf{c}}}}HnI`}}{{{b{Af{AIj{e}}}}{N`{c}}}{{Hl{{Hj{Hh}}}}}Ad{AIl{AJb{}{{AIn{{AJ`{c}}}}}}HnI`}}23322{{{b{Af{AIj{e}}}}{AAh{c}}}{{Hl{{Hj{Hh}}}}}Ad{AIl{AJb{}{{AIn{{AJ`{c}}}}}}HnI`}}4433{{}Ch}00{{{b{Af{AIj{{AJd{{AJ`{c}}}}}}}}{Nd{c}}}{{Kb{f}}}Ad}{{{b{Af{AIj{{AJd{{AJ`{c}}}}}}}}{Kf{c}}}{{Kb{f}}}Ad}{{{b{Af{AIj{{AJd{{AJ`{c}}}}}}}}{Kl{c}}{n{AB`}}}{{Kb{f}}}Ad}{{}c{}}00{{}{{Cn{HbHd}}}}00{{{b{Af{AIj{c}}}}}{{Kb{{n{AGn}}}}}{AIlHn}}{{{b{{AG`{c}}}}}{{b{AEd}}}Ad}{{{b{AFn}}}{{Cn{{AG`{c}}AJh}}}Ad}{{{b{AfAGb}}}{{Cn{{AG`{c}}AJh}}}Ad}{{{b{Af{AIj{e}}}}g}{{Hl{{Hj{Hh}}}}}Ad{AIl{AJb{}{{AIn{{AJ`{c}}}}}}Hn}{{AAd{Ch}}Hn}}{b}00{{{b{{AG`{c}}}}}{{Kb{e}}}Ad{}}{{{b{AfAIl}}}f}{{{AIj{{AJd{{AJ`{c}}}}}}}{{`{HhHn}}}Ad}{{{AIj{{AJf{{AJ`{c}}}}}}}{{`{HhHn}}}Ad}{{{b{{AG`{c}}}}}{{Cn{fAJh}}}Ad}{{{b{Af{AIj{e}}}}}{{Hl{{Hj{Hh}}}}}Ad{AIl{AJb{}{{AIn{{AJ`{c}}}}}}Hn}}{c{{Cn{e}}}{}{}}00{{}{{Cn{c}}}{}}00{bJl}00{{{b{Af{AIj{c}}}}AGn{b{{AHl{{Nj{e}}}}}}}{{Kb{AGn}}}{AIlHn}Ad}{{{b{Af{AIj{e}}}}g}{{Hl{{Hj{Hh}}}}}Ad{AIl{AJb{}{{AIn{{AJ`{c}}}}}}Hn}{{B`{{Nb{c}}}}HnI`}}{{}c{}}00;`````{{bd}f}{{{b{AId}}}Cd}{b{{b{c}}}{}}{{{b{Af}}}{{b{Afc}}}{}}{{{b{AId}}}AId}{{b{b{Afc}}}f{}}{bf}{{}AId}{Ch{{b{c}}}{}}{Ch{{b{Afc}}}{}}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}{Chf}{{{b{AId}}{b{AfEb}}}Eh}{cc{}}{{{b{{AFd{}{{AJj{c}}}}}}}{{Hl{{Hj{Hh}}}}}{ADlHn}}{{{b{AIf}}}{{n{AId}}}}{{}Ch}{{{b{AId}}}ABh}{{}c{}}{{}{{Cn{HbHd}}}}{{{b{AfAIh}}}{{Hl{{Hj{Hh}}}}}}{{{b{AId}}}AJl}4>{b}{{{b{{AFd{}{{AJj{c}}}}}}{b{Afc}}}{{Hl{{Hj{Hh}}}}}{ADlHn}}{{{b{AId}}}{{n{Cd}}}}{{{b{AfAIf}}AId}f}8{bc{}}{c{{Cn{e}}}{}{}}{{}{{Cn{c}}}{}}{bJl}{{{b{AId}}}{{Kb{f}}}}<{{AIdCd}AId}{{AIdABh}AId}{{AIdAJl}AId}121````````````````````````````````{{bd}f}0000{{{b{Af{AJn{c}}}}}{{Kb{Ch}}}AK`}{{AKbAnAKdCd}AKf}{{{b{AKf}}}{{n{{b{AKd}}}}}}{AKhAKh}{{{b{AFl}}}{{b{h}}}}0{{{b{AFl}}}{{b{l}}}}{{{b{Af}}}{{`{{Hh{}{{Ib{{Kb{f}}}}}}Hn}}}}{{{b{Af}}}{{Kb{f}}}}0{{AKj{b{Af{AKn{AKl{b{Cj}}}}}}}{{b{Af{AKn{AKl{b{Cj}}}}}}}}{{{b{AfAL`}}c}{{ALb{An}}}{{ALd{AKl}}{ALf{AKl}}}}{{{b{Af{AJn{c}}}}}{{Hl{{Hj{Hh}}}}}AK`}{b{{b{c}}}{}}000000000{{{b{Af}}}{{b{Afc}}}{}}000000000{{{b{AfAL`}}c{b{Cj}}}{{ALb{An}}}{{AAd{Ch}}}}{{{b{Cj}}{b{Cj}}c}{{ALb{{Ej{AL`An}}}}}ALh}{{AKhe}{{Cn{{AFj{ce}}AFl}}}Ad{{AF`{c}}}}{{AKhABh}AKh}{{{b{AFl}}}ALj}{{{b{AKf}}}Cd}{{{b{Cj}}}{{Hl{{Hj{Hh}}}}}}{{}{{Hl{{Hj{Hh}}}}}}{{{b{AKf}}}AKf}{{{b{ALl}}}ALl}{{{b{ALn}}}ALn}{{{b{AKh}}}AKh}{{{b{AM`}}}AM`}{{b{b{Afc}}}f{}}0000{bf}0000{{{b{AKf}}{b{AKf}}}Ob}{{{AJn{c}}}{{Kb{f}}}AK`}{{b{b{c}}}Ob{}}{{AKhe}{{Cn{{AGh{ce}}AFl}}}Ad{{AF`{c}}}}{AKh{{Cn{AM`AFl}}}}{{AKhABh}AKh}{{AFlc}AFl{GlHnI`}}{{{b{Af{AJn{c}}}}e}{{Hl{{Hj{Hh}}}}}AK`{{AAd{Ch}}Hn}}{{{b{Cj}}}{{Hl{{Hj{Hh}}}}}}0{{AKhAMb}AKh}{{}AL`}{{}ALl}{{}ALn}{{}AKh}{{}AMd}{{}{{AE`{AKf}}}}{Ch{{b{c}}}{}}{{{b{AFl}}}b}11111{{{b{{AJn{c}}}}}{{b{e}}}{}{}}2222{Ch{{b{Afc}}}{}}{{{b{AfAFl}}}{{b{Af}}}}111111{{{b{Af{AJn{c}}}}}{{b{Afe}}}{}{}}222{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}000000000{{}{{b{Cj}}}}00{AFl{{Cn{cAFl}}}{GlEfHnI`}}{{{b{AfAFl}}}{{n{{b{Afc}}}}}{GlEfHnI`}}{{{b{AFl}}}{{n{{b{c}}}}}{GlEfHnI`}}{{{b{AfAFl}}}f}{Chf}000000000{{{b{Cj}}}{{Hl{{Hj{Hh}}}}}}{{{b{AKf}}{b{AKf}}}Db}{{b{b{c}}}Db{}}000{{{AMh{}{{AMf{c}}}}e}{{Hl{{Hj{Hh}}}}}AMj{{AMl{c}}}}0{{{AMh{}{{AMf{c}}}}e}{{Hl{{Hj{AMn}}}}}AMj{{AMl{c}}}}000110111{{{b{Af{AJn{c}}}}Cd}{{Hl{{Hj{Hh}}}}}AK`}{{{b{AFl}}{b{AfEb}}}{{Cn{fEd}}}}0{{{b{AKf}}{b{AfEb}}}{{Cn{fEd}}}}0{{{b{AN`}}{b{AfEb}}}{{Cn{fEd}}}}{{{b{AL`}}{b{AfEb}}}Eh}{{{b{ALl}}{b{AfEb}}}Eh}{{{b{ALn}}{b{AfEb}}}Eh}{{{b{{AJn{c}}}}{b{AfEb}}}EhEf}{{{b{AM`}}{b{AfEb}}}Eh}{{{b{AMd}}{b{AfEb}}}Eh}{b{{ANb{AN`}}}}{Fjc{}}{cc{}}{cAFl{hHnI`}}111111{ANdAKh}222{{{b{Cj}}}{{Cn{AKhc}}}{}}{{{b{Af{AJn{c}}}}{Nb{e}}}{{Hl{{Hj{Hh}}}}}AK`Ad}{{{b{Af{AJn{c}}}}{AC`{e}}}{{Hl{{Hj{Hh}}}}}AK`Ad}{{{b{Af{AJn{c}}}}e}{{Hl{{Hj{Hh}}}}}AK`{{AAd{Ch}}Hn}}{{{b{Af{AJn{c}}}}{ACd{e}}}{{Hl{{Hj{Hh}}}}}AK`Ad}{{{b{AM`}}}{{Hl{{Hj{Hh}}}}}}{{{b{Af{AJn{c}}}}}{{Hl{{Hj{Hh}}}}}AK`}{b{{n{{b{Cj}}}}}}6{{{b{Af{AJn{c}}}}gCdCh}{{Hl{{Hj{Hh}}}}}AK`Ad{{B`{{ACf{e}}}}HnI`}}2{{{b{Af{AJn{c}}}}{N`{e}}}{{Hl{{Hj{Hh}}}}}AK`Ad}6{{{b{Af{AJn{c}}}}{ACj{eg}}}{{Hl{{Hj{Hh}}}}}AK`Ad{{ACl{e}}}}9977{{{b{AM`}}}{{n{AId}}}}{{{b{Af{AJn{c}}}}AD`}{{Hl{{Hj{Hh}}}}}AK`}{{{b{Af{AJn{c}}}}{AAh{e}}}{{Hl{{Hj{Hh}}}}}AK`Ad}{{{b{Af{AJn{c}}}}{ADb{e}}}{{Hl{{Hj{Hh}}}}}AK`Ad}{{{b{Af{AJn{c}}}}{ADd{e}}}{{Hl{{Hj{Hh}}}}}AK`Ad}>><<{{{b{AfAL`}}{Nb{c}}}{{ALb{An}}}Ad}{{AKhABh}AKh}``{{}Ch}000000000{{{b{Af{AJn{ALl}}}}{Nd{c}}}{{Kb{f}}}Ad}{{{b{Af{AJn{ALl}}}}{Kf{c}}}{{Kb{f}}}Ad}{{{b{Af{AJn{ALl}}}}ADn{AE`{Ch}}Cd}{{Hl{{Hj{Hh}}}}}}{{{b{Af{AJn{ALl}}}}{Kl{c}}{n{AB`}}}{{Kb{f}}}Ad}{{}c{}}000000000{{{b{AFl}}}Db}{{}{{Cn{HbHd}}}}000000000{{{b{Af{AJn{c}}}}g}{{ALb{{AAl{e}}}}}{}Ad{{B`{{Nb{e}}}}Hn}}{{{b{Af{AJn{c}}}}}{{Kb{{n{AGn}}}}}AK`}{{{b{Af{AJn{c}}}}}{{Hl{{Hj{Hh}}}}}AK`}{{AKhANf}AKh}{{{b{AM`}}}{{b{AEd}}}}{{AKhc}AKh{{ALh{}{{Ml{AKf}}}}}}2{cAFl{GlEfHnI`}}{{{b{AKf}}}{{b{Cj}}}}{cAFl{hHnI`}}{AKhAKh}{b{{n{{b{Cj}}}}}}{{{b{AKf}}{b{AKf}}}{{n{Ob}}}}{{{b{Af{AJn{c}}}}e}{{Hl{{Hj{Hh}}}}}AK`{{AAd{Ch}}Hn}}{b}000000000{{AKh{ANh{AKl}}}AKh}{{{b{AM`}}}{{ANh{AKl}}}}{{{b{AKf}}}{{b{ANj}}}}{{{AMh{}{{AMf{c}}}}{b{Cj}}}{{Hl{{Hj{Hh}}}}}AMj}0{{{AMh{}{{AMf{c}}}}{b{Cj}}{b{AHl}}}{{Hl{{Hj{Hh}}}}}AMj}{{{b{AM`}}{b{AfAMd}}}{{Hl{{Hj{Hh}}}}}}{{AKhAId}{{Cn{AKhAFl}}}}{{{b{Cj}}}ANl}{{AL`{b{Cj}}}ANl}{{{b{Cj}}}{{ANn{c}}}AO`}{{AL`{b{Cj}}}{{ANn{c}}}AO`}{{{b{AM`}}}{{Kb{{AJn{ALn}}}}}}{AKhAKh}{b{{n{{b{Cj}}}}}}{{{AJn{c}}}{{`{HhHn}}}AK`}{{{b{AFl}}}{{b{h}}}}{{{b{AfAKf}}}f}{{{b{Af{AJn{ALl}}}}Ch}{{Hl{{Hj{Hh}}}}}}{{{b{AfAM`}}AId}f}{{AKhABh}AKh}{{{b{Af}}}{{Hl{{Hj{Hh}}}}}}{{{b{AKf}}}{{n{{b{Cj}}}}}}`{{{b{Af{AJn{c}}}}}{{Hl{{Hj{Hh}}}}}AK`}`{{{b{AOb}}}{{Hl{{Hj{Hh}}}}}}`{bc{}}0000{bAn}0{c{{Cn{e}}}{}{}}000000000{{}{{Cn{c}}}{}}000000000{bJl}000000000{{{b{Cj}}{b{Cj}}}{{Cn{AKfAOd}}}}{{{b{Af{AJn{ALl}}}}AGn{b{{AHl{{Nj{c}}}}}}}{{Kb{AGn}}}Ad}{{{b{Af{AJn{ALl}}}}{b{Cj}}{AOf{{b{Cj}}}}ce}{{Kb{f}}}{{ALh{}{{Ml{{b{Cj}}}}}}}ALh}{{{b{AKf}}}ANf}{{{b{Af{AJn{c}}}}g}{{Hl{{Hj{Hh}}}}}AK`Ad{{B`{{Nb{e}}}}HnI`}}{{}c{}}000000000{{{b{AM`}}}{{Kb{{AJn{ALl}}}}}}````{b{{b{c}}}{}}0{{{b{Af}}}{{b{Afc}}}{}}0{{{b{AOh}}}AKh}{Ch{{b{c}}}{}}0{Ch{{b{Afc}}}{}}0{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}0{Chf}0{{{b{AfAOh}}}f}{{{b{AOh}}{b{AfEb}}}Eh}{cc{}}0{{}Ch}{{}AOh}1=={{}{{Cn{HbHd}}}}0{{{b{AOh}}}AMb}2{b}0{c{{Cn{e}}}{}{}}0{{}{{Cn{c}}}{}}0{bJl}0{{}c{}}0`````````````````````````````````````````````````````````````````````````````````````````````````````{{bd}f}000000000000000{{AOjAOj}c{}}{b{{b{h}}}}00000000000000000000000``````````{b{{b{c}}}{}}0000000000000000000000000000000000{{{b{Af}}}{{b{Afc}}}{}}0000000000000000000000000000000000{AOlAOj}{{{b{AOn}}}AOn}{{{b{B@`}}}B@`}{{{b{B@b}}}B@b}{{{b{AOj}}}AOj}{{{b{{AC`{c}}}}}{{AC`{c}}}{BdAd}}{{{b{{ADb{c}}}}}{{ADb{c}}}{BdAd}}{{{b{{B@d{c}}}}}{{B@d{c}}}{BdAd}}{{{b{{B@f{c}}}}}{{B@f{c}}}{BdAd}}{{{b{B@h}}}B@h}{{{b{B@j}}}B@j}{{{b{B@l}}}B@l}{{{b{B@n}}}B@n}{{{b{BA`}}}BA`}{{{b{BAb}}}BAb}{{{b{BAd}}}BAd}{{{b{Fb}}}Fb}{{b{b{Afc}}}f{}}000000000000000{bf}000000000000000{{{b{B@b}}{b{B@b}}}Ob}{{b{b{c}}}Ob{}}````{{}{{ADd{c}}}Ad}{c{{Cn{{A@d{eFbc}}A@f}}}Jf{HnI`A@h}}{Ch{{b{c}}}{}}0000000000000000000000000000000000{Ch{{b{Afc}}}{}}0000000000000000000000000000000000{c{{Cn{AOn}}}D`}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}0{c{{Cn{B@`}}}D`}{c{{Cn{B@b}}}D`}2{c{{Cn{AOj}}}D`}333333{c{{Cn{B@h}}}D`}4{c{{Cn{{BAf{e}}}}}D`Ad}{c{{Cn{{BAh{e}}}}}D`Ad}66{c{{Cn{BAj}}}D`}77{c{{Cn{{BAl{e}}}}}D`Ad}8{c{{Cn{{BAn{e}}}}}D`Ad}9{c{{Cn{BB`}}}D`}:::{c{{Cn{BBb}}}D`}{c{{Cn{BBd}}}D`}<<{c{{Cn{{BBf{e}}}}}D`Ad}{c{{Cn{{BBh{e}}}}}D`Ad}>>{c{{Cn{B@j}}}D`}{c{{Cn{B@l}}}D`}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}{c{{Cn{B@n}}}D`}11{c{{Cn{BA`}}}D`}{c{{Cn{BAb}}}D`}33{c{{Cn{BAd}}}D`}4{c{{Cn{Fb}}}D`}5{c{{Cn{{BBj{e}}}}}D`Ad}6{c{{Cn{{BBl{e}}}}}D`Ad}7{c{{Cn{{BBn{e}}}}}D`Ad}{c{{Cn{{BC`{e}}}}}D`Ad}99{c{{Cn{{BCb{e}}}}}D`Ad}{c{{Cn{{BCd{e}}}}}D`Ad};{Chf}0000000000000000000000000000000000{{{b{B@b}}{b{B@b}}}Db}{{{b{AOj}}{b{AOj}}}Db}{{{b{{AC`{c}}}}{b{{AC`{c}}}}}Db{MdAd}}{{{b{{ADb{c}}}}{b{{ADb{c}}}}}Db{MdAd}}{{{b{{B@d{c}}}}{b{{B@d{c}}}}}Db{MdAd}}{{{b{{B@f{c}}}}{b{{B@f{c}}}}}Db{MdAd}}{{{b{B@h}}{b{B@h}}}Db}{{{b{{BAf{c}}}}{b{{BAf{c}}}}}Db{MdAd}}{{{b{{BAh{c}}}}{b{{BAh{c}}}}}Db{MdAd}}{{{b{Ff}}{b{Ff}}}Db}{{{b{BAj}}{b{BAj}}}Db}{{{b{{BAl{c}}}}{b{{BAl{c}}}}}Db{MdAd}}{{{b{{BAn{c}}}}{b{{BAn{c}}}}}Db{MdAd}}{{{b{{ACd{c}}}}{b{{ACd{c}}}}}Db{MdAd}}{{b{b{c}}}Db{}}0000000000000000000000000000000000000000000000000000000{AOlAOj}0``{{{b{{BCn{}{{BCf{c}}{BCh{e}}{BCj{g}}{BCl{i}}}}}}}e{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}}{{{b{{BCn{}{{BCf{c}}{BCh{e}}{BCj{g}}{BCl{i}}}}}}}c{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}}```{{{b{AOn}}{b{AfEb}}}Eh}0{{{b{B@`}}{b{AfEb}}}Eh}0{{{b{B@b}}{b{AfEb}}}Eh}0{{{b{AOj}}{b{AfEb}}}Eh}0{{{b{{AC`{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{AC`{c}}}}{b{AfEb}}}EhAd}{{{b{{ADb{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{ADb{c}}}}{b{AfEb}}}EhAd}{{{b{{B@d{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{B@f{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{B@h}}{b{AfEb}}}Eh}{{{b{{BAf{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BAh{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{Ff}}{b{AfEb}}}Eh}0{{{b{BAj}}{b{AfEb}}}Eh}{{{b{{BAl{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BAn{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{ACd{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{BB`}}{b{AfEb}}}Eh}{{{b{{ADd{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{BBb}}{b{AfEb}}}Eh}{{{b{BBd}}{b{AfEb}}}Eh}{{{b{{BBf{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BBh{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{B@j}}{b{AfEb}}}Eh}0{{{b{B@l}}{b{AfEb}}}Eh}0{{{b{B@n}}{b{AfEb}}}Eh}0{{{b{BA`}}{b{AfEb}}}Eh}0{{{b{BAb}}{b{AfEb}}}Eh}0{{{b{BAd}}{b{AfEb}}}Eh}0{{{b{Fb}}{b{AfEb}}}Eh}0{{{b{{BBj{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BBl{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BBn{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BC`{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BCb{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BCd{c}}}}{b{AfEb}}}Eh{EfAd}}{cc{}}00{AOlAOj}11111111{BD`Ff}{BDbFf}333333333333{FhB@j}{A`B@j}5{FhB@l}{A`B@l}{FfB@n}8{A`B@n}{FhB@n}{A`BA`}{FhBA`}<{A`BAb}{B@lBAb}{B@jBAb}{FhBAb}{BA`BAb}{cc{}}0{A`BAd}{FhBAd}2{{{BAf{c}}}{{BBj{c}}}Ad}33{{{AE`{{BAh{c}}}}}{{BBl{c}}}Ad}44{{{AE`{{BAn{c}}}}}{{BC`{c}}}Ad}{{{BBf{c}}}{{BCb{c}}}Ad}6{{{BBh{c}}}{{BCd{c}}}Ad}7{b{{AAb{{BAf{c}}}}}Ad}{b{{AAb{{BAh{c}}}}}Ad}`{{{b{ACb}}{AC`{c}}}{{Hl{{Hj{Hh}}}}}Ad}{{{b{ACb}}{ACd{c}}}{{Hl{{Hj{Hh}}}}}Ad}{{{b{ACb}}}{{Hl{{Hj{Hh}}}}}}{{{b{ACb}}AD`}{{Hl{{Hj{Hh}}}}}}{{{b{ACb}}{ADb{c}}}{{Hl{{Hj{Hh}}}}}Ad}{{{b{ACb}}{ADd{c}}}{{Hl{{Hj{Hh}}}}}Ad}`````````{{}Ch}0000000000000000000000000000000000{{}c{}}0000000000000000000000000000000000{{}{{BDd{An}}}}{{{b{B@b}}}Db}00```{{}{{Cn{HbHd}}}}0000000000000000000000000000000000{{{b{{BDf{}{{BCl{c}}}}}}}c{BdEfJhMjHnI`MdMf}}{{{b{{BCn{}{{BCf{c}}{BCh{e}}{BCj{g}}{BCl{i}}}}}}}{{AE`{i}}}{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}}{{B@bAOl}AOj}````````{{{b{B@b}}{b{B@b}}}{{n{Ob}}}}{b}0000000000000000000000000000000000{{{b{{BCn{}{{BCf{c}}{BCh{e}}{BCj{g}}{BCl{i}}}}}}}g{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}}```{{{b{{BCn{}{{BCf{c}}{BCh{e}}{BCj{g}}{BCl{i}}}}}}}c{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}}````{{{b{AOn}}c}CnJj}{{{b{B@`}}c}CnJj}{{{b{B@b}}c}CnJj}{{{b{AOj}}c}CnJj}{{{b{B@h}}c}CnJj}{{{b{{BAf{c}}}}e}CnAdJj}{{{b{{BAh{c}}}}e}CnAdJj}{{{b{BAj}}c}CnJj}{{{b{{BAl{c}}}}e}CnAdJj}{{{b{{BAn{c}}}}e}CnAdJj}{{{b{BB`}}c}CnJj}{{{b{BBb}}c}CnJj}{{{b{BBd}}c}CnJj}{{{b{{BBf{c}}}}e}CnAdJj}{{{b{{BBh{c}}}}e}CnAdJj}{{{b{B@j}}c}CnJj}{{{b{B@l}}c}CnJj}{{{b{B@n}}c}CnJj}{{{b{BA`}}c}CnJj}{{{b{BAb}}c}CnJj}{{{b{BAd}}c}CnJj}{{{b{Fb}}c}CnJj}{{{b{{BBj{c}}}}e}CnAdJj}{{{b{{BBl{c}}}}e}CnAdJj}{{{b{{BBn{c}}}}e}CnAdJj}{{{b{{BC`{c}}}}e}CnAdJj}{{{b{{BCb{c}}}}e}CnAdJj}{{{b{{BCd{c}}}}e}CnAdJj}{{{b{B@b}}}Ch}```{{{b{Ff}}}{{n{{b{h}}}}}}{{{b{B@j}}}{{n{{b{h}}}}}}{{{b{B@l}}}{{n{{b{h}}}}}}{{{b{B@n}}}{{n{{b{h}}}}}}{{{b{BA`}}}{{n{{b{h}}}}}}{{{b{BAb}}}{{n{{b{h}}}}}}{{{b{BAd}}}{{n{{b{h}}}}}}{{{b{Fb}}}{{n{{b{h}}}}}}{{{b{B@j}}}Bb}{{{b{B@l}}}Bb}{{{b{B@n}}}Bb}{{{b{BA`}}}Bb}{{{b{BAb}}}Bb}{{{b{BAd}}}Bb}{{{b{Fb}}}Bb}{{AOjAOj}c{}}```````{bc{}}000000000000000{bAn}0000000000000````{c{{Cn{e}}}{}{}}00{{{b{Cj}}}{{Cn{B@bc}}}{}}111111{{{Nd{c}}}{{Cn{{BAf{c}}e}}}Ad{}}2{{{Nd{c}}}{{Cn{{BAh{c}}e}}}Ad{}}33333{{{Ej{{b{{Nd{c}}}}Ch}}}{{Cn{{BAn{c}}e}}}Ad{}}44444444444444444444{{}{{Cn{c}}}{}}0000000000000000000000000000000000{bJl}0000000000000000000000000000000000{AOlAOj}`{{}c{}}0000000000000000000000000000000000`````{{bd}f}{b{{b{c}}}{}}{{{b{Af}}}{{b{Afc}}}{}}{{{b{{BDh{ce}}}}}{{BDh{ce}}}{}{}}{{b{b{Afc}}}f{}}{bf}{Ch{{b{c}}}{}}{Ch{{b{Afc}}}{}}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}{Chf}{{{b{{BDh{ce}}}}{b{AfEb}}}Eh{}{}}{cc{}}{{}Ch}={{}{{Cn{HbHd}}}}{{{Dl{BDj}}BDl}{{BDh{ce}}}{}{}}{b}``{{BDnc}f{}}{{BE`c}{{`{{Hh{}{{Ib{f}}}}Hn}}}{}}{{{b{{BDh{eg}}}}eik}f{}{{BEb{c}}}BE`{{BEd{ce}}}{{ALh{}{{Ml{g}}}}Hn}}{bc{}}{c{{Cn{e}}}{}{}}{{}{{Cn{c}}}{}}{bJl}{{}c{}}`````{{bd}f}000{{{b{{BEf{c}}}}}f{}}{b{{b{c}}}{}}000{{{b{Af}}}{{b{Afc}}}{}}000{{{b{{BEh{c}}}}}{{BEh{c}}}Ad}{{{b{{BEj{c}}}}}{{BEj{c}}}{BdJf}}{{{b{{BEf{c}}}}}{{BEf{c}}}{}}{{{b{BEl}}}BEl}{{b{b{Afc}}}f{}}000{bf}000{{}{{BEh{c}}}Ad}{{}BEl}{Ch{{b{c}}}{}}000{Ch{{b{Afc}}}{}}000{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}000{Chf}000>{{{b{BEd}}e}{{Hl{{Hj{Hh}}}}}{}{{BEb{c}}}}{{{b{{BEh{c}}}}BEn}{{Hl{{Hj{Hh}}}}}Ad}{{{b{{BEh{c}}}}{BF`{c}}}{{Hl{{Hj{Hh}}}}}Ad}{{{b{{BEh{c}}}}BFb}{{Hl{{Hj{Hh}}}}}Ad}{{{b{{BEj{c}}}}{BF`{e}}}{{Hl{{Hj{Hh}}}}}JfAd}{{{b{{BEj{c}}}}BEn}{{Hl{{Hj{Hh}}}}}Jf}{{{b{{BEj{c}}}}BFb}{{Hl{{Hj{Hh}}}}}Jf}{{{b{{BEf{g}}}}e}{{Hl{{Hj{Hh}}}}}Ad{{BEb{c}}}{{BEd{ce}}I`}}{{{b{BEl}}e}{{Hl{{Hj{Hh}}}}}{}{Hn{BEb{c}}}}{{{b{{BEh{c}}}}{b{AfEb}}}EhAd}{{{b{{BEj{c}}}}{b{AfEb}}}Eh{EfJf}}{{{b{{BEf{c}}}}{b{AfEb}}}EhEf}{{{b{BEl}}{b{AfEb}}}Eh}{cc{}}000{{}Ch}000{{}c{}}000{{}{{Cn{HbHd}}}}000{{BFdc}{{BEj{c}}}Jf}{c{{BEf{c}}}{}}{b}000{bc{}}000{c{{Cn{e}}}{}{}}000{{}{{Cn{c}}}{}}000{bJl}000{{{b{{BEf{c}}}}}f{}}09999{{{BEh{c}}e}{{BEh{c}}}Ad{{BEd{cBFb}}Ef}}{{{BEh{c}}e}{{BEh{c}}}Ad{{BEd{c{BF`{c}}}}Ef}}{{{BEh{c}}e}{{BEh{c}}}Ad{{AF`{c}}Ef}}{{{BEh{c}}e}{{BEh{c}}}Ad{{BEd{cBEn}}Ef}}`````{{bd}f}00{b{{b{c}}}{}}00{{{b{Af}}}{{b{Afc}}}{}}00{{{b{BFb}}}BFb}{{{b{BEn}}}BEn}{{{b{{BF`{c}}}}}{{BF`{c}}}{BdAd}}{{b{b{Afc}}}f{}}00{bf}00{Ch{{b{c}}}{}}00{Ch{{b{Afc}}}{}}00{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}00{Chf}00{{{b{BFb}}{b{BFb}}}Db}{{{b{BEn}}{b{BEn}}}Db}{{{b{{BF`{c}}}}{b{{BF`{c}}}}}Db{MdAd}}{{b{b{c}}}Db{}}00000000000``{{{b{BFb}}{b{AfEb}}}Eh}{{{b{BEn}}{b{AfEb}}}Eh}{{{b{{BF`{c}}}}{b{AfEb}}}Eh{EfAd}}{cc{}}00{{{Ej{Cd{A@n{c}}{BFf{c}}}}}{{BF`{c}}}Ad}{{{b{c}}{b{e}}}Cd{GdGf}Gh}00{{{b{BFb}}{b{Afc}}}fGj}{{{b{BEn}}{b{Afc}}}fGj}{{{b{{BF`{c}}}}{b{Afe}}}f{GdAd}Gj}`{{}Ch}00{{}c{}}00{{}{{Cn{HbHd}}}}00{{Cd{A@n{c}}{BFf{c}}}{{BF`{c}}}Ad}{b}00{bc{}}00{c{{Cn{e}}}{}{}}00{{}{{Cn{c}}}{}}00{bJl}00777`````````````````{{bd}f}0`{b{{b{h}}}}00{{{b{F`}}}{{n{{b{l}}}}}}{b{{b{c}}}{}}00{{{b{Af}}}{{b{Afc}}}{}}00{{{b{F`}}}{{n{{b{h}}}}}}{{{b{{ACj{ce}}}}}{{ACj{ce}}}Ad{{ACl{c}}}}{{{b{F`}}}F`}{{b{b{Afc}}}f{}}0{bf}0{{{b{{ACj{ce}}}}{b{{ACj{ce}}}}}ObAd{{ACl{c}}}}{{b{b{c}}}Ob{}}{{}BFh}{{{b{BFh}}}{{Cn{{A@d{cF`e}}A@f}}}{HnI`A@h}Jf}{Ch{{b{c}}}{}}00{Ch{{b{Afc}}}{}}00{{{b{F`}}}{{b{Cj}}}}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}00{c{{Cn{F`}}}D`}{Chf}00{{{b{{ACj{ce}}}}{b{{ACj{ce}}}}}DbAd{{ACl{c}}}}{{b{b{c}}}Db{}}000`{{{b{{ACj{ce}}}}{b{AfEb}}}EhAd{{ACl{c}}}}0{{{b{F`}}{b{AfEb}}}Eh}0{cc{}}0{A`F`}{AA`F`}{{{Ej{AnBb}}}F`}3{{{b{c}}{b{e}}}Cd{GdGf}Gh}{{{b{ACh}}}{{Hl{{Hj{Hh}}}}}}{{{b{ACn}}{ACj{ce}}}{{Hl{{Hj{Hh}}}}}Ad{{ACl{c}}}}{{{b{{ACj{ce}}}}{b{Afg}}}fAd{{ACl{c}}}Gj}{{}{{b{Cj}}}}{{}Ch}00{{{b{AfAEb}}ADn{AE`{Ch}}Cd}{{Hl{{Hj{Hh}}}}}}{{{b{Af{ACl{}{{BFj{c}}{BFl{e}}{BFn{g}}{BG`{i}}{BGb{k}}}}}}c{b{{ADn{ecg}}}}}{{Kb{f}}}{BGdHnI`JhBGfBGhMjGlBGjBGl}{BGnHnI`JhMjBGjBGl}{BH`Hn}{{BHb{g}}Hn{BHd{{b{AD`}}}}GlEf{B`{AD`}}}{{BHf{ecg}}}}{{}c{}}00{{}{{Cn{HbHd}}}}00{{{b{{ACj{ce}}}}{b{{ACj{ce}}}}}{{n{Ob}}}Ad{{ACl{c}}}}{b}00{{{b{F`}}c}CnJj}{{{b{AfAEb}}Ch}{{Hl{{Hj{Hh}}}}}}{{{b{F`}}}{{n{{b{h}}}}}}:{{{b{F`}}}Bb}{bc{}}0{bAn}0<{c{{Cn{e}}}{}{}}00{{}{{Cn{c}}}{}}00{bJl}00<<<````````````````{{bd}f}0000000{{{b{BHh}}Ch}f}{{{b{BHj}}AGd}f}{b{{b{h}}}}00{{{b{BHl}}}{{n{{b{l}}}}}}{b{{b{c}}}{}}00000000{{{b{Af}}}{{b{Afc}}}{}}00000000{{{b{BHl}}}{{n{{b{h}}}}}}{{{b{AEd}}}AEd}{{{b{BHh}}}BHh}{{{b{BHn}}}BHn}{{{b{BHj}}}BHj}{{{b{BI`}}}BI`}{{{b{BIb}}}BIb}{{{b{BId}}}BId}{{{b{BIf}}}BIf}{{b{b{Afc}}}f{}}0000000{bf}0000000{{{b{AEd}}An{AE`{An}}}{{Hj{BIh}}}}{{{b{BI`}}{AE`{An}}}{{Hj{BIj}}}}{{{b{BIb}}{AE`{An}}}{{Hj{BIl}}}}{{{b{BId}}{AE`{An}}}{{Hj{BIn}}}}{{{b{BIf}}{AE`{An}}}f}{{{b{AEd}}An{n{An}}}{{Hj{BIj}}}}{{{b{AEd}}An{n{An}}}{{Hj{BIl}}}}{{{b{AEd}}An{n{An}}}{{Hj{BIn}}}}{{{b{AEd}}An}f}{{}AEd}{Ch{{b{c}}}{}}00000000{Ch{{b{Afc}}}{}}00000000{{{b{BHl}}}{{b{Cj}}}}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}00000000{Chf}00000000{{{b{AEd}}}{{Cn{Anc}}}{}}{{{b{BHl}}{b{AfEb}}}Eh}0{{{b{AEd}}{b{AfEb}}}Eh}{{{b{BHh}}{b{AfEb}}}Eh}{{{b{BHn}}{b{AfEb}}}Eh}{{{b{BHj}}{b{AfEb}}}Eh}{{{b{BI`}}{b{AfEb}}}Eh}{{{b{BIb}}{b{AfEb}}}Eh}{{{b{BId}}{b{AfEb}}}Eh}{{{b{BIf}}{b{AfEb}}}Eh}{cc{}}{BJ`BHl}11111111{{{b{AEd}}An{AE`{An}}}{{Hj{BJb}}}}{{{b{AEd}}{b{Cj}}}{{Cn{BIbBHl}}}}{{{b{BHh}}}Ch}{{{b{BHn}}}Ch}{{{b{BI`}}{b{{AHl{c}}}}}BHh{{BJd{Cj}}}}{{{b{BIb}}{b{{AHl{c}}}}}BHn{{BJd{Cj}}}}{{{b{BId}}{b{{AHl{c}}}}}BHj{{BJd{Cj}}}}{{{b{AEd}}{b{Cj}}}{{Cn{BHhBHl}}}}{{{b{AEd}}{b{Cj}}}{{Cn{BI`BHl}}}}{{{b{AEd}}{b{Cj}}}{{Cn{BHnBHl}}}}{{{b{AEd}}{b{Cj}}}{{Cn{BHjBHl}}}}{{{b{AEd}}{b{Cj}}}{{Cn{BIdBHl}}}}{{{b{AEd}}c}{{Cn{AEdBHl}}}ALh}{{{b{AEd}}An{AE`{An}}}{{Hj{BJf}}}}{{}Ch}00000000{{}c{}}00000000{{}{{Cn{HbHd}}}}00000000{{{b{BHj}}}AGd}{b}00000000{{{b{BHj}}}Ch}{{{b{BHn}}Ch}f}{{{b{BHl}}}{{n{{b{h}}}}}}{{{b{AEd}}An}{{Hj{AEh}}}}5{{{b{AEd}}An{AE`{An}}}{{Hj{BJh}}}}{bc{}}0000000{bAn}{c{{Cn{e}}}{}{}}00000000{{}{{Cn{c}}}{}}00000000{bJl}00000000{{{b{BHn}}BJj}f}>>>>>>>>>``````````````````````````{{bd}f}000000000`{b{{b{h}}}}00{{{b{En}}}{{n{{b{l}}}}}}`{{{b{In}}}{{Hl{{Hj{Hh}}}}}}{b{{b{c}}}{}}0000000000{{{b{Af}}}{{b{Afc}}}{}}0000000000{{{BJl{ce}}}En{{B`{An}}}{{B`{Bb}}}}{{{b{En}}}{{n{{b{h}}}}}}{{{b{{ACf{c}}}}}{{ACf{c}}}Ad}{{{b{BJn}}}BJn}{{{b{{BK`{c}}}}}{{BK`{c}}}Bd}{{{b{BKb}}}BKb}{{{b{BKd}}}BKd}{{{b{BKf}}}BKf}{{{b{{BKh{c}}}}}{{BKh{c}}}Bd}{{{b{{BKj{ce}}}}}{{BKj{ce}}}BdBd}{{{b{{BJl{ce}}}}}{{BJl{ce}}}BdBd}{{{b{En}}}En}{{b{b{Afc}}}f{}}000000000{bf}000000000{{{b{BJn}}{b{BJn}}}Ob}{{b{b{c}}}Ob{}}{{{b{In}}}{{Hl{{Hj{Hh}}}}}}0{{{b{In}}c}{{Hl{{Hj{Hh}}}}}{{AAd{Ch}}Hn}}{{}{{BK`{c}}}{}}{{}BKl}{{{b{BKl}}c}{{Cn{{A@d{eEnc}}A@f}}}Jf{HnI`A@h}}{Ch{{b{c}}}{}}0000000000{Ch{{b{Afc}}}{}}0000000000{{{b{En}}}{{b{Cj}}}}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}0{c{{Cn{BJn}}}D`}1{c{{Cn{{BK`{e}}}}}D`BKn}2{c{{Cn{BKb}}}D`}333333{c{{Cn{En}}}D`}4{Chf}0000000000`{{{b{BJn}}{b{BJn}}}Db}{{{b{{BK`{c}}}}{b{{BK`{c}}}}}DbMd}{{{b{BKb}}{b{BKb}}}Db}{{b{b{c}}}Db{}}00000000000`{{{BJl{ce}}}{{Cn{gEn}}}{{B`{An}}}{{B`{Bb}}}{}}{{{b{{ACf{c}}}}{b{AfEb}}}EhAd}{{{b{BJn}}{b{AfEb}}}Eh}{{{b{{BK`{c}}}}{b{AfEb}}}EhEf}{{{b{BKb}}{b{AfEb}}}Eh}{{{b{BKl}}{b{AfEb}}}Eh}{{{b{BKd}}{b{AfEb}}}Eh}{{{b{BKf}}{b{AfEb}}}Eh}{{{b{{BKh{c}}}}{b{AfEb}}}EhEf}{{{b{{BKj{ce}}}}{b{AfEb}}}EhEfEf}{{{b{{BJl{ce}}}}{b{AfEb}}}EhEfEf}{{{b{En}}{b{AfEb}}}Eh}0{cc{}}{{{Kh{c}}}{{ACf{c}}}Ad}1{{{b{{BK`{c}}}}}{{n{Cd}}}BL`}22222222{AA`En}3{{{Ej{AnBb}}}En}{A`En}{{}BJn}{{{b{c}}{b{e}}}Cd{GdGf}Gh}{{{b{In}}eCdCh}{{Hl{{Hj{Hh}}}}}Ad{{B`{{ACf{c}}}}HnI`}}{{{b{BJn}}{b{Afc}}}fGj}{{}Ch}0000000000{cEnGl}{{}c{}}0000000000{{BKdc}En{}}{{BKfc}En{}}{{{BKh{c}}e}En{{B`{An}}}{}}{{{BKj{ce}}g}En{{B`{An}}}{{B`{Cd}}}{}}{{{BJl{ce}}g}En{{B`{An}}}{{B`{Bb}}}{}}{{{b{BJn}}}Db}{{}{{Cn{HbHd}}}}0000000000``````{{{b{BJn}}{b{BJn}}}{{n{Ob}}}}{{{b{In}}}{{Hl{{Hj{Hh}}}}}}0{{{b{In}}c}{{Hl{{Hj{Hh}}}}}{{AAd{Ch}}Hn}}{b}0000000000``{{{b{BJn}}c}CnJj}{{{b{{BK`{c}}}}e}CnJhJj}{{{b{BKb}}c}CnJj}{{{b{En}}c}CnJj}{{{b{En}}}{{n{{b{h}}}}}}`{{{b{En}}}Bb}`8{bc{}}000000000{bAn}{c{{Cn{e}}}{}{}}0000000000{{}{{Cn{c}}}{}}0000000000{bJl}0000000000{{{b{In}}e}{{Hl{{Hj{Hh}}}}}Ad{{B`{{Nb{c}}}}HnI`}}{{}c{}}0000000000```````````````````{{bd}f}`{b{{b{h}}}}00{{{b{Fd}}}{{n{{b{l}}}}}}{{{b{J`}}}{{Hl{{Hj{Hh}}}}}}{b{{b{c}}}{}}0{{{b{Af}}}{{b{Afc}}}{}}0{{{b{Fd}}}{{n{{b{h}}}}}}{{{b{Fd}}}Fd}{{b{b{Afc}}}f{}}{bf}{{{b{J`}}}{{ALb{AEd}}}}0{{}BLb}{{{b{BLb}}c}{{Cn{{A@d{eFdc}}A@f}}}Jf{HnI`A@h}}{Ch{{b{c}}}{}}0{Ch{{b{Afc}}}{}}0{{{b{Fd}}}{{b{Cj}}}}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}{c{{Cn{Fd}}}D`}1{Chf}0??`{{{b{Fd}}{b{AfEb}}}Eh}0{cc{}}{AnFd}1{AA`Fd}{{}Ch}0{{}c{}}0{{}{{Cn{HbHd}}}}0{{{b{AEf}}}{{b{AEd}}}}{b}0{{{b{BLd}}}{{Hj{AEh}}}}{{{b{Fd}}c}CnJj}{{{b{Fd}}}{{n{{b{h}}}}}}{{{b{Fd}}}Bb}{{{b{J`}}}{{Hl{{Hj{Hh}}}}}}0{bc{}}{bAn}{c{{Cn{e}}}{}{}}0{{}{{Cn{c}}}{}}0{bJl}0==````{{bd}f}{b{{b{c}}}{}}0{{{b{Af}}}{{b{Afc}}}{}}0{{{b{BLf}}}BLf}{{b{b{Afc}}}f{}}{bf}{Ch{{b{c}}}{}}0{Ch{{b{Afc}}}{}}0{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}0{Chf}0{{{b{Af{BLh{c}}}}}fHn}{{{b{BLf}}{b{AfEb}}}Eh}{{{b{{BLh{c}}}}{b{AfEb}}}EhHn}{cc{}}0{{}Ch}0{{}c{}}0{{{BLh{c}}}{{Cn{cBLj}}}Hn}{{}{{Cn{HbHd}}}}0{b}0{{ce}BLfGl{HhHn}}{{cg}{{BLh{e}}}GlHn{{Hh{}{{Ib{e}}}}Hn}}{bc{}}{c{{Cn{e}}}{}{}}0{{}{{Cn{c}}}{}}0{bJl}099``{{}f}{ABhf}```````{b{{b{c}}}{}}{{{b{Af}}}{{b{Afc}}}{}}{{{b{c}}}{{Hl{{Hj{Hh}}}}}{}}{Ch{{Hl{{Hj{Hh}}}}}}{{{b{{BLl{c}}}}}cBLn}{{{b{{BLl{c}}}}Ch}cBLn}{Ch{{b{c}}}{}}{Ch{{b{Afc}}}{}}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}{Chf}{{{b{Af{BLl{c}}}}}fBLn}{cc{}}{{{b{{BLl{c}}}}}{{b{{Ih{ADfBM`BMb}}}}}BLn}{{{b{{BLn{}{{BMd{c}}}}}}{b{{ADh{ADf}}}}}{{Hl{{Hj{Hh}}}}}{HnI`}}{{}{{BLl{c}}}{BLnBLd}}{{}Ch}{c{{BLl{e}}}{{If{{b{Af{BMh{BMf}}}}}}}{BLnBLd}}{{}c{}}{{}{{Cn{HbHd}}}}{{{b{{BLl{c}}}}}ChBLn}{b}{{{b{{BLl{c}}}}Ch}{{BMj{ADf}}}BLn}{{{b{c}}}{{Hl{{Hj{Hh}}}}}{}}{{{b{Af{BLl{{BLn{}{{BMd{c}}}}}}}}}{{Hl{{Hj{Hh}}}}}{HnI`}}{{{BLl{c}}}fBLn}{{{b{Af{BLl{c}}}}eg}fBLnGl{HhHn}}?{{{b{{BLl{c}}}}}bBLn}{{{b{{BLl{c}}}}BMl}fBLn}{c{{Cn{e}}}{}{}}{{}{{Cn{c}}}{}}{bJl}=`````````````{{bd}f}00``{b{{b{c}}}{}}00{{{b{Af}}}{{b{Afc}}}{}}00`{{{b{ADf}}}ADf}{{{b{BMb}}}BMb}{{{b{BM`}}}BM`}{{b{b{Afc}}}f{}}00{bf}00{{{b{ADf}}{b{ADf}}}Ob}{{{b{BM`}}{b{BM`}}}Ob}{{b{b{c}}}Ob{}}0`{{}ADf}{{}BM`}`{Ch{{b{c}}}{}}00{Ch{{b{Afc}}}{}}00{c{{Cn{ADf}}}D`}{{b{b{Afc}}}{{Cn{{Cl{eg}}}}}{}{}{}}0{c{{Cn{BM`}}}D`}1{Chf}00{{{b{ADf}}{b{ADf}}}Db}{{{b{BM`}}{b{BM`}}}Db}{{b{b{c}}}Db{}}0000000{{{b{BMn}}}c{}}0{{{b{ADf}}{b{AfEb}}}Eh}{{{b{BMb}}{b{AfEb}}}Eh}{{{b{BM`}}{b{AfEb}}}Eh}{cc{}}00{{{b{c}}{b{e}}}Cd{GdGf}Gh}0{{{b{ADf}}{b{Afc}}}fGj}{{{b{BM`}}{b{Afc}}}fGj}{{}{{b{Cj}}}}{{{b{BMn}}}Cd}{{}Ch}00{{{b{AfBN`}}c{b{{ADn{ecg}}}}}{{Kb{f}}}{}{}{}}{{}c{}}00{{{b{BNb}}{b{c}}}e{}{}}`{{}{{Cn{HbHd}}}}00{{{b{BNb}}{b{c}}}Ch{}}`{{{AE`{BNd}}}BMl}{{{b{BMl}}}c{}}{{{b{BMn}}}{{AE`{c}}}{}}{{{b{ADf}}{b{ADf}}}{{n{Ob}}}}{{{b{BM`}}{b{BM`}}}{{n{Ob}}}}`{b}00`{{{b{BMn}}}c{}}`0{{{b{ADf}}c}CnJj}{{{b{BM`}}c}CnJj}`{{}{{b{Cj}}}}{{{b{BMn}}}Cd}`{bc{}}00{{{b{BNb}}{b{c}}{b{e}}}{{n{{Ej{gi}}}}}{}{}{}{}}`{{}Ch}{c{{Cn{e}}}{}{}}00{{}{{Cn{c}}}{}}00{bJl}00```{{}c{}}00`{{{b{BL`}}}Cd}","D":"EIl","p":[[1,"reference"],[5,"Private",4523],[1,"unit"],[10,"Error",4524],[6,"Error",0,4525],[5,"Backtrace",4526],[6,"Option",4527],[6,"QueryError",0],[5,"Leaf",0,4528],[10,"NodeType",4529],[0,"mut"],[5,"NotFoundSnafu",0],[5,"MissingSnafu",0],[5,"ErrorSnafu",0],[5,"String",4530],[10,"Into",4531],[5,"StatusCode",4532],[10,"Clone",4533],[5,"ApiState",0],[5,"UpgradeLock",4534],[5,"Commitment",4535],[10,"Versions",4529],[10,"Resolvable",0,4536],[10,"Committable",4535],[10,"RngCore",4537],[1,"u64"],[5,"Options",0],[1,"usize"],[1,"str"],[5,"With",4538],[6,"Result",4539],[10,"Deserializer",4540],[1,"bool"],[5,"UpgradeProposalData",4541],[5,"UpgradeThreshold",4542],[5,"SimpleCertificate",4542],[5,"RwLock",4543],[5,"Arc",4544],[5,"Error",4545],[6,"BlockError",4528],[5,"Formatter",4546],[5,"Error",4546],[10,"Debug",4546],[8,"Result",4546],[1,"tuple"],[6,"Error",316],[6,"Error",3888],[6,"Error",3527],[6,"Error",2236],[6,"Error",4228],[6,"TimestampConversionError",2236,4547],[6,"Error",4548],[1,"never"],[5,"OwnedFd",4549],[10,"IntoFilelike",4550],[10,"IntoSocketlike",4550],[5,"QuorumProposal",4528],[10,"Hash",4551],[10,"Sized",4552],[10,"BuildHasher",4551],[10,"Hasher",4551],[10,"Display",4546],[5,"QuorumData",4541],[5,"SuccessThreshold",4542],[5,"Layout",4553],[5,"LayoutError",4553],[5,"DynGuard",4554],[10,"Future",4555],[5,"Box",4556],[5,"Pin",4557],[10,"Send",4552],[10,"Sync",4552],[17,"Output"],[8,"BoxFuture",4558],[10,"FnOnce",4559],[5,"SystemContextHandle",4560],[10,"AvailabilityDataSource",316,4561],[10,"UpdateDataSource",1169,4562],[10,"NodeDataSource",3888,4563],[10,"StatusDataSource",4228,4564],[10,"VersionedDataSource",1169,4562],[10,"NodeImplementation",4529],[10,"StaticVersionType",4565],[10,"Serialize",4566],[10,"Serializer",4566],[5,"TypeId",4567],[10,"UpdateAvailabilityData",316,4561],[5,"BlockInfo",316,4561],[8,"Result",4568],[5,"InconsistentLeafError",316,4569],[5,"LeafQueryData",316,4569],[8,"BlockHash",316,4569],[5,"PayloadQueryData",316,4569],[5,"VidCommonQueryData",316,4569],[5,"TransactionQueryData",316,4569],[5,"FetchLeafSnafu",316],[5,"FetchBlockSnafu",316],[5,"FetchTransactionSnafu",316],[5,"InvalidTransactionIndexSnafu",316],[5,"RangeLimitSnafu",316],[5,"CustomSnafu",316],[17,"TransactionIndex"],[17,"Iter"],[17,"InclusionProof"],[10,"QueryablePayload",316,4569],[10,"PartialEq",4570],[10,"Eq",4570],[10,"Ord",4570],[10,"DeserializeOwned",4540],[17,"Item"],[10,"Iterator",4571],[6,"LeafId",316,4561],[6,"BlockId",316,4561],[5,"BlockQueryData",316,4569],[5,"BlockSummaryQueryData",316,4569],[5,"TransactionSummaryQueryData",316,4569],[5,"PayloadMetadata",316,4569],[5,"VidCommonMetadata",316,4569],[5,"Limits",316,4569],[5,"RequestSnafu",316],[6,"Ordering",4570],[8,"VidCommon",0,4572],[6,"Fetch",316,4573],[10,"ErrorCompat",4574],[17,"Source"],[5,"NoneError",4574],[10,"IntoError",4574],[8,"Payload",0],[5,"Options",316],[5,"Api",4575],[6,"ApiError",4575],[10,"ReadState",4576],[8,"TransactionIndex",316,4569],[8,"Transaction",0],[8,"LeafHash",316,4569],[6,"RequestError",4577],[8,"Result",4548],[10,"RangeBounds",4578],[6,"Bound",4578],[8,"TransactionHash",316,4569],[8,"VidCommitment",0,4572],[8,"Header",0],[8,"Metadata",0],[8,"VidShare",0,4572],[8,"QuorumCertificate",0,4542],[8,"TransactionInclusionProof",316,4569],[10,"QueryableHeader",316,4569],[5,"Duration",4579],[5,"ExtensibleDataSource",1169,4580],[5,"MetricsDataSource",1169,4581],[10,"Transaction",1169,4562],[6,"BlockIdentifier",2236,4547],[10,"ExplorerDataSource",2236,4582],[5,"GetBlockSummariesRequest",2236,4547],[6,"WindowStart",3888,4563],[10,"MerklizedStateHeightPersistence",3527,4583],[6,"Snapshot",3527,4583],[10,"MerklizedState",3527,4583],[10,"MerklizedStateDataSource",3527,4583],[5,"TaggedBase64",4584],[6,"TransactionIdentifier",2236,4547],[5,"GetTransactionSummariesRequest",2236,4547],[5,"MockTypes",4387],[5,"Event",4585],[10,"TestableDataSource",4347],[10,"Default",4586],[5,"MerkleProof",4587],[5,"Vec",4588],[10,"UpdateStateData",3527,4583],[5,"PrometheusMetrics",3644],[10,"HasMetrics",4228,4564],[10,"Metrics",4589],[17,"Transaction"],[17,"ReadOnly"],[5,"FetchingDataSource",1297],[10,"AvailabilityProvider",1297],[5,"Builder",1297],[10,"PruneStorage",1774],[5,"Pruner",1297],[8,"Config",1444],[8,"Builder",1444],[5,"Error",1820,4568],[5,"Path",4590],[5,"FileSystemStorage",1681],[5,"AtomicStoreLoader",4591],[1,"f64"],[8,"FileSystemDataSource",1424],[8,"SqlDataSource",1444],[10,"AggregatesStorage",1461],[10,"NodeStorage",1461],[5,"Aggregate",1461],[10,"AvailabilityStorage",1461],[10,"ExplorerStorage",1461],[10,"MerklizedStateHeightStorage",1461],[10,"MerklizedStateStorage",1461],[10,"UpdateAvailabilityStorage",1461],[10,"UpdateAggregatesStorage",1461],[1,"slice"],[5,"Transaction",1537],[6,"FailableAction",1537],[5,"FailStorage",1537],[5,"PrunerCfg",1774],[10,"PrunerConfig",1774],[10,"PrunedHeightStorage",1774],[5,"Transaction",1681],[10,"Revert",1681],[17,"Target"],[5,"FileSystemStorageInner",1681],[10,"Deref",4592],[5,"RwLockWriteGuard",4543],[5,"RwLockReadGuard",4543],[6,"PersistenceError",4593],[17,"Pruner"],[1,"u16"],[5,"Transaction",1820,4594],[10,"TransactionMode",1820,4594],[1,"i32"],[5,"OffsetDateTime",4595],[5,"Migration",1820,4596],[5,"Config",1820],[10,"Params",1820,4594],[8,"Db",1820,4597],[5,"Separated",4598],[5,"QueryBuilder",1820,4599],[8,"QueryResult",0],[10,"Encode",4600],[10,"Type",4601],[10,"IntoIterator",4602],[5,"Chain",4568],[5,"Write",1820,4594],[5,"Read",1820,4594],[5,"SqlStorage",1820],[5,"PathBuf",4590],[5,"Pruner",1820],[17,"Database"],[10,"Executor",1820,4603],[10,"Database",1820,4604],[10,"Execute",4603],[10,"Stream",4605],[5,"Sqlite",1820,4606],[5,"FmtValue",4607],[5,"SqliteConnectOptions",4608],[1,"u32"],[5,"Pool",4609],[6,"Type",4596],[8,"Query",1820,4594],[8,"QueryAs",1820,4594],[10,"FromRow",4610],[5,"TestArgs",4611],[5,"Error",4612],[1,"array"],[5,"TmpDb",2198],[5,"MonetaryValue",2236,4613],[1,"i128"],[5,"CurrencyMismatchError",2236,4614],[5,"InvalidCurrencyCodeError",2236,4614],[6,"CurrencyCode",2236,4614],[5,"BlockRange",2236,4547],[5,"TransactionRange",2236,4547],[5,"Timestamp",2236,4547],[6,"GetBlockDetailError",2236,4547],[6,"GetBlockSummariesError",2236,4547],[6,"GetTransactionDetailError",2236,4547],[6,"GetTransactionSummariesError",2236,4547],[6,"GetExplorerSummaryError",2236,4547],[6,"GetSearchResultsError",2236,4547],[5,"BlockDetail",2236,4547],[5,"BlockSummary",2236,4547],[5,"FeeAttribution",2236,4547],[5,"TransactionDetail",2236,4547],[5,"TransactionSummary",2236,4547],[6,"TransactionSummaryFilter",2236,4547],[5,"GenesisOverview",2236,4547],[5,"ExplorerHistograms",2236,4547],[5,"ExplorerSummary",2236,4547],[5,"SearchResult",2236,4547],[5,"BlockDetailResponse",2236],[5,"BlockSummaryResponse",2236],[5,"TransactionDetailResponse",2236],[5,"TransactionSummariesResponse",2236],[5,"ExplorerSummaryResponse",2236],[5,"SearchResultResponse",2236],[17,"BalanceAmount"],[17,"WalletAddress"],[17,"ProposerId"],[17,"NamespaceId"],[10,"ExplorerHeader",2236,4615],[5,"ComponentRange",4616],[5,"TryFromIntError",4617],[6,"Resettable",4618],[10,"ExplorerTransaction",2236,4615],[5,"Fetcher",3291],[5,"Semaphore",4619],[8,"ExponentialBackoff",4620],[10,"LocalCallback",3291],[10,"Callback",3291],[10,"Request",3433],[10,"Provider",3323],[5,"TestProvider",3323,4621],[5,"AnyProvider",3323,4622],[5,"QueryServiceProvider",3323,4623],[5,"NoFetching",3323],[5,"VidCommonRequest",3433],[5,"LeafRequest",3433],[5,"PayloadRequest",3433],[5,"Url",4624],[8,"QcHash",316,4569],[5,"Options",3527],[17,"Key"],[17,"Entry"],[17,"T"],[17,"Commit"],[17,"Digest"],[10,"Index",4625],[10,"ToTraversalPath",4625],[10,"FromStr",4626],[10,"CanonicalSerialize",4627],[10,"CanonicalDeserialize",4627],[10,"Element",4625],[10,"NodeValue",4625],[10,"MerkleCommitment",4625],[10,"TryFrom",4531],[10,"DigestAlgorithm",4625],[5,"Counter",3644],[5,"Histogram",3644],[6,"MetricsError",3644],[5,"Gauge",3644],[5,"CounterFamily",3644],[5,"GaugeFamily",3644],[5,"HistogramFamily",3644],[5,"TextFamily",3644],[10,"CounterFamily",4589],[10,"Counter",4589],[10,"Gauge",4589],[10,"Histogram",4589],[6,"Error",4628],[10,"GaugeFamily",4589],[10,"AsRef",4531],[10,"HistogramFamily",4589],[10,"TextFamily",4589],[1,"i64"],[5,"CustomSnafu",3888],[5,"SyncStatus",3888,4629],[5,"TimeWindowQueryData",3888,4629],[5,"Limits",3888,4629],[5,"RequestSnafu",3888],[5,"QuerySnafu",3888],[5,"QueryVidSnafu",3888],[5,"QueryWindowSnafu",3888],[5,"Options",3888],[10,"Deserialize",4540],[10,"HeightIndexed",4521],[5,"Options",4228],[10,"UpdateStatusData",4228,4564],[5,"BackgroundTask",4300],[5,"Task",4300],[5,"JoinError",4630],[5,"MockNetwork",4347],[10,"DataSourceLifeCycle",4347],[5,"MockNodeImpl",4387],[5,"MockVersions",4387],[17,"Storage"],[8,"BLSPubKey",4631],[5,"HotShotConfig",4632],[8,"SignatureKey",0],[8,"MockTransaction",4387],[8,"MockHeader",4387],[8,"MockMerkleTree",4387],[8,"MockPayload",4387],[1,"u8"],[15,"Custom",308],[15,"Availability",308],[15,"Node",308],[15,"Status",308],[15,"MerklizedState",308],[15,"Explorer",308],[15,"Error",315],[15,"RangeLimit",1158],[15,"InvalidTransactionIndex",1158],[15,"Custom",1158],[15,"FetchLeaf",1158],[15,"FetchBlock",1158],[15,"FetchTransaction",1158],[15,"Request",1158],[5,"TestMerkleTreeMigration",2198],[15,"Custom",3640],[15,"Request",3640],[15,"Query",3640],[15,"NoSuchMetric",3884],[15,"NoSuchSubgroup",3884],[15,"Prometheus",3884],[15,"QueryVid",4219],[15,"QueryWindow",4219],[15,"Custom",4219],[15,"Request",4219],[15,"Query",4219],[15,"Internal",4298],[15,"Request",4298],[8,"MockQuorumProposal",4387],[8,"MockStorage",4387],[8,"MockAuctionResults",4387]],"r":[[4,4525],[9,4528],[22,4542],[23,4536],[27,4572],[28,4572],[29,4572],[316,4561],[317,4569],[318,4561],[319,4561],[320,4569],[321,4569],[325,4573],[330,4561],[336,4569],[340,4569],[341,4561],[342,4569],[343,4569],[348,4569],[349,4569],[351,4569],[352,4569],[353,4569],[359,4569],[360,4569],[361,4569],[362,4569],[364,4569],[365,4569],[366,4561],[367,4569],[368,4569],[1169,1297],[1170,4580],[1171,1297],[1172,1424],[1173,4581],[1175,1444],[1176,4562],[1178,4562],[1179,4562],[1425,1681],[1446,4568],[1447,4596],[1449,4594],[1456,0],[1459,2198],[1465,1537],[1466,1681],[1470,1820],[1825,4604],[1827,4597],[1828,4568],[1829,4603],[1830,4594],[1831,4596],[1833,4594],[1835,4594],[1836,4594],[1837,4599],[1839,4594],[1842,4606],[1844,4594],[1846,4594],[1851,4594],[1891,4594],[2054,4633],[2055,0],[2123,4594],[2125,4594],[2140,4597],[2196,4634],[2197,4634],[2236,4547],[2239,4547],[2241,4547],[2242,4547],[2244,4547],[2245,4547],[2250,4614],[2251,4614],[2256,4582],[2257,4615],[2258,4547],[2259,4547],[2261,4615],[2262,4547],[2266,4547],[2268,4547],[2271,4547],[2273,4547],[2275,4547],[2277,4547],[2279,4547],[2281,4547],[2283,4547],[2289,4614],[2296,4613],[2300,4547],[2309,4547],[2314,4547],[2315,4547],[2318,4547],[2320,4547],[2321,4547],[2323,4547],[2325,4547],[2326,4547],[2334,4547],[3294,3323],[3295,3433],[3323,4622],[3326,4623],[3327,4621],[3535,4583],[3536,4583],[3537,4583],[3541,4583],[3543,4583],[3888,4569],[3889,4561],[3895,4629],[3896,4563],[3906,4629],[3908,4629],[3909,4563],[4229,4564],[4233,4564],[4234,4564]],"b":[[94,"impl-Leaf%3CTYPES%3E"],[95,"impl-Committable-for-Leaf%3CTYPES%3E"],[153,"impl-Display-for-Leaf%3CTYPES%3E"],[154,"impl-Debug-for-Leaf%3CTYPES%3E"],[155,"impl-Display-for-Error"],[156,"impl-Debug-for-Error"],[160,"impl-Display-for-QueryError"],[161,"impl-Debug-for-QueryError"],[164,"impl-From%3C(String,+StatusCode)%3E-for-Error"],[166,"impl-From%3CError%3E-for-Error"],[167,"impl-From%3CError%3E-for-Error"],[168,"impl-From%3CError%3E-for-Error"],[169,"impl-From%3CError%3E-for-Error"],[170,"impl-From%3CError%3E-for-Error"],[175,"impl-From%3CTimestampConversionError%3E-for-QueryError"],[176,"impl-From%3CError%3E-for-QueryError"],[179,"impl-From%3CD%3E-for-ApiState%3CD%3E"],[180,"impl-From%3CArc%3CD%3E%3E-for-ApiState%3CD%3E"],[720,"impl-Display-for-LeafId%3CTypes%3E"],[721,"impl-Debug-for-LeafId%3CTypes%3E"],[722,"impl-Display-for-BlockId%3CTypes%3E"],[723,"impl-Debug-for-BlockId%3CTypes%3E"],[726,"impl-Debug-for-InconsistentLeafError%3CTypes%3E"],[727,"impl-Display-for-InconsistentLeafError%3CTypes%3E"],[745,"impl-Display-for-Error"],[746,"impl-Debug-for-Error"],[748,"impl-From%3CCommitment%3CLeaf%3CTypes%3E%3E%3E-for-LeafId%3CTypes%3E"],[750,"impl-From%3Cusize%3E-for-LeafId%3CTypes%3E"],[751,"impl-From%3Cusize%3E-for-BlockId%3CTypes%3E"],[753,"impl-From%3CCommitment%3C%3CTypes+as+NodeType%3E::BlockHeader%3E%3E-for-BlockId%3CTypes%3E"],[780,"impl-From%3CRequestError%3E-for-Error"],[781,"impl-From%3C(String,+StatusCode)%3E-for-Error"],[1186,"impl-StatusDataSource-for-ExtensibleDataSource%3CD,+U%3E"],[1187,"impl-NodeDataSource%3CTypes%3E-for-ExtensibleDataSource%3CD,+U%3E"],[1305,"impl-StatusDataSource-for-FetchingDataSource%3CTypes,+S,+P%3E"],[1306,"impl-NodeDataSource%3CTypes%3E-for-FetchingDataSource%3CTypes,+S,+P%3E"],[1427,"impl-DataSourceLifeCycle-for-FetchingDataSource%3CMockTypes,+FileSystemStorage%3CMockTypes%3E,+P%3E"],[1428,"impl-FetchingDataSource%3CTypes,+FileSystemStorage%3CTypes%3E,+P%3E"],[1452,"impl-DataSourceLifeCycle-for-FetchingDataSource%3CMockTypes,+SqlStorage,+P%3E"],[1453,"impl-FetchingDataSource%3CTypes,+SqlStorage,+P%3E"],[1693,"impl-Transaction-for-Transaction%3CRwLockWriteGuard%3C\'a,+FileSystemStorageInner%3CTypes%3E%3E%3E"],[1694,"impl-Transaction-for-Transaction%3CRwLockReadGuard%3C\'a,+FileSystemStorageInner%3CTypes%3E%3E%3E"],[1755,"impl-Transaction-for-Transaction%3CRwLockWriteGuard%3C\'a,+FileSystemStorageInner%3CTypes%3E%3E%3E"],[1756,"impl-Transaction-for-Transaction%3CRwLockReadGuard%3C\'a,+FileSystemStorageInner%3CTypes%3E%3E%3E"],[1861,"impl-AsRef%3Cdyn+Error+%2B+Send+%2B+Sync%3E-for-Error"],[1862,"impl-AsRef%3Cdyn+Error%3E-for-Error"],[2000,"impl-Display-for-Error"],[2001,"impl-Debug-for-Error"],[2002,"impl-Debug-for-Migration"],[2003,"impl-Display-for-Migration"],[2762,"impl-Display-for-CurrencyMismatchError"],[2763,"impl-Debug-for-CurrencyMismatchError"],[2764,"impl-Debug-for-InvalidCurrencyCodeError"],[2765,"impl-Display-for-InvalidCurrencyCodeError"],[2766,"impl-Display-for-CurrencyCode"],[2767,"impl-Debug-for-CurrencyCode"],[2768,"impl-Debug-for-MonetaryValue"],[2769,"impl-Display-for-MonetaryValue"],[2770,"impl-Debug-for-BlockIdentifier%3CTypes%3E"],[2771,"impl-Display-for-BlockIdentifier%3CTypes%3E"],[2772,"impl-Debug-for-TransactionIdentifier%3CTypes%3E"],[2773,"impl-Display-for-TransactionIdentifier%3CTypes%3E"],[2779,"impl-Display-for-TimestampConversionError"],[2780,"impl-Debug-for-TimestampConversionError"],[2791,"impl-Display-for-GetBlockDetailError"],[2792,"impl-Debug-for-GetBlockDetailError"],[2793,"impl-Debug-for-GetBlockSummariesError"],[2794,"impl-Display-for-GetBlockSummariesError"],[2795,"impl-Display-for-GetTransactionDetailError"],[2796,"impl-Debug-for-GetTransactionDetailError"],[2797,"impl-Debug-for-GetTransactionSummariesError"],[2798,"impl-Display-for-GetTransactionSummariesError"],[2799,"impl-Debug-for-GetExplorerSummaryError"],[2800,"impl-Display-for-GetExplorerSummaryError"],[2801,"impl-Debug-for-GetSearchResultsError"],[2802,"impl-Display-for-GetSearchResultsError"],[2803,"impl-Debug-for-Error"],[2804,"impl-Display-for-Error"],[2823,"impl-From%3CComponentRange%3E-for-TimestampConversionError"],[2824,"impl-From%3CTryFromIntError%3E-for-TimestampConversionError"],[2837,"impl-From%3CError%3E-for-GetBlockDetailError"],[2838,"impl-From%3CQueryError%3E-for-GetBlockDetailError"],[2840,"impl-From%3CError%3E-for-GetBlockSummariesError"],[2841,"impl-From%3CQueryError%3E-for-GetBlockSummariesError"],[2842,"impl-From%3CTimestampConversionError%3E-for-GetTransactionDetailError"],[2844,"impl-From%3CQueryError%3E-for-GetTransactionDetailError"],[2845,"impl-From%3CError%3E-for-GetTransactionDetailError"],[2846,"impl-From%3CQueryError%3E-for-GetTransactionSummariesError"],[2847,"impl-From%3CError%3E-for-GetTransactionSummariesError"],[2849,"impl-From%3CQueryError%3E-for-GetExplorerSummaryError"],[2850,"impl-From%3CGetBlockSummariesError%3E-for-GetExplorerSummaryError"],[2851,"impl-From%3CGetBlockDetailError%3E-for-GetExplorerSummaryError"],[2852,"impl-From%3CError%3E-for-GetExplorerSummaryError"],[2853,"impl-From%3CGetTransactionSummariesError%3E-for-GetExplorerSummaryError"],[2856,"impl-From%3CQueryError%3E-for-GetSearchResultsError"],[2857,"impl-From%3CError%3E-for-GetSearchResultsError"],[3373,"impl-Provider%3CTypes,+VidCommonRequest%3E-for-AnyProvider%3CTypes%3E"],[3374,"impl-Provider%3CTypes,+LeafRequest%3CTypes%3E%3E-for-AnyProvider%3CTypes%3E"],[3375,"impl-Provider%3CTypes,+PayloadRequest%3E-for-AnyProvider%3CTypes%3E"],[3376,"impl-Provider%3CTypes,+LeafRequest%3CTypes%3E%3E-for-QueryServiceProvider%3CVer%3E"],[3377,"impl-Provider%3CTypes,+VidCommonRequest%3E-for-QueryServiceProvider%3CVer%3E"],[3378,"impl-Provider%3CTypes,+PayloadRequest%3E-for-QueryServiceProvider%3CVer%3E"],[3588,"impl-Display-for-Snapshot%3CTypes,+T,+ARITY%3E"],[3589,"impl-Debug-for-Snapshot%3CTypes,+T,+ARITY%3E"],[3590,"impl-Debug-for-Error"],[3591,"impl-Display-for-Error"],[3594,"impl-From%3CQueryError%3E-for-Error"],[3595,"impl-From%3CRequestError%3E-for-Error"],[3596,"impl-From%3C(String,+StatusCode)%3E-for-Error"],[3761,"impl-Display-for-MetricsError"],[3762,"impl-Debug-for-MetricsError"],[3781,"impl-Metrics-for-PrometheusMetrics"],[3782,"impl-PrometheusMetrics"],[4066,"impl-Display-for-Error"],[4067,"impl-Debug-for-Error"],[4080,"impl-From%3CRequestError%3E-for-Error"],[4082,"impl-From%3C(String,+StatusCode)%3E-for-Error"],[4083,"impl-From%3CQueryError%3E-for-Error"],[4267,"impl-Debug-for-Error"],[4268,"impl-Display-for-Error"],[4270,"impl-From%3CString%3E-for-Error"],[4272,"impl-From%3CRequestError%3E-for-Error"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAN0OMQECAAEABQAAAAgAAQALAAEADwAAABMAAwAZAAEAHwAGACcABQAuAAIANAAPAEcAFwBgAAAAYgABAGYALACaAAkApQAAAKcABACwAAEAswACALcAAwC8AAAAvgABAMIADQDYAAIA3AAJAOcAAQDqAAAA7QAJAPgAAgD8AAEA/wACAAMBGgAfAQgALQEPAD8BAABBAQIARQEAAEcBAABJAQAASwEBAE4BAQBRAQEAVQEHAF4BAwBjAQAAZQEBAGgBAwBtAQIAcQEXAIoBCwCXAQEAmgEvANIBSAAcAm0AjAI8ANECGgDtAgAA7wIBAPICAAD0AgAA+QIAAP0CAAD/AgAAAQMAAA0DGgApAwoANQMPAEYDGQB4AwcAggMAAIUDAACHAxoAowMBAKYDAgCqAwEAsgMhANcDAQDaAxAA7AMqABkEAAAdBAAAIQQvAFIEMgCHBAsAlAQBAJcEAQCdBAQAowQbAMAEAQDEBCAA5wQAAOoEBADwBAAA8gQDAPcEBQD/BAgACQUDAA4FAwAVBQwAJAUFACsFAAAuBQgAOQUEAEEFHgBjBQMAagUFAHEFEACQBQAAkgUCAJcFAACaBQAAnAUKAKoFAACtBQAArwUBALIFBQC6BQIAvgUEAMQFDADSBQAA1AUBANcFAADaBQkA5QUAAOgFCADyBQAA9AUFAPsFAwAABgEABQZCAEoGAQBNBhsAbAYlAJMGDQCjBhAAtwYUAM8GBADWBgcA3wYVAPYGCgACBwIABwcBAAsHAgAPBwAAEQcLACAHAAAjBwAAKwcCAD0HBgBGBwEASQcDAE4HFABkBwAAZgcAAGkHEwCBBwgAiwckALMHEADQBw0A3wcAAOYHAADqBwwA+AcMAAkIDQAiCAkALQgBADAIAAA3CAwARQgAAEwIAABOCAAAUAgAAFIIAQBVCAIAWQgrAIYIAQCJCB4AqggCAK8IDgC/CAAAwwgBAMgIAgDOCAIA2AgCANwIAADeCAEA4QgAAOMIAADlCAAA5wgAAOkIAADrCAAA7QgEAPMIBQD8CAEA/wgGAAgJAgANCQEAEgkBABgJBwAhCRAAMwlnAJwJNgDUCUsAIQoFACgKmQDECgEAyAoCAMwKAQDQCgEA0wooAAgLAQAWCwEAGQsCAB0LAwAiCwQAKQsBACwLAAAvCwAAMgsBADULAAA3CwIAQAsrAI8LKgC8CysA6QsCAO0LAwDzCwAA9gsWAA4MEQAhDJUAuAwjAN8MDADtDAAA7wwCAPQMAQD3DAQAAQ0DAAYNJQAuDQsAPg0DAEYNGQBiDQMAbw0xAKQNCgCyDR0A0g0DANcNAADZDSoABQ4DAAsOAgAPDgMAFA4DABwOCQAnDgQALQ4PAEMOAwBJDnIAvQ4AAMYOAADIDgQA0w4JAOYOTQA1DwYAPQ8AAD8PAABBDwAAQw8BAEYPJwBvD2cA2Q8LAOYPAADxDwAA8w8RABAQLwBBEDkAfBAuAKwQAQCvEAAAsRACALYQFgDPEBIA5BABAOkQAwDvEBEAAhELAA8RBAAVEQQAGxEJACYRDQA2EQUAPREtAG4RCQB7EQAAfREDAIIRBACIEQIAjBEAAI4RAgCSEQEAlREDAJoRCQCnEQIAqxEAAA=="}]]')); +var searchIndex = new Map(JSON.parse('[["hotshot_query_service",{"t":"FPPPGPFPIFPIPFPPFPFIGIIKIPIIIINNNNNNNONNNNNNCONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNOCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQNNNNNNNNQQQQQNNNNNNNNNNNNNNNNNNNNNNNCOCCONNNNNNNNNNONHNNNONNCNNOCCNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNCNNNONNNNNNNNOOOOOOOOKIGFFFPFGGPFPFIPFPPRFPFRIGFFPPFPFFPIKKPFPPFIIIIRFFKFFNNNNNNNNNNNNNNNNNNNNNNOMNNNNNNNNONNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNMMMNNMMMMMMMMMMMMMMMMNNNNNNNONNNNNNNNNNNOOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMOONNNNNNNNNNNNNNNNNNNNNNNNNOOMNONONNNNNNNNNNNNNONNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNONOOONNNNNNNNNNNNOOONNNONNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOEFEEFREKRKKNNNNNCNNNNNNNNNNNNNMNNNNNNNNNNNNNNCNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNCNNNNMNNNMNCCCNNNNNNNNNMNNNNMNHHHKFFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNIENNNNNNNNNHHHHHHHHHIIFFIENNNNNNQNCEHFKKKEEKKKEKKNMMNNNNNMNNNNNCMNNCMMMMMMMMMMMMMMMMMMMMMMMONMMMNNMOOMNCCMNNNNMMNPFGPPPPPPPPPPPPPPPPFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFKFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNKKRFKNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNRRRFRKRIFKKFTKFIIFRFRFFRFRKRTRRFNNNNNNNNNNNNMNNMNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNHNHNNNNNNNNNNNNDNCNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNIRPFFGIPFFFPPPGFGPPPKKFFFKFPPPFPGPPGPFPGPGPGPGPFPPPPPFPPPPPPFRRPIRPPPPPPPFFPPPFGPPFFGIPFFFGPPPPPPPIRPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOMMOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOMMMMMMOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNOOOOOOOONMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMOOOMOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKFKEENNNNNNNNNNNNNNNNNCCMMNNNNNNFFKFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFKRFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNPRPRRGPRKKKFPPGRKNNONNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNMMNMNNNMMNNNNNNNNNNNMNMNNNNNMNNNNNNNNNNNNOOOOFFFFFFGPPPFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOEEPFGPPFKFPFPFPFPFFPFGNNNNNNNNNNONNNNOMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOONNNMNNNNNNNNNNNOONNNNNONOMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNOOOOOOOOOOOOGKPFPKKNONNNNMNNNNNNNNNNNHNNNNNNNNNNNNONNNNNNNNNNNNMNNMNNNNNNNNNNNNNNNOOFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCHHKIFISRKNNMMNNNNNNNNNMNNNNNNNNMNNNNNNNNNNIIIIIIFIIIIFFNNNOONNNNNNONNNNNNNNNNNNNONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNOHNNNNONNNNONONNNONNONNNNONNNNNNNNNNOOONNNKM","n":["ApiState","Availability","Custom","Err","Error","","ErrorSnafu","Explorer","Header","Leaf","MerklizedState","Metadata","Missing","MissingSnafu","Node","NotFound","NotFoundSnafu","Ok","Options","Payload","QueryError","QueryResult","QuorumCertificate","Resolvable","SignatureKey","Status","Transaction","VidCommitment","VidCommon","VidShare","__clone_box","","","","","","","_pd","as_error","","as_error_source","","","","availability","","backtrace","","block_header","block_header_mut","block_payload","borrow","","","","","","","","borrow_mut","","","","","","","","build","","","catch_all","cause","","clone","","","","","","","clone_into","","","","","","","clone_to_uninit","","","","","","","commit","","commitment","","create_random_transaction","data","data_source","default","deref","","","","","","","","","deref_mut","","","","","","","","description","","deserialize","","","","","","","","","","","drop","","","","","","","","eq","equivalent","","","","explorer","extends_upgrade","fail","","","fetching","fill_block_payload","fill_block_payload_unchecked","fmt","","","","","","","","","","from","","","","","","","","","","","","","","","","","","","from_fd","from_filelike","from_into_filelike","from_into_socketlike","from_quorum_proposal","from_socketlike","genesis","get_hash","hash","height","include_migrations","init","","","","","","","","instantiate_availability_tests","instantiate_data_source_tests","instantiate_node_tests","instantiate_persistence_tests","instantiate_status_tests","internal","into","","","","","","","","into_error","","","justify_qc","layout_raw","","","","","","","","load","","merklized_state","message","metrics","node","","parent_commitment","payload_commitment","pointer_metadata","","","","","","","","port","read","run_standalone_service","serialize","","","signatures","source","","status","","","","task","testing","to_owned","","","","","","","to_string","","","try_from","","","","","","","","try_into","","","","","","","","try_resolve","","type_id","","","","","","","","types","unfill_block_payload","upgrade_certificate","view_number","","vzip","","","","","","","","message","source","","","","","status","message","AvailabilityDataSource","BlockHash","BlockId","BlockInfo","BlockQueryData","BlockSummaryQueryData","Custom","CustomSnafu","Error","Fetch","FetchBlock","FetchBlockSnafu","FetchLeaf","FetchLeafSnafu","FetchStream","FetchTransaction","FetchTransactionSnafu","Hash","","InclusionProof","InconsistentLeafError","InvalidTransactionIndex","InvalidTransactionIndexSnafu","Iter","LeafHash","LeafId","LeafQueryData","Limits","Number","","Options","PayloadHash","PayloadMetadata","PayloadQueryData","Pending","QcHash","QueryableHeader","QueryablePayload","RangeLimit","RangeLimitSnafu","Ready","Request","RequestSnafu","Timestamp","TransactionHash","TransactionInclusionProof","TransactionIndex","","TransactionQueryData","TransactionSummaryQueryData","UpdateAvailabilityData","VidCommonMetadata","VidCommonQueryData","__clone_box","","","","","","","","","","","","","","","","","","","","","","api_path","append","as_error","","as_error_source","","","","backtrace","","block","block_hash","","","","","","block_height","borrow","","","","","","","","","","","","","","","","","","","","","","","","borrow_mut","","","","","","","","","","","","","","","","","","","","","","","","build","","","","","","by_hash","","cause","","clone","","","","","","","","","","","","","","","","","","","","","","clone_into","","","","","","","","","","","","","","","","","","","","","","clone_to_uninit","","","","","","","","","","","","","","","","","","","","","","cmp","","common","compare","","context","data","default","define_api","deref","","","","","","","","","","","","","","","","","","","","","","","","deref_mut","","","","","","","","","","","","","","","","","","","","","","","","description","","deserialize","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","drop","","","","","","","","","","","","","","","","","","","","","","","","enumerate","","","eq","","","","","","","","","","","","equivalent","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","extensions","fail","","","","","","fetch_timeout","fmt","","","","","","","","","","","","","","","","","","","","","","","","","","","from","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","from_row","","","","","","genesis","","","","get_block","get_block_range","get_block_range_rev","get_hash","","get_leaf","get_leaf_range","get_leaf_range_rev","get_payload","get_payload_metadata","get_payload_metadata_range","get_payload_metadata_range_rev","get_payload_range","get_payload_range_rev","get_transaction","get_vid_common","get_vid_common_metadata","get_vid_common_metadata_range","get_vid_common_metadata_range_rev","get_vid_common_range","get_vid_common_range_rev","hash","","","","","","","","header","","","height","","","","","","","","","","","index","","init","","","","","","","","","","","","","","","","","","","","","","","","internal","into","","","","","","","","","","","","","","","","","","","","","","","","into_error","","","","","","","into_future","is_empty","","","is_pending","iter","large_object_range_limit","","layout_raw","","","","","","","","","","","","","","","","","","","","","","","","leaf","","","len","","limit","map","message","metadata","new","","","","nth","","nth_transaction","","nth_transaction_with_proof","","num_transactions","","","partial_cmp","","payload","payload_hash","","","","pointer_metadata","","","","","","","","","","","","","","","","","","","","","","","","proof","","","qc","qc_leaf","resolve","resource","","","serialize","","","","","","","","","size","","","","small_object_range_limit","","source","","status","","subscribe_blocks","","subscribe_leaves","","subscribe_payload_metadata","","subscribe_payloads","","subscribe_vid_common","","subscribe_vid_common_metadata","","timestamp","to_owned","","","","","","","","","","","","","","","","","","","","","","to_string","","","","transaction","","","","transaction_by_hash","","","transaction_by_hash_with_proof","","transaction_with_proof","try_from","","","","","","","","","","","","","","","","","","","","","","","","try_into","","","","","","","","","","","","","","","","","","","","","","","","try_resolve","type_id","","","","","","","","","","","","","","","","","","","","","","","","until","vid_common","vid_share","vzip","","","","","","","","","","","","","","","","","","","","","","","","with_context","with_timeout","from","height","index","limit","message","resource","","","source","status","until","AvailabilityProvider","ExtensibleDataSource","FetchingDataSource","FileSystemDataSource","MetricsDataSource","ReadOnly","SqlDataSource","Transaction","","UpdateDataSource","VersionedDataSource","__clone_box","","append","as_mut","as_ref","availability_tests","block_height","","","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","commit","connect","","count_transactions_in_range","create","","default","deref","","deref_mut","","deserialize","","drop","","fetching","fmt","","from","","fs","get_block","get_block_detail","get_block_range","get_block_range_rev","get_block_summaries","get_explorer_summary","get_header_window","get_last_state_height","get_leaf","get_leaf_range","get_leaf_range_rev","get_path","get_payload","get_payload_metadata","get_payload_metadata_range","get_payload_metadata_range_rev","get_payload_range","get_payload_range_rev","get_search_results","get_transaction","get_transaction_detail","get_transaction_summaries","get_vid_common","get_vid_common_metadata","get_vid_common_metadata_range","get_vid_common_metadata_range_rev","get_vid_common_range","get_vid_common_range_rev","handle_event","","init","","inner","inner_mut","insert_merkle_nodes","into","","layout_raw","","metrics","","new","node_tests","payload_size_in_range","persistence_tests","pointer_metadata","","populate_metrics","","read","","reset","","revert","set_last_state_height","sql","status_tests","storage","sync_status","to_owned","","try_from","","try_into","","type_id","","update","","vid_share","vzip","","write","","test_range","test_range_rev","test_update","AvailabilityProvider","Builder","FetchingDataSource","Pruner","__clone_box","","append","as_ref","block_height","","borrow","","","borrow_mut","","","build","builder","clone","","clone_into","","clone_to_uninit","","connect","count_transactions_in_range","create","create_with_store","deref","","","deref_mut","","","deserialize","","","disable_aggregator","disable_proactive_fetching","drop","","","fmt","","from","","","get_block","get_block_detail","get_block_range","get_block_range_rev","get_block_summaries","get_explorer_summary","get_header_window","get_last_state_height","get_leaf","get_leaf_range","get_leaf_range_rev","get_path","get_payload","get_payload_metadata","get_payload_metadata_range","get_payload_metadata_range_rev","get_payload_range","get_payload_range_rev","get_search_results","get_transaction","get_transaction_detail","get_transaction_summaries","get_vid_common","get_vid_common_metadata","get_vid_common_metadata_range","get_vid_common_metadata_range_rev","get_vid_common_range","get_vid_common_range_rev","init","","","into","","","layout_raw","","","metrics","new","open","open_with_store","payload_size_in_range","pointer_metadata","","","populate_metrics","read","skip_version","sync_status","to_owned","","try_from","","","try_into","","","type_id","","","update","vid_share","vzip","","","with_active_fetch_delay","with_aggregator_chunk_size","with_chunk_fetch_delay","with_major_scan_interval","with_major_scan_offset","with_max_retry_interval","with_min_retry_interval","with_minor_scan_interval","with_proactive_range_chunk_size","with_range_chunk_size","with_rate_limit","with_retry_multiplier","with_retry_randomization_factor","with_retry_timeout","write","FileSystemDataSource","Transaction","connect","create","","create_with_store","handle_event","open","open_with_store","reset","skip_version","test_counters","test_sync_status","test_timestamp_window","test_vid_monotonicity","test_vid_recovery","test_vid_shares","test_drop_tx","test_reset","test_revert","Builder","Config","Error","Migration","SqlDataSource","Transaction","builder","connect","","","create","handle_event","include_migrations","reset","testing","TmpDb","test_metrics","Aggregate","AggregatesStorage","AvailabilityStorage","ExplorerStorage","FailStorage","FileSystemStorage","MerklizedStateHeightStorage","MerklizedStateStorage","NodeStorage","SqlStorage","UpdateAggregatesStorage","UpdateAvailabilityStorage","__clone_box","aggregates_height","block_height","borrow","borrow_mut","clone","clone_into","clone_to_uninit","count_transactions_in_range","default","deref","deref_mut","deserialize","drop","fail_storage","first_available_leaf","fmt","from","fs","get_block","get_block_detail","get_block_range","get_block_summaries","get_explorer_summary","get_header","get_header_window","get_last_state_height","get_leaf","get_leaf_range","get_path","get_payload","get_payload_metadata","get_payload_metadata_range","get_payload_range","get_search_results","get_transaction","get_transaction_detail","get_transaction_summaries","get_vid_common","get_vid_common_metadata","get_vid_common_metadata_range","get_vid_common_range","height","init","insert_block","insert_leaf","insert_vid","into","layout_raw","load_prev_aggregate","num_transactions","payload_size","payload_size_in_range","pointer_metadata","pruning","sql","sync_status","to_owned","try_from","try_into","type_id","update_aggregates","vid_share","vzip","Any","FailStorage","FailableAction","FirstAvailableLeaf","GetBlock","GetBlockRange","GetHeader","GetHeaderRange","GetLeaf","GetLeafRange","GetPayload","GetPayloadMetadata","GetPayloadMetadataRange","GetPayloadRange","GetTransaction","GetVidCommon","GetVidCommonMetadata","GetVidCommonMetadataRange","GetVidCommonRange","Transaction","__clone_box","","aggregates_height","block_height","borrow","","","borrow_mut","","","clone","","clone_into","","clone_to_uninit","","commit","count_transactions_in_range","deref","","","deref_mut","","","deserialize","","","drop","","","eq","equivalent","","","","fail","fail_begins_read_only","fail_begins_writable","fail_commits","fail_one_begin_read_only","fail_one_begin_writable","fail_one_commit","fail_one_read","fail_one_write","fail_reads","fail_writes","first_available_leaf","fmt","","","from","","","","","from_fd","from_filelike","from_into_filelike","from_into_socketlike","from_socketlike","get_block","get_block_range","get_disk_usage","get_header","get_header_window","get_leaf","get_leaf_range","get_payload","get_payload_metadata","get_payload_metadata_range","get_payload_range","get_pruning_config","get_transaction","get_vid_common","get_vid_common_metadata","get_vid_common_metadata_range","get_vid_common_range","init","","","insert_block","insert_leaf","insert_vid","into","","","layout_raw","","","load_prev_aggregate","load_pruned_height","metrics","pass","pass_begins_read_only","pass_begins_writable","pass_commits","pass_reads","pass_writes","payload_size_in_range","pointer_metadata","","","prune","read","revert","set_pruning_config","sync_status","to_owned","","try_from","","","try_into","","","type_id","","","update_aggregates","vid_share","vzip","","","write","FileSystemStorage","FileSystemStorageInner","Revert","Transaction","aggregates_height","block_height","borrow","","","borrow_mut","","","commit","","count_transactions_in_range","create","create_with_store","deref","","","deref_mut","","","deserialize","","","drop","","","","first_available_leaf","fmt","","","from","","","get_block","get_block_range","get_header","get_header_window","get_leaf","get_leaf_range","get_payload","get_payload_metadata","get_payload_metadata_range","get_payload_range","get_transaction","get_vid_common","get_vid_common_metadata","get_vid_common_metadata_range","get_vid_common_range","init","","","insert_block","insert_leaf","insert_vid","into","","","layout_raw","","","load_prev_aggregate","metrics","open","open_with_store","payload_size_in_range","pointer_metadata","","","read","revert","","","skip_version","sync_status","try_from","","","try_into","","","type_id","","","update_aggregates","vid_share","vzip","","","write","PruneStorage","PrunedHeightStorage","Pruner","PrunerCfg","PrunerConfig","__clone_box","batch_size","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","deserialize","drop","fmt","from","get_disk_usage","get_pruning_config","init","interval","into","layout_raw","load_pruned_height","max_usage","minimum_retention","new","pointer_metadata","prune","pruning_threshold","set_pruning_config","target_retention","to_owned","try_from","try_into","type_id","validate","vzip","with_batch_size","with_interval","with_max_usage","with_minimum_retention","with_pruning_threshold","with_target_retention","ArgumentBuffer","Arguments","Column","Config","Connection","Database","","Db","Error","Executor","FixedLengthParams","Migration","NAME","Params","Pruner","Query","QueryAs","QueryBuilder","QueryResult","Read","Row","SqlStorage","Sqlite","Statement","Transaction","TransactionManager","TransactionMode","TypeInfo","URL_SCHEMES","Value","ValueRef","Write","__clone_box","","","","","aggregates_height","applied","applied_on","archive","as_ref","","backtrace","begin","","","bind","","block_height","borrow","","","","","","","","","","borrow_mut","","","","","","","","","","bounds_to_where_clause","build_where_in","builder","busy_timeout","chain","checksum","cleanup_test","cleanup_test_dbs","clone","","","","","clone_into","","","","","clone_to_uninit","","","","","cmp","commit","compare","connect","","connection_timeout","context","count_transactions_in_range","create_database","database_exists","db_path","default","","","","","default_migrations","deref","","","","","","","","","","","","deref_mut","","","","","","","","","","","","deserialize","","","","","","","","","","display","","","downcast","downcast_mut","downcast_ref","drop","","","","","","","","","","","drop_database","eq","equivalent","","","","execute","","execute_many","","fetch","","fetch_all","","fetch_many","fetch_one","","fetch_optional","first_available_leaf","fmt","","","","","","","","","","","fmt_value_debug","from","","","","","","","","","","","","","from_str","get_block","get_block_detail","get_block_range","get_block_summaries","get_disk_usage","get_explorer_summary","get_feature_gate","get_header","get_header_window","get_last_state_height","get_leaf","get_leaf_range","get_path","get_payload","get_payload_metadata","get_payload_metadata_range","get_payload_range","get_pruning_config","get_search_results","get_transaction","get_transaction_detail","get_transaction_summaries","get_vid_common","get_vid_common_metadata","get_vid_common_metadata_range","get_vid_common_range","header_where_clause","idle_connection_timeout","include_dir","include_migrations","init","","","","","","","","","","insert_block","insert_leaf","insert_merkle_nodes","insert_vid","into","","","","","","","","","","is","layout_raw","","","","","","","","","","load_header","load_prev_aggregate","load_pruned_height","max_connections","metrics","migrations","min_connections","msg","name","new","no_migrations","param_type_for_id","partial_cmp","payload_size_in_range","pointer_metadata","","","","","","","","","","pool","","prefix","prepare","","prepare_with","prune","pruner_cfg","query","","query_as","","read","reset_schema","return_type_for_id","revert","root_cause","set_applied","set_last_state_height","set_pruning_config","slow_statement_threshold","snapshot","sql","sqlx","sync_status","syntax_helpers","test_context","testing","to_owned","","","","","to_string","","try_from","","","","","","","","","","try_into","","","","","","","","","","type_id","","","","","","","","","","unapplied","update_aggregates","upsert","version","vid_share","vzip","","","","","","","","","","write","BINARY_TYPE","MAX_FN","TestMerkleTreeMigration","TmpDb","borrow","","borrow_mut","","config","deref","","deref_mut","","deserialize","","drop","","","fmt","from","","init","","","into","","layout_raw","","path","persistent","pointer_metadata","","try_from","","try_into","","type_id","","vzip","","BalanceAmount","","Block","BlockDetail","BlockDetailResponse","BlockIdentifier","BlockNamespaceId","BlockNotFound","BlockRange","BlockSummary","BlockSummaryResponse","Btc","CryptoEnd","CryptoStart","CurrencyCode","CurrencyMismatchError","Error","Esp","Eth","Eur","ExplorerDataSource","ExplorerHeader","ExplorerHistograms","ExplorerSummary","ExplorerSummaryResponse","ExplorerTransaction","FeeAttribution","FiatCurrencyEnd","FiatCurrencyStart","Gbp","GenesisOverview","GetBlockDetail","GetBlockDetailError","","GetBlockSummaries","GetBlockSummariesError","","GetBlockSummariesRequest","GetExplorerSummary","GetExplorerSummaryError","GetSearchResults","GetSearchResultsError","GetTransactionDetail","GetTransactionDetailError","GetTransactionSummaries","GetTransactionSummariesError","","GetTransactionSummariesRequest","Hash","","Height","HeightAndOffset","IntError","InvalidCurrencyCodeError","InvalidLimit","","InvalidQuery","Jpy","Latest","","MonetaryValue","NamespaceId","","None","ProposerId","","QueryError","","","","","","RollUp","SearchResult","SearchResultResponse","TargetNotFound","","TimeError","Timestamp","TimestampConversionError","TokenEnd","TokenStart","TransactionDetail","TransactionDetailResponse","TransactionIdentifier","TransactionNamespaceId","TransactionNotFound","TransactionRange","TransactionSummariesResponse","TransactionSummary","TransactionSummaryFilter","Unimplemented","","","","","","Usd","WalletAddress","","Xxx","__clone_box","","","","","","","","","","","","","","","","add","as_error","","","","","","","","as_error_source","","","","","","","","","","","","","","","","block_confirmed","block_detail","block_heights","block_reward","block_size","block_summaries","block_time","block_transactions","blocks","","borrow","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","borrow_mut","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","btc","clone","","","","","","","","","","","","","","","","clone_into","","","","","","","","","","","","","","","","clone_to_uninit","","","","","","","","","","","","","","","","cmp","compare","currency","","currency1","currency2","default","define_api","deref","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","deref_mut","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","deserialize","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","drop","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","eq","","","","","","","","","","","","","","equivalent","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","esp","eth","explorer_summary","fee_details","fee_info_account","fee_info_balance","fee_recipient","fees","filter","fmt","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","from","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","from_row","","genesis_overview","get_block_detail","get_block_summaries","get_explorer_summary","get_search_results","get_transaction_detail","get_transaction_summaries","hash","","","","height","","","","histograms","init","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","into","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","into_resettable","is_crypto","is_fiat","is_token","latest_block","latest_blocks","latest_transactions","layout_raw","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","namespace_id","namespace_ids","new","num_blocks","num_transactions","","","","","offset","","partial_cmp","payload_size","pointer_metadata","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","proposer_id","","","range","reward_balance","rollups","","search_results","sequencing_fees","serialize","","","","","","","","","","","","","","","","","","","","","","","","","","","","significant_digits","size","","","source","","","","","","","","status","","","","","","","sub","target","","","time","","","","to_owned","","","","","","","","","","","","","","","","to_string","","","","","","","","","","","","","","transaction_detail","transaction_summaries","transactions","","try_from","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","try_into","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","type_id","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","usd","value","vzip","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Callback","Fetcher","LocalCallback","Provider","Request","__clone_box","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","fmt","from","init","into","layout_raw","new","pointer_metadata","provider","request","run","","spawn_fetch","to_owned","try_from","try_into","type_id","vzip","AnyProvider","NoFetching","Provider","QueryServiceProvider","TestProvider","__clone_box","","","","block","borrow","","","","borrow_mut","","","","clone","","","","clone_into","","","","clone_to_uninit","","","","default","","deref","","","","deref_mut","","","","deserialize","","","","drop","","","","fail","fetch","","","","","","","","","fmt","","","","from","","","","init","","","","into","","","","layout_raw","","","","new","","pointer_metadata","","","","to_owned","","","","try_from","","","","try_into","","","","type_id","","","","unblock","unfail","vzip","","","","with_block_provider","with_leaf_provider","with_provider","with_vid_common_provider","LeafRequest","PayloadRequest","Request","Response","VidCommonRequest","__clone_box","","","borrow","","","borrow_mut","","","clone","","","clone_into","","","clone_to_uninit","","","deref","","","deref_mut","","","deserialize","","","drop","","","eq","","","equivalent","","","","","","","","","","","","expected_leaf","expected_qc","fmt","","","from","","","","get_hash","","","hash","","","height","init","","","into","","","layout_raw","","","new","pointer_metadata","","","to_owned","","","try_from","","","try_into","","","type_id","","","vzip","","","Commit","","Custom","Digest","Entry","Error","Index","Key","MerklizedState","MerklizedStateDataSource","MerklizedStateHeightPersistence","Options","Query","Request","Snapshot","T","UpdateStateData","__clone_box","","api_path","as_error","as_error_source","","backtrace","borrow","","","borrow_mut","","","cause","clone","","clone_into","","clone_to_uninit","","cmp","compare","default","define_api","deref","","","deref_mut","","","description","deserialize","","","","drop","","","eq","equivalent","","","","extensions","fmt","","","","from","","","","","","get_hash","get_last_state_height","get_path","hash","header_state_commitment_field","init","","","insert_merkle_nodes","insert_path","into","","","layout_raw","","","partial_cmp","pointer_metadata","","","serialize","set_last_state_height","source","state_type","status","to_owned","","to_string","","tree_height","try_from","","","try_into","","","type_id","","","vzip","","","message","source","","status","Counter","CounterFamily","Gauge","GaugeFamily","Histogram","HistogramFamily","MetricsError","NoSuchMetric","NoSuchSubgroup","Prometheus","PrometheusMetrics","TextFamily","__clone_box","","","","","","","","add","add_point","as_error","as_error_source","","backtrace","borrow","","","","","","","","","borrow_mut","","","","","","","","","cause","clone","","","","","","","","clone_into","","","","","","","","clone_to_uninit","","","","","","","","counter_family","create","","","","create_counter","create_gauge","create_histogram","create_text","default","deref","","","","","","","","","deref_mut","","","","","","","","","description","deserialize","","","","","","","","","drop","","","","","","","","","export","fmt","","","","","","","","","","from","","","","","","","","","","gauge_family","","get","","","","","get_counter","get_counter_family","get_gauge","get_histogram","get_histogram_family","get_subgroup","histogram_family","init","","","","","","","","","into","","","","","","","","","layout_raw","","","","","","","","","mean","pointer_metadata","","","","","","","","","sample_count","set","source","subgroup","sum","text_family","to_owned","","","","","","","","to_string","try_from","","","","","","","","","try_into","","","","","","","","","type_id","","","","","","","","","update","vzip","","","","","","","","","name","namespace","path","source","BlockHash","BlockId","Custom","CustomSnafu","Error","Hash","Height","Limits","NodeDataSource","Options","Query","QuerySnafu","QueryVid","QueryVidSnafu","QueryWindow","QueryWindowSnafu","Request","RequestSnafu","SyncStatus","Time","TimeWindowQueryData","WindowStart","__clone_box","","","","","","","","","","api_path","as_error","as_error_source","","backtrace","block","block_height","borrow","","","","","","","","","","","borrow_mut","","","","","","","","","","","build","cause","clone","","","","","","","","","","clone_into","","","","","","","","","","clone_to_uninit","","","","","","","","","","cmp","compare","count_transactions","","count_transactions_in_range","default","","define_api","deref","","","","","","","","","","","deref_mut","","","","","","","","","","","description","deserialize","","","","","","","","","","","","","","","drop","","","","","","","","","","","end","eq","","","equivalent","","","","","","","","","","","","extensions","fail","fmt","","","","","","","","","","","","from","","","","","","","","","","","","","","","","fully_synced","get_hash","get_header_window","hash","init","","","","","","","","","","","internal","into","","","","","","","","","","","into_error","","","","","is_fully_synced","layout_raw","","","","","","","","","","","message","missing_blocks","missing_leaves","missing_vid_common","missing_vid_shares","next","partial_cmp","payload_size","","payload_size_in_range","pointer_metadata","","","","","","","","","","","prev","pruned_height","serialize","","","","source","start","status","","sync_status","to_owned","","","","","","","","","","to_string","try_from","","","","","","","","","","","try_into","","","","","","","","","","","type_id","","","","","","","","","","","vid_share","vzip","","","","","","","","","","","window","window_limit","","block","end","message","source","","","","start","status","Error","HasMetrics","Internal","Options","Request","StatusDataSource","UpdateStatusData","__clone_box","api_path","as_error","as_error_source","","backtrace","block_height","borrow","","borrow_mut","","cause","clone","clone_into","clone_to_uninit","consensus_metrics","","default","define_api","deref","","deref_mut","","description","deserialize","","","drop","","elapsed_time_since_last_decide","","extensions","fmt","","from","","","","init","","into","","layout_raw","","metrics","pointer_metadata","","populate_metrics","serialize","source","status","success_rate","","to_owned","to_string","try_from","","try_into","","type_id","","vzip","","reason","source","BackgroundTask","Task","__clone_box","borrow","","borrow_mut","","clone","clone_into","clone_to_uninit","deref","","deref_mut","","deserialize","","drop","","","fmt","","from","","init","","into","","join","layout_raw","","pointer_metadata","","spawn","","to_owned","try_from","","try_into","","type_id","","vzip","","consensus","mocks","setup_test","sleep","DataSourceLifeCycle","MockDataSource","MockNetwork","MockSqlDataSource","NUM_NODES","Storage","TestableDataSource","borrow","borrow_mut","connect","create","data_source","data_source_index","deref","deref_mut","deserialize","drop","","from","handle","handle_event","init","","init_with_config","into","layout_raw","num_nodes","pointer_metadata","proposer","reset","setup","shut_down","spawn","start","storage","submit_transaction","try_from","try_into","type_id","vzip","MockAuctionResults","MockBase","MockHeader","MockMembership","MockMerkleTree","MockNetwork","MockNodeImpl","MockPayload","MockQuorumProposal","MockStorage","MockTransaction","MockTypes","MockVersions","__clone_box","","","block_header","block_number","borrow","","","borrow_mut","","","builder_commitment","clone","","","clone_into","","","clone_to_uninit","","","cmp","","compare","","decided_upgrade_certificate","default","","delay_config","deref","","","deref_mut","","","deserialize","","","","","drop","","","eq","","equivalent","","","","","","","","fee_info_account","fee_info_balance","fmt","","","from","","","get_hash","","hash","","header_state_commitment_field","height","init","","","insert_path","into","","","iter","justify_qc","layout_raw","","","len","metadata","mock_transaction","namespace_id","namespace_ids","partial_cmp","","payload_commitment","payload_size","pointer_metadata","","","proposal_certificate","proposer_id","random","reward_balance","serialize","","should_return_err","state_type","timestamp","","to_owned","","","transaction_with_proof","transactions","tree_height","try_from","","","try_into","","","type_id","","","upgrade_certificate","urls","view_number","vzip","","","HeightIndexed","height"],"q":[[0,"hotshot_query_service"],[308,"hotshot_query_service::Error"],[315,"hotshot_query_service::QueryError"],[316,"hotshot_query_service::availability"],[1158,"hotshot_query_service::availability::Error"],[1169,"hotshot_query_service::data_source"],[1294,"hotshot_query_service::data_source::availability_tests"],[1297,"hotshot_query_service::data_source::fetching"],[1424,"hotshot_query_service::data_source::fs"],[1435,"hotshot_query_service::data_source::node_tests"],[1441,"hotshot_query_service::data_source::persistence_tests"],[1444,"hotshot_query_service::data_source::sql"],[1459,"hotshot_query_service::data_source::sql::testing"],[1460,"hotshot_query_service::data_source::status_tests"],[1461,"hotshot_query_service::data_source::storage"],[1537,"hotshot_query_service::data_source::storage::fail_storage"],[1681,"hotshot_query_service::data_source::storage::fs"],[1774,"hotshot_query_service::data_source::storage::pruning"],[1820,"hotshot_query_service::data_source::storage::sql"],[2196,"hotshot_query_service::data_source::storage::sql::syntax_helpers"],[2198,"hotshot_query_service::data_source::storage::sql::testing"],[2236,"hotshot_query_service::explorer"],[3292,"hotshot_query_service::fetching"],[3324,"hotshot_query_service::fetching::provider"],[3434,"hotshot_query_service::fetching::request"],[3528,"hotshot_query_service::merklized_state"],[3641,"hotshot_query_service::merklized_state::Error"],[3645,"hotshot_query_service::metrics"],[3885,"hotshot_query_service::metrics::MetricsError"],[3889,"hotshot_query_service::node"],[4220,"hotshot_query_service::node::Error"],[4229,"hotshot_query_service::status"],[4299,"hotshot_query_service::status::Error"],[4301,"hotshot_query_service::task"],[4344,"hotshot_query_service::testing"],[4348,"hotshot_query_service::testing::consensus"],[4388,"hotshot_query_service::testing::mocks"],[4523,"hotshot_query_service::types"],[4525,"dyn_clone::sealed"],[4526,"core::error"],[4527,"hotshot_query_service::error"],[4528,"std::backtrace"],[4529,"core::option"],[4530,"hotshot_types::data"],[4531,"hotshot_types::traits::node_implementation"],[4532,"alloc::string"],[4533,"core::convert"],[4534,"tide_disco::status"],[4535,"core::clone"],[4536,"committable"],[4537,"hotshot_types::message"],[4538,"hotshot_query_service::resolvable"],[4539,"rand_core"],[4540,"core::result"],[4541,"serde::de"],[4542,"rkyv::with"],[4543,"hotshot_types::simple_vote"],[4544,"hotshot_types::simple_certificate"],[4545,"async_lock::rwlock"],[4546,"alloc::sync"],[4547,"utils::anytrace"],[4548,"core::fmt"],[4549,"hotshot_query_service::explorer::query_data"],[4550,"sqlx_core::error"],[4551,"std::os::fd::owned"],[4552,"io_lifetimes::portability"],[4553,"core::hash"],[4554,"core::marker"],[4555,"core::alloc::layout"],[4556,"arc_swap::access"],[4557,"core::future::future"],[4558,"alloc::boxed"],[4559,"core::pin"],[4560,"futures_core::future"],[4561,"core::ops::function"],[4562,"hotshot::types::handle"],[4563,"hotshot_query_service::availability::data_source"],[4564,"hotshot_query_service::data_source::update"],[4565,"hotshot_query_service::node::data_source"],[4566,"hotshot_query_service::status::data_source"],[4567,"vbs::version"],[4568,"serde::ser"],[4569,"core::any"],[4570,"anyhow"],[4571,"hotshot_query_service::availability::query_data"],[4572,"core::cmp"],[4573,"core::iter::traits::iterator"],[4574,"hotshot_types::vid"],[4575,"hotshot_query_service::availability::fetch"],[4576,"snafu"],[4577,"tide_disco::api"],[4578,"tide_disco::method"],[4579,"tide_disco::request"],[4580,"core::ops::range"],[4581,"core::time"],[4582,"hotshot_query_service::data_source::extension"],[4583,"hotshot_query_service::data_source::metrics"],[4584,"hotshot_query_service::explorer::data_source"],[4585,"hotshot_query_service::merklized_state::data_source"],[4586,"tagged_base64"],[4587,"hotshot_types::event"],[4588,"core::default"],[4589,"jf_merkle_tree::internal"],[4590,"alloc::vec"],[4591,"hotshot_types::traits::metrics"],[4592,"std::path"],[4593,"atomic_store::atomic_store"],[4594,"core::ops::deref"],[4595,"atomic_store::error"],[4596,"hotshot_query_service::data_source::storage::sql::transaction"],[4597,"time::offset_date_time"],[4598,"refinery_core::runner"],[4599,"hotshot_query_service::data_source::storage::sql::db"],[4600,"sqlx_core::query_builder"],[4601,"hotshot_query_service::data_source::storage::sql::queries"],[4602,"sqlx_core::encode"],[4603,"sqlx_core::types"],[4604,"core::iter::traits::collect"],[4605,"sqlx_core::executor"],[4606,"sqlx_core::database"],[4607,"futures_core::stream"],[4608,"sqlx_sqlite::database"],[4609,"sqlx_core::type_checking"],[4610,"sqlx_sqlite::options"],[4611,"sqlx_core::pool"],[4612,"sqlx_core::from_row"],[4613,"sqlx_core::testing"],[4614,"refinery_core::error"],[4615,"hotshot_query_service::explorer::monetary_value"],[4616,"hotshot_query_service::explorer::currency"],[4617,"hotshot_query_service::explorer::traits"],[4618,"core::num::error"],[4619,"time::error::component_range"],[4620,"clap_builder::builder::resettable"],[4621,"async_lock::semaphore"],[4622,"backoff"],[4623,"hotshot_query_service::fetching::provider::testing"],[4624,"hotshot_query_service::fetching::provider::any"],[4625,"hotshot_query_service::fetching::provider::query_service"],[4626,"url"],[4627,"jf_merkle_tree"],[4628,"core::str::traits"],[4629,"ark_serialize"],[4630,"prometheus::errors"],[4631,"hotshot_query_service::node::query_data"],[4632,"tokio::runtime::task::error"],[4633,"hotshot_types::signature_key"],[4634,"hotshot_types"],[4635,"include_dir_macros"],[4636,"hotshot_query_service::data_source::storage::sql::db::syntax_helpers"]],"i":"`j0ALb`A``2``2`0`20`1```````2````Ab3AhAjAl4BfABb868866`Cf97666695437026954370254399769543726954372695437266Bn772`17:65481337:654813:877::65488137:65481377777`7654`7777::6548837:::::::654888133333333737777`7:654813`````:7:65481365477:65481333`4``1777:65481313`7:82:8`:81``7:654837:87:6548137:654813077:654813`77727:654813BNfBNhBNjBNlBNnBO`5BOb``````En```0`0``0`N`NbMb`3`0````21`1``Of```4`04`````1`````32K`KfKdNdKjKlKnNfNhNjNlNnO`L`LbLdLfLhLjEnA@bJnKd3003303K`KfKjKlKnNjNl2OfN`Nb98:Nd876NfNh76NnA@bO`L`LbLdLfLhLjEn?>=K`KfKd?KjKlKnNfNhNjNlNnA@bO`L`LbLdLfLhLjEn654321Mb0Kd2N`NbK`Kf4NdKjKlKnNfNhNjNlNnO`L`LbLdLfLhLjEnN`NbK`KfKdNdKjKlKnNfNhNjNlNnO`L`LbLdLfLhLjEnN`NbK`KfKdNdKjKlKnNfNhNjNlNnO`L`LbLdLfLhLjEnN`NbKl21OfKjA@b`254K`KfKdNd57KnNfNhNjNlNn:O`L`LbLdLfLhLjEnOfN`NbK`KfKdNdKjKlKnNfNhNjNlNnA@bO`L`LbLdLfLhLjEnKd1OfN`NbK`Kf05Nd0Kj0Kl0Kn0Nf0Nh0NjNlNn0A@bO`L`LbLdLfLhLjEn0OfN`NbK`KfKdNdKjKlKnNfNhNjNlNnA@bO`L`LbLdLfLhLjEnMb0NdN`NbKf3KjKlKnNfNhNjNlNn::::99998888;;;;77776666555544443333222211110000A@bL`LbLdLfLhLj6N`0Nb0K`KfKd0NdKjKlKnNfNhNjNlNnA@bO`L`LbLdLfLhLjEn0OfN`00Nb00K`0KfKdNdKj0KlKnNf0NhNj0Nl0NnA@bO`L`LbLdLfLhLjEn002KfNdKjKl?>3210Ij00N`Nb222222222222222210654KnNfNj981K`:98721Nl20?4?Of762Ij00000000000ABfN`NbK`KfKd?>=<;:8Nl:O`L`LbLdLfLhLjEn=<90Mb0NdKn221222OfN`NbK`KfKd7KjKl8NfNhNjNlNnA@bO`L`LbLdLfLhLjEnOfN`NbK`KfKdNdKjKlKnNfNhNjNlNnA@bO`L`LbLdLfLhLjEnOf0N`NbK`KfKdNdKjKlKnNfNhNjNlNnA@bO`L`LbLdLfLhLjEn2K`0OfN`Nb3KfKdNdKjKlKnNfNhNjNlNnA@bO`L`LbLdLfLhLjEnOf0BOdBOf01BOhBOjBOlBOnC@`46`````Jb``0``ABjABl111`1101010101010ABn21221121212121`2121`222222222222222222222222222221212222121212`2`2121322102```221212121Il333243```````AEnAFf1111AFb21021022121212222021021021000212102122222222222222222222222222220210210212022202122222102102102122021000000000000002``AGf00000000```````````````AFh0AGh000`0```````````````AGnAGjAGl22222022222`AH`33`0AHb10012AHd22AHf33332322333366AHh007767757``57777AHj68AI```0000000000000000`0AIbAHn0210210212121002102102102102222211111111111021021110111110010000000010000021000021021000111111102101101021210210210002101````AIj0AJ`AG`21022220010210210210222102102222222222222222102222102102200021020AIl3313213213213332131``AFd``AId00000000000001AIf1111AIh22223212222222222222AMj00`0`AMh`````1`````1`1``1`1`1111`AKfALlALnAKhAM`AJn552AFl00AK`65AKjAL`439AN`198576AMd5;12:968702`885;11;:987;:987;:987;6;878561182:980`55;12:96687055;12:9668705;12:968704:955555;12:968701;;;;;<<<<<<<<<<<<655;;12:96701555;12:96887086666761666666666676666666628``5;12:9687066665;12:9687055;12:9687066687885;581;65;12:9687087;<<<78`2`278165;6781;`6`1`;:9875;5;12:968705;12:968705;12:96870;66;65;12:968707````C@bAOh1001010101000101001010001010101010`BCnBB`````B@j```B@b00```000```````000`F``BAb1`0`1`1`1`1`0`AC`ADb10Ff`B@lBA`BAd854`;BDf;`<:3B@n382<``435``::````0````;40382:`=:AOnB@`>22==99<<00;;11BAlBBjBBdBAf1BBl22BBbBBh?>B@b>AC`ADb?>=6BAhFfBAjBBf;B@jB@lB@nBA`BAbBAdF`BBjBBlBBnBC`BCbBCdAOnB@`B@bAOjAC`ADbB@dB@fB@hBAfBAhFfBAjBAlBAnACdBB`ADdBBbBBdBBfBBhB@jB@lB@nBA`BAbBAdF`BBjBBlBBnBC`BCbBCdAOjAOnB@`B@b3AC`ADbB@dB@fB@hB@jB@lB@nBA`BAbBAdF`>==>ADd`?>=AOj=<;:9BAfBAhFfBAjBAlBAnACdBB`9BBbBBdBBfBBhB@jB@lB@nBA`BAbBAdF`BBjBBlBBnBC`BCbBCdAOnB@`B@bAOjAC`ADbB@dB@fB@hBAfBAhFfBAjBAlBAnACdBB`ADdBBbBBdBBfBBhB@jB@lB@nBA`BAbBAdF`BBjBBlBBnBC`BCbBCdAOn0B@`0B@b0AOj0AC`ADbB@dB@fB@h0BAf0BAh0FfBAj0BAl0BAn0ACdBB`0ADdBBb0BBd0BBf0BBh0B@j0B@l0B@n0BA`0BAb0BAd0F`0BBj0BBl0BBn0BC`0BCb0BCd0AOnB@`B@bAOjAC`ADbB@dB@fB@hBAfBAhFfBAjBAlBAnACdBB`ADdBBbBBdBBfBBhB@jB@lB@nBA`BAbBAdF`BBjBBlBBnBC`BCbBCdB@bAOjAC`ADbB@dB@fB@hBAfBAhFfBAjBAlBAnACd====<<<<;;;;::::9999888877776666555544443333222211110000<=FfBAj<;ACdBB`ADdBBbBBdBBfBBhB@jB@lB@nBA`BAbBAdF`BBjBBlBBnBC`BCbBCdAOnB@`B@bAOjAC`ADbB@dB@fB@hBAfBAhFfBAjBAlBAnACdBB`ADdBBbBBdBBfBBhB@jB@lB@nBA`BAbBAdF`BBjBBlBBnBC`BCbBCdB@b000???AOnB@`2AOjAC`ADbB@dB@fB@hBAfBAhFfBAjBAlBAnACdBB`ADdBBbBBdBBfBBhB@jB@lB@nBA`BAbBAdF`BBjBBlBBnBC`BCbBCdBDfBCnAOjB@dB@fBAfBAhBAlBAn10B@b9AOnB@`29AC`ADb:9B@h98FfBAj98ACdBB`ADdBBbBBdBBfBBhB@jB@lB@nBA`BAbBAdF`BBjBBlBBnBC`BCbBCdBCnBAfBAhADd3BAnBBb6BAlAOnB@`B@bAOjB@h:9BAj68BB`8BBdBBfBBhB@jB@lB@nBA`BAbBAdF`BBjBBlBBnBC`BCbBCdB@bBAfBAhBAlFfB@jB@lB@nBA`BAbBAdF`6543210AOjB@dB@fBAj>=BAjBAlBAn0ACdBB`ADdBBbBBdBBfBBhB@jB@lB@nBA`BAbBAdF`BBjBBlBBnBC`BCbBCdAOnB@`B@bAOjAC`ADbB@dB@fB@hBAfBAhFfBAjBAlBAnACdBB`ADdBBbBBdBBfBBhB@jB@lB@nBA`BAbBAdF`BBjBBlBBnBC`BCbBCdAOnB@`B@bAOjAC`ADbB@dB@fB@hBAfBAhFfBAjBAlBAnACdBB`ADdBBbBBdBBfBBhB@jB@lB@nBA`BAbBAdF`BBjBBlBBnBC`BCbBCdAOj0AOnB@`B@b3AC`ADbB@dB@fB@hBAfBAhFfBAjBAlBAnACdBB`ADdBBbBBdBBfBBhB@jB@lB@nBA`BAbBAdF`BBjBBlBBnBC`BCbBCd`````BDh0000000000000000``BDnBE`222222`````BEhBEjBEfBEl1321032103210321032103032103210321032101BEd444333214321432143214321432132432143214321432143212243214444```BEb`BFbBEnBF`21021021021021021021021021021022221111000000210210021021002102102100210210210210210210ACjAClFb11`21````00`1`20BFh11113013011313131330`3013011301130133333033113011113AChACn54523AEb563463466344045464645634634634634C@dC@fC@h2```````BHl00``AEdBHhBHnBHjBI`BIbBIdBIf6488888765432108765432108765432107654321076543210732107777787654321087654321088765432108765432107887654321088765432107765321777777787654321087654321087654321048765432104587477654321088765432108765432108765432105876543210C@j0C@lC@n``Ej``ACf0```1`1`1`1``0``0BJnBK`BKbBKdBKfBKhBKjBJl9BKl::::3In:987165432;:987165432;2;:98765432;:98765432;:98765432;9900081`:987165432;:987165432;;:998877165432;;:987165432;398799998888777712:987165432;;::9887165432;;;;9909:987165432;;:987165432;654329:987165432;2999989000:987165432;89987;;3;20:98765432;;:987165432;:987165432;:987165432;0:987165432;871CA`CAbCAdCAfCAh4332``Fd`0``0BLb1111J`12122222001`1212212212001221222121212AEf23BLd444224434343434CAjCAl``BLf0BLh10111101010100101010100101010110101010`````````BLn`BLl01100000000010000000011000000000`````````````ADfBMbBM`CAnBMn43243204324324324242CB`530543543554335435355553333115435435353BN`26540654BNb476503`BMl4864087654448632448761128768768765CBb6987`BL`","f":"``````````````````````````````{{bd}f}000000`{b{{b{h}}}}00000``{{{b{j}}}{{n{{b{l}}}}}}{{{b{A`}}}{{n{{b{l}}}}}}{{{b{{Ab{c}}}}}bAd}{{{b{Af{Ab{c}}}}}{{b{Af}}}Ad}{{{b{{Ab{c}}}}}nAd}{b{{b{c}}}{}}0000000{{{b{Af}}}{{b{Afc}}}{}}0000000{AhA`}{AjA`}{{{Al{c}}}A`{{B`{An}}}}{{BbAn}j}{{{b{j}}}{{n{{b{h}}}}}}{{{b{A`}}}{{n{{b{h}}}}}}{{{b{{Ab{c}}}}}{{Ab{c}}}{BdAd}}{{{b{j}}}j}{{{b{Ah}}}Ah}{{{b{Aj}}}Aj}{{{b{{Al{c}}}}}{{Al{c}}}Bd}{{{b{A`}}}A`}{{{b{{Bf{c}}}}}{{Bf{c}}}Bd}{{b{b{Afc}}}f{}}000000{bf}000000{{{b{{Ab{c}}}}}{{Bh{{Ab{c}}}}}Ad}{{{b{{Ab{c}}}}{b{{Bj{ce}}}}}{{Bh{{Ab{c}}}}}AdBl}{{{b{Bn}}}{{Bh{c}}}C`}{b{{Bh{c}}}{}}{{{b{{Ab{c}}}}{b{AfCb}}Cd}{}Ad}``{{}Cf}{Ch{{b{c}}}{}}000000{{{b{{Bf{c}}}}}{{b{e}}}{}{}}1{Ch{{b{Afc}}}{}}0000000{{{b{j}}}{{b{Cj}}}}{{{b{A`}}}{{b{Cj}}}}{c{{Cl{{Ab{e}}}}}CnAd}{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}{c{{Cl{j}}}Cn}1111{c{{Cl{A`}}}Cn}222{Chf}0000000{{{b{{Ab{c}}}}{b{{Ab{c}}}}}DbAd}{{b{b{c}}}Db{}}000`{{{b{{Ab{c}}}}{b{{Ab{c}}}}{b{{Dl{{Dj{{n{{Dh{c{Dd{c}}Df}}}}}}}}}}}{{Cl{fDn}}}Ad}{Ah{{Cl{cA`}}}{}}{Aj{{Cl{cA`}}}{}}{{{Al{c}}}{{Cl{eA`}}}{{B`{An}}}{}}`{{{b{Af{Ab{c}}}}Ch}{{Cl{fE`}}}Ad}{{{b{Af{Ab{c}}}}}fAd}{{{b{{Ab{c}}}}{b{AfEb}}}{{Cl{fEd}}}Ad}{{{b{{Ab{c}}}}{b{AfEb}}}{{Cl{fEd}}}{EfAd}}{{{b{j}}{b{AfEb}}}Eh}0{{{b{Ah}}{b{AfEb}}}Eh}{{{b{Aj}}{b{AfEb}}}Eh}{{{b{{Al{c}}}}{b{AfEb}}}EhEf}{{{b{A`}}{b{AfEb}}}Eh}0{{{b{{Bf{c}}}}{b{AfEb}}}EhEf}{cc{}}{Ejj}{{{El{AnBb}}}j}{Enj}3{F`j}{Fbj}{Fdj}666{FfA`}{FhA`}88{c{{Bf{c}}}{}}{{{Dl{c}}}{{Bf{c}}}{}}:{Fjc{}}{Flc{}}0{ceFn{}}{ceG`{}}{{{b{{Gb{c}}}}}{{Ab{c}}}Ad}3{{bb}{{Ab{c}}}Ad}{{{b{c}}{b{e}}}Cd{GdGf}Gh}{{{b{{Ab{c}}}}{b{Afe}}}fAdGj}{{{b{{Ab{c}}}}}CdAd}`{{}Ch}0000000`````{cjGl}{{}c{}}0000000{{Ahc}A`{}}{{Ajc}A`{}}{{{Al{c}}e}A`{{B`{An}}}{}}{{{b{{Ab{c}}}}}{{Dh{c{Gn{c}}H`}}}Ad}{{}{{Cl{HbHd}}}}0000000{b}{b{{Hf{c}}}{}}`````{{{b{{Ab{c}}}}}{{Bh{{Ab{c}}}}}Ad}{{{b{{Ab{c}}}}}{}Ad}33333333`{{{b{{Bf{c}}}}i}{{Hl{{Hj{Hh}}}}}{HnI`}{}{}{Hn{If{{b{e}}}{{Ib{{Id{g}}}}}}}}{{Cfe{Ih{cgi}}k}{{Cl{fj}}}Ad{{Ij{c}}{Il{c}}{In{c}}J`JbHnI`}{{Jd{c}}}BlJf}{{{b{{Ab{c}}}}e}Cl{AdJh}Jj}{{{b{j}}c}ClJj}{{{b{A`}}c}ClJj}`{{{b{j}}}{{n{{b{h}}}}}}{{{b{A`}}}{{n{{b{h}}}}}}`{{{b{j}}}Bb}{{{b{A`}}}Bb}```{bc{}}000000{bAn}00{c{{Cl{e}}}{}{}}0000000{{}{{Cl{c}}}{}}0000000{Bn{{Cl{cBn}}}C`}{{}{{Cl{cc}}}{}}{bJl}0000000`{{{b{Af{Ab{c}}}}}nAd}{{{b{{Ab{c}}}}}{{n{{Dh{c{Dd{c}}Df}}}}}Ad}{{{b{{Ab{c}}}}}{}Ad}`{{}c{}}0000000`````````````````````````````````````````````````````````````{{bd}f}000000000000000000000`{{{b{Jn}}{K`{c}}}{{`{Hn{Hh{}{{Ib{{Kb{f}}}}}}}}}Ad}{b{{b{h}}}}00000{{{b{{Kd{c}}}}}{{n{{b{l}}}}}Ad}{{{b{En}}}{{n{{b{l}}}}}}`{{{b{{Kf{c}}}}}{{Kh{c}}}Ad}{{{b{{Kj{c}}}}}{{Kh{c}}}Ad}{{{b{{Kl{c}}}}}{{Kh{c}}}Ad}{{{b{{Kn{c}}}}}{{Kh{c}}}Ad}``{{{b{{Kn{c}}}}}CdAd}{b{{b{c}}}{}}00000000000000000000000{{{b{Af}}}{{b{Afc}}}{}}00000000000000000000000{{{L`{c}}}En{{B`{An}}}}{{{Lb{c}}}En{{B`{An}}}}{{{Ld{c}}}En{{B`{An}}}}{{{Lf{ce}}}En{{B`{Cd}}}{{B`{Cd}}}}{{{Lh{ceg}}}En{{B`{Ch}}}{{B`{Ch}}}{{B`{Ch}}}}{{{Lj{ce}}}En{{B`{An}}}{{B`{Bb}}}}{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}{Bh{k}}}{{n{c}}}{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}{}}0{{{b{{Kd{c}}}}}{{n{{b{h}}}}}Ad}{{{b{En}}}{{n{{b{h}}}}}}{{{b{{N`{c}}}}}{{N`{c}}}Ad}{{{b{{Nb{c}}}}}{{Nb{c}}}Ad}{{{b{{K`{c}}}}}{{K`{c}}}{BdAd}}{{{b{{Kf{c}}}}}{{Kf{c}}}{BdAd}}{{{b{{Kd{c}}}}}{{Kd{c}}}{BdAd}}{{{b{{Nd{c}}}}}{{Nd{c}}}{BdAd}}{{{b{{Kj{c}}}}}{{Kj{c}}}{BdAd}}{{{b{{Kl{c}}}}}{{Kl{c}}}{BdAd}}{{{b{{Kn{c}}}}}{{Kn{c}}}{BdAd}}{{{b{{Nf{c}}}}}{{Nf{c}}}{BdAd}}{{{b{{Nh{c}}}}}{{Nh{c}}}{BdAd}}{{{b{{Nj{c}}}}}{{Nj{c}}}{AdBd}}{{{b{{Nl{c}}}}}{{Nl{c}}}{AdBd}}{{{b{Nn}}}Nn}{{{b{O`}}}O`}{{{b{{L`{c}}}}}{{L`{c}}}Bd}{{{b{{Lb{c}}}}}{{Lb{c}}}Bd}{{{b{{Ld{c}}}}}{{Ld{c}}}Bd}{{{b{{Lf{ce}}}}}{{Lf{ce}}}BdBd}{{{b{{Lh{ceg}}}}}{{Lh{ceg}}}BdBdBd}{{{b{{Lj{ce}}}}}{{Lj{ce}}}BdBd}{{{b{En}}}En}{{b{b{Afc}}}f{}}000000000000000000000{bf}000000000000000000000{{{b{{N`{c}}}}{b{{N`{c}}}}}ObAd}{{{b{{Nb{c}}}}{b{{Nb{c}}}}}ObAd}{{{b{{Kl{c}}}}}{{b{Od}}}Ad}{{b{b{c}}}Ob{}}0{{{Of{c}}g}{{Cl{ce}}}{}{hOh}{{On{e}{{Oj{Ol}}}}}}{{{b{{Kj{c}}}}}{{b{{A@`{c}}}}}Ad}{{}A@b}{{{b{A@b}}c}{{Cl{{A@d{eEnc}}A@f}}}Jf{HnI`A@h}}{Ch{{b{c}}}{}}00000000000000000000000{Ch{{b{Afc}}}{}}00000000000000000000000{{{b{{Kd{c}}}}}{{b{Cj}}}Ad}{{{b{En}}}{{b{Cj}}}}{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}000{c{{Cl{{Kf{e}}}}}CnAd}111{c{{Cl{{Nd{e}}}}}CnAd}{c{{Cl{{Kj{e}}}}}CnAd}33{c{{Cl{{Kl{e}}}}}CnAd}{c{{Cl{{Kn{e}}}}}CnAd}5{c{{Cl{{Nf{e}}}}}CnAd}6{c{{Cl{{Nh{e}}}}}CnAd}7777{c{{Cl{Nn}}}Cn}888888888{c{{Cl{En}}}Cn}{Chf}00000000000000000000000{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}}{{Hj{Mn}}}{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}}0{{{b{{Nd{c}}}}}{{`{{Mn{}{{Ml{{El{{A@j{c}}{A@l{c}}}}}}}}}}}Ad}{{{b{{N`{c}}}}{b{{N`{c}}}}}DbAd}{{{b{{Nb{c}}}}{b{{Nb{c}}}}}DbAd}{{{b{{Kf{c}}}}{b{{Kf{c}}}}}Db{MdAd}}{{{b{{Nd{c}}}}{b{{Nd{c}}}}}Db{MdAd}}{{{b{{Kj{c}}}}{b{{Kj{c}}}}}Db{MdAd}}{{{b{{Kl{c}}}}{b{{Kl{c}}}}}Db{MdAd}}{{{b{{Kn{c}}}}{b{{Kn{c}}}}}Db{MdAd}}{{{b{{Nf{c}}}}{b{{Nf{c}}}}}Db{MdAd}}{{{b{{Nh{c}}}}{b{{Nh{c}}}}}Db{MdAd}}{{{b{{Nj{c}}}}{b{{Nj{c}}}}}Db{AdMd}}{{{b{{Nl{c}}}}{b{{Nl{c}}}}}Db{AdMd}}{{{b{Nn}}{b{Nn}}}Db}{{b{b{c}}}Db{}}00000000000000000000000000000000000000000000000`{{{L`{c}}}{{Cl{eEn}}}{{B`{An}}}{}}{{{Lb{c}}}{{Cl{eEn}}}{{B`{An}}}{}}{{{Ld{c}}}{{Cl{eEn}}}{{B`{An}}}{}}{{{Lf{ce}}}{{Cl{gEn}}}{{B`{Cd}}}{{B`{Cd}}}{}}{{{Lh{ceg}}}{{Cl{iEn}}}{{B`{Ch}}}{{B`{Ch}}}{{B`{Ch}}}{}}{{{Lj{ce}}}{{Cl{gEn}}}{{B`{An}}}{{B`{Bb}}}{}}`{{{b{{N`{c}}}}{b{AfEb}}}EhAd}0{{{b{{Nb{c}}}}{b{AfEb}}}EhAd}0{{{b{{K`{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Kf{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Kd{c}}}}{b{AfEb}}}EhAd}{{{b{{Kd{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Nd{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Kj{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Kl{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Kn{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Nf{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Nh{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{Nj{c}}}}{b{AfEb}}}Eh{AdEf}}{{{b{{Nl{c}}}}{b{AfEb}}}Eh{AdEf}}{{{b{Nn}}{b{AfEb}}}Eh}{{{b{A@b}}{b{AfEb}}}Eh}{{{b{O`}}{b{AfEb}}}Eh}{{{b{{L`{c}}}}{b{AfEb}}}EhEf}{{{b{{Lb{c}}}}{b{AfEb}}}EhEf}{{{b{{Ld{c}}}}{b{AfEb}}}EhEf}{{{b{{Lf{ce}}}}{b{AfEb}}}EhEfEf}{{{b{{Lh{ceg}}}}{b{AfEb}}}EhEfEfEf}{{{b{{Lj{ce}}}}{b{AfEb}}}EhEfEf}{{{b{En}}{b{AfEb}}}Eh}0{cc{}}{{{A@n{c}}}{{N`{c}}}Ad}{Ch{{N`{c}}}Ad}2{{{Kh{c}}}{{Nb{c}}}Ad}3{Ch{{Nb{c}}}Ad}4{{{Kf{c}}}{{K`{c}}}Ad}5555{{{Nd{c}}}{{Kj{c}}}Ad}66{{{Nd{c}}}{{Nf{c}}}Ad}777{{{Nd{c}}}{{Nj{c}}}Ad}{{{Kl{c}}}{{Nl{c}}}Ad}99999999999{{{El{AnBb}}}En}{AA`En}`{b{{AAb{{Kf{c}}}}}Ad}{b{{AAb{{Nd{c}}}}}Ad}{b{{AAb{{Kj{c}}}}}Ad}{b{{AAb{{Kl{c}}}}}Ad}{b{{AAb{{Nj{c}}}}}Ad}{b{{AAb{{Nl{c}}}}}Ad}{{bb}{{Kf{c}}}Ad}{{bb}{{Nd{c}}}Ad}{{bb}{{Kj{c}}}Ad}{{bb}{{Kl{c}}}Ad}{{{b{Ij}}e}{{Hl{{Hj{Hh}}}}}Ad{{B`{{Nb{c}}}}HnI`}}{{{b{Ij}}c}{{Hl{{Hj{Hh}}}}}{{AAd{Ch}}Hn}}{{{b{Ij}}{AAf{Ch}}Ch}{{Hl{{Hj{Hh}}}}}}{{{b{c}}{b{e}}}Cd{GdGf}Gh}0{{{b{Ij}}e}{{Hl{{Hj{Hh}}}}}Ad{{B`{{N`{c}}}}HnI`}}32443232{{{b{Ij}}{AAh{c}}}{{Hl{{Hj{Hh}}}}}Ad}554343{{{b{{N`{c}}}}{b{Afe}}}fAdGj}{{{b{{Nb{c}}}}{b{Afe}}}fAdGj}{{{b{{Kf{c}}}}}{{A@n{c}}}Ad}{{{b{{Nd{c}}}}}{{Kh{c}}}Ad}{{{b{{Kj{c}}}}}AAjAd}{{{b{{Kn{c}}}}}{{AAh{c}}}Ad}{{{b{{Nf{c}}}}}{{Kh{c}}}Ad}`{{{b{{Kf{c}}}}}{{b{{AAl{c}}}}}Ad}{{{b{{Nd{c}}}}}{{b{{AAl{c}}}}}Ad}{{{b{{Nf{c}}}}}{{b{{AAl{c}}}}}Ad}{{{b{{K`{c}}}}}CdAd}{{{b{{Kf{c}}}}}CdAd}{{{b{{Nd{c}}}}}CdAd}{{{b{{Kj{c}}}}}CdAd}{{{b{{Kl{c}}}}}CdAd}{{{b{{Nf{c}}}}}CdAd}{{{b{{Nj{c}}}}}CdAd}{{{b{{Nl{c}}}}}CdAd}```{{{b{{Kn{c}}}}}CdAd}`{{}Ch}00000000000000000000000{cEnGl}{{}c{}}00000000000000000000000{{O`c}En{}}{{{L`{c}}e}En{{B`{An}}}{}}{{{Lb{c}}e}En{{B`{An}}}{}}{{{Ld{c}}e}En{{B`{An}}}{}}{{{Lf{ce}}g}En{{B`{Cd}}}{{B`{Cd}}}{}}{{{Lh{ceg}}i}En{{B`{Ch}}}{{B`{Ch}}}{{B`{Ch}}}{}}{{{Lj{ce}}g}En{{B`{An}}}{{B`{Bb}}}{}}{{{Of{c}}}eHn{}}{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}}Db{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}}0{{{b{{Nd{c}}}}}DbAd}{{{b{{Of{c}}}}}Db{}}{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}}e{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}}``{{}{{Cl{HbHd}}}}00000000000000000000000{{{b{{Kf{c}}}}}{{b{{Ab{c}}}}}Ad}``{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}}Ch{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}}{{{b{{Nd{c}}}}}ChAd}`{{{Of{c}}g}{{Of{e}}}{}{}{Hn{If{c}{{Ib{e}}}}}}`{{{b{{Nd{c}}}}}{{b{{AAn{c}}}}}Ad}{{{Kf{c}}{n{{Nd{c}}}}{n{{Kl{c}}}}{n{AB`}}}{{K`{c}}}Ad}{{{Ab{c}}{ABb{c}}}{{Cl{{Kf{c}}{Kd{c}}}}}Ad}{{{AAl{c}}{A@`{c}}}{{Nd{c}}}Ad}{{{AAl{c}}Od}{{Kl{c}}}Ad}{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}Ch}{{n{c}}}{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}}0{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}Ch}{{n{k}}}{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}{}}0{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}Ch}{{n{{El{kg}}}}}{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}{}}0{{{b{{Nd{c}}}}}CdAd}{{{b{{Nf{c}}}}}CdAd}`{{{b{{N`{c}}}}{b{{N`{c}}}}}{{n{Ob}}}Ad}{{{b{{Nb{c}}}}{b{{Nb{c}}}}}{{n{Ob}}}Ad}{{{b{{Nd{c}}}}}{{b{{A@`{c}}}}}Ad}{{{b{{Kf{c}}}}}AAjAd}{{{b{{Nd{c}}}}}AAjAd}{{{b{{Kl{c}}}}}AAjAd}`{b}00000000000000000000000{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}{b{c}}}{{n{g}}}{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}}0{{{b{{Kn{c}}}}}{{b{{ABd{c}}}}}Ad}{{{b{{Kf{c}}}}}{{b{{ABb{c}}}}}Ad}`{{{Of{c}}}cHn}```{{{b{{Kf{c}}}}e}ClAdJj}{{{b{{Nd{c}}}}e}ClAdJj}{{{b{{Kj{c}}}}e}ClAdJj}{{{b{{Kl{c}}}}e}ClAdJj}{{{b{{Kn{c}}}}e}ClAdJj}{{{b{{Nf{c}}}}e}ClAdJj}{{{b{{Nh{c}}}}e}ClAdJj}{{{b{Nn}}c}ClJj}{{{b{En}}c}ClJj}{{{b{{Nd{c}}}}}CdAd}{{{b{{Kj{c}}}}}CdAd}{{{b{{Nf{c}}}}}CdAd}```{{{b{{Kd{c}}}}}{{n{{b{h}}}}}Ad}{{{b{En}}}{{n{{b{h}}}}}}{{{b{En}}}Bb}`{{{b{Ij}}Ch}{{Hl{{Hj{Hh}}}}}}00000000000{{{b{ABf}}}Cd}{bc{}}000000000000000000000{bAn}000{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}{b{c}}}{{n{k}}}{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}{}}0{{{b{{Nd{c}}}}{b{{A@j{c}}}}}{{n{{A@l{c}}}}}Ad}{{{b{{Kn{c}}}}}{{b{{A@l{c}}}}}Ad}{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}{Bh{k}}}{{n{k}}}{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}{}}0{{{b{{Nd{c}}}}{Bh{{A@l{c}}}}}{{n{{A@j{c}}}}}Ad}{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}{Bh{k}}}{{n{{El{kg}}}}}{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}{}}0{{{b{{Mb{}{{Ll{c}}{Ln{e}}{M`{g}}}}}}{b{i}}{b{c}}}{{n{{El{kg}}}}}{BdEfMdMfMhJhMjHnI`}{{Mn{}{{Ml{c}}}}}{BdEfMdMfJhMjHnI`}{}{}}{c{{Cl{e}}}{}{}}00000000000000000000000{{}{{Cl{c}}}{}}00000000000000000000000{{{Of{c}}}{{Cl{c{Of{c}}}}}{}}{bJl}00000000000000000000000```{{}c{}}00000000000000000000000{{{Of{c}}i}{{Cl{ce}}}{}{hOh}{{On{e}{{Oj{Ol}}}}}{{If{}{{Ib{g}}}}}}{{{Of{c}}ABh}{{n{c}}}Hn}``````````````````````{{bd}f}0{{{b{{ABj{eg}}}}{K`{c}}}{{Kb{f}}}Ad{{Jn{c}}HnI`}{HnI`}}{{{b{Af{ABj{ce}}}}}{{b{Afe}}}{}{}}{{{b{{ABj{ce}}}}}{{b{e}}}{}{}}`{{{b{{ABj{eg}}}}}{{Hl{{Hj{Hh}}}}}Ad{{In{c}}HnI`}{HnI`}}{{{b{{ABj{ce}}}}}{{Hl{{Hj{Hh}}}}}{J`HnI`}{HnI`}}{{{b{ABl}}}{{Hl{{Hj{Hh}}}}}}{b{{b{c}}}{}}0{{{b{Af}}}{{b{Afc}}}{}}0{{{b{{ABj{ce}}}}}{{ABj{ce}}}BdBd}{{{b{ABl}}}ABl}{{b{b{Afc}}}f{}}0{bf}0{ABn{{`{{Hh{}{{Ib{{Kb{f}}}}}}Hn}}}}{{{b{c}}}{{Hl{{Hj{Hh}}}}}{}}0{{{b{{ABj{eg}}}}i}{{Hl{{Hj{Hh}}}}}Ad{{In{c}}HnI`}{HnI`}{{AAd{Ch}}Hn}}{Ch{{Hl{{Hj{Hh}}}}}}0{{}ABl}{Ch{{b{c}}}{}}0{Ch{{b{Afc}}}{}}0{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}0{Chf}0`{{{b{{ABj{ce}}}}{b{AfEb}}}EhEfEf}{{{b{ABl}}{b{AfEb}}}Eh}{cc{}}0`{{{b{{ABj{eg}}}}i}{{Hl{{Hj{Hh}}}}}Ad{{Ij{c}}HnI`}{HnI`}{{B`{{Nb{c}}}}HnI`}}{{{b{{ABj{eg}}}}{AC`{c}}}{{Hl{{Hj{Hh}}}}}Ad{{ACb{c}}I`}{HnI`}}{{{b{{ABj{eg}}}}i}{{Hl{{Hj{Hh}}}}}Ad{{Ij{c}}HnI`}{HnI`}{{AAd{Ch}}Hn}}{{{b{{ABj{eg}}}}{AAf{Ch}}Ch}{{Hl{{Hj{Hh}}}}}Ad{{Ij{c}}HnI`}{HnI`}}{{{b{{ABj{eg}}}}{ACd{c}}}{{Hl{{Hj{Hh}}}}}Ad{{ACb{c}}I`}{HnI`}}{{{b{{ABj{eg}}}}}{{Hl{{Hj{Hh}}}}}Ad{{ACb{c}}I`}{HnI`}}{{{b{{ABj{eg}}}}iCdCh}{{Hl{{Hj{Hh}}}}}Ad{{In{c}}HnI`}{HnI`}{{B`{{ACf{c}}}}HnI`}}{{{b{{ABj{ce}}}}}{{Hl{{Hj{Hh}}}}}{AChI`}{HnI`}}{{{b{{ABj{eg}}}}i}{{Hl{{Hj{Hh}}}}}Ad{{Ij{c}}HnI`}{HnI`}{{B`{{N`{c}}}}HnI`}}65{{{b{{ABj{gi}}}}{ACj{ce}}}{{Hl{{Hj{Hh}}}}}Ad{{ACl{c}}}{{ACn{ce}}I`}{HnI`}}997676{{{b{{ABj{eg}}}}AD`}{{Hl{{Hj{Hh}}}}}Ad{{ACb{c}}I`}{HnI`}}{{{b{{ABj{eg}}}}{AAh{c}}}{{Hl{{Hj{Hh}}}}}Ad{{Ij{c}}HnI`}{HnI`}}{{{b{{ABj{eg}}}}{ADb{c}}}{{Hl{{Hj{Hh}}}}}Ad{{ACb{c}}I`}{HnI`}}{{{b{{ABj{eg}}}}{ADd{c}}}{{Hl{{Hj{Hh}}}}}Ad{{ACb{c}}I`}{HnI`}}==;:;:{{{b{{ABj{ce}}}}{b{{ADh{ADf}}}}}{{Hl{{Hj{Hh}}}}}{ADj{Il{ADf}}}{BdADlHnI`}}{{{b{ABl}}{b{{ADh{ADf}}}}}{{Hl{{Hj{Hh}}}}}}{{}Ch}0{{{b{{ABj{ce}}}}}{{b{c}}}{}{}}{{{b{Af{ABj{ce}}}}}{{b{Afc}}}{}{}}{{{b{Af{ABj{gi}}}}ADn{AE`{Ch}}Cd}{{Hl{{Hj{Hh}}}}}Ad{{ACl{c}}}{{AEb{ce}}HnI`}{HnI`}}{{}c{}}0{{}{{Cl{HbHd}}}}0{{{b{{ABj{ce}}}}}{{b{AEd}}}AEf{}}{{{b{ABl}}}{{b{AEd}}}}{{ce}{{ABj{ce}}}{}{}}`{{{b{{ABj{eg}}}}i}{{Hl{{Hj{Hh}}}}}Ad{{In{c}}HnI`}{HnI`}{{AAd{Ch}}Hn}}`{b}0{b{{Hj{AEh}}}}0{{{b{{Jb{}{{AEj{c}}{AEl{e}}}}}}}{{`{{Hh{}{{Ib{{Kb{e}}}}}}Hn}}}ABnABn}{{{b{{ABj{ce}}}}}{{Kb{g}}}{JbHn}{HnI`}{}}{{{b{c}}}{{Hl{{Hj{Hh}}}}}{}}0{ABn{{`{HhHn}}}}{{{b{Af{ABj{gi}}}}Ch}{{Hl{{Hj{Hh}}}}}Ad{{ACl{c}}}{{AEb{ce}}HnI`}{HnI`}}```{{{b{{ABj{eg}}}}}{{Hl{{Hj{Hh}}}}}Ad{{In{c}}HnI`}{HnI`}}{bc{}}0{c{{Cl{e}}}{}{}}0{{}{{Cl{c}}}{}}0{bJl}0{{{b{Il}}{b{{ADh{c}}}}}{{Hl{{Hj{Hh}}}}}Ad}{{b{b{{ADh{c}}}}}{{Hl{{Hj{Hh}}}}}{}}{{{b{{ABj{eg}}}}i}{{Hl{{Hj{Hh}}}}}Ad{{In{c}}HnI`}{HnI`}{{B`{{Nb{c}}}}HnI`}}{{}c{}}0{{{b{{Jb{}{{AEj{c}}{AEl{e}}}}}}}{{`{{Hh{}{{Ib{{Kb{c}}}}}}Hn}}}ABnABn}={{}f}00````{{bd}f}0{{{b{{AEn{ceg}}}}{K`{c}}}{{Kb{f}}}AdJb{{AF`{c}}}}{{{b{{AEn{ceg}}}}}{{b{e}}}Ad{}{}}{{{b{{AEn{ceg}}}}}{{Hl{{Hj{Hh}}}}}Ad{JbAEfHnI`}{HnI`}}{{{b{{AEn{ceg}}}}}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}}{b{{b{c}}}{}}00{{{b{Af}}}{{b{Afc}}}{}}00{{{AFb{ceg}}}{{Kb{{AEn{ceg}}}}}Ad{AFdJbAEf}{{AF`{c}}}}{{cg}{{AFb{ecg}}}{JbAFdAEf}Ad{{AF`{e}}}}{{{b{{AEn{ceg}}}}}{{AEn{ceg}}}Ad{}{}}{{{b{{AFf{ceg}}}}}{{AFf{ceg}}}Ad{}{}}{{b{b{Afc}}}f{}}0{bf}0{{AFhe}{{Cl{{AFj{ce}}AFl}}}Ad{{AF`{c}}}}{{{b{{AEn{ceg}}}}i}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}{{AAd{Ch}}Hn}}{{{b{AFn}}e}{{Kb{{AEn{c{AG`{c}}e}}}}}Ad{{AF`{c}}}}{{{b{AfAGb}}e}{{Kb{{AEn{c{AG`{c}}e}}}}}Ad{{AF`{c}}}}{Ch{{b{c}}}{}}00{Ch{{b{Afc}}}{}}00{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}00{{{AFb{ceg}}}{{AFb{ceg}}}{}{}{}}0{Chf}00{{{b{{AEn{ceg}}}}{b{AfEb}}}EhAdEfEf}{{{b{{AFf{ceg}}}}{b{AfEb}}}EhAdEfEf}{cc{}}00{{{b{{AEn{ceg}}}}i}{{Hl{{Hj{Hh}}}}}AdJb{{AF`{c}}}{{B`{{Nb{c}}}}HnI`}}{{{b{{AEn{ceg}}}}{AC`{c}}}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}}{{{b{{AEn{ceg}}}}i}{{Hl{{Hj{Hh}}}}}AdJb{{AF`{c}}}{{AAd{Ch}}Hn}}{{{b{{AEn{ceg}}}}{AAf{Ch}}Ch}{{Hl{{Hj{Hh}}}}}AdJb{{AF`{c}}}}{{{b{{AEn{ceg}}}}{ACd{c}}}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}}{{{b{{AEn{ceg}}}}}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}}{{{b{{AEn{ceg}}}}iCdCh}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}{{B`{{ACf{c}}}}HnI`}}1{{{b{{AEn{ceg}}}}i}{{Hl{{Hj{Hh}}}}}AdJb{{AF`{c}}}{{B`{{N`{c}}}}HnI`}}54{{{b{{AEn{ceg}}}}{ACj{ci}}}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}{{ACl{c}}}}886565{{{b{{AEn{ceg}}}}AD`}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}}{{{b{{AEn{ceg}}}}{AAh{c}}}{{Hl{{Hj{Hh}}}}}AdJb{{AF`{c}}}}{{{b{{AEn{ceg}}}}{ADb{c}}}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}}{{{b{{AEn{ceg}}}}{ADd{c}}}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}}<<:9:9{{}Ch}00{{}c{}}00{{}{{Cl{HbHd}}}}00{{{b{{AEn{ceg}}}}}{{b{AEd}}}AdAEf{}}{{ce}{{AFb{gce}}}{}{}{}}{{{b{AFn}}e}{{Kb{{AEn{c{AG`{c}}e}}}}}Ad{{AF`{c}}}}{{{b{AfAGb}}e}{{Kb{{AEn{c{AG`{c}}e}}}}}Ad{{AF`{c}}}}{{{b{{AEn{ceg}}}}i}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}{{AAd{Ch}}Hn}}{b}00{b{{Hj{AEh}}}}{{{b{{AEn{ceg}}}}}{{Kb{i}}}Ad{JbHnI`}{HnI`}{}}{{{b{{AEn{c{AG`{c}}e}}}}}{{Kb{f}}}Ad{{AF`{c}}}}{{{b{{AEn{ceg}}}}}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}}{bc{}}0{c{{Cl{e}}}{}{}}00{{}{{Cl{c}}}{}}00{bJl}00{{b{b{{ADh{c}}}}}{{Hl{{Hj{Hh}}}}}{}}{{{b{{AEn{ceg}}}}i}{{Hl{{Hj{Hh}}}}}AdJb{HnI`}{{B`{{Nb{c}}}}HnI`}}{{}c{}}00{{{AFb{ceg}}ABh}{{AFb{ceg}}}{}{}{}}{{{AFb{ceg}}Ch}{{AFb{ceg}}}{}{}{}}100111000{{{AFb{ceg}}AGd}{{AFb{ceg}}}{}{}{}}02<``{{{b{c}}}{{Hl{{Hj{Hh}}}}}{}}{{{b{AFn}}e}{{Kb{{AGf{ce}}}}}Ad{{AF`{c}}}}{Ch{{Hl{{Hj{Hh}}}}}}{{{b{AfAGb}}e}{{Kb{{AGf{ce}}}}}Ad{{AF`{c}}}}{{{b{{AGf{ADfc}}}}{b{{ADh{ADf}}}}}{{Hl{{Hj{Hh}}}}}{{AF`{ADf}}ADl}}314{{{b{{AGf{ce}}}}}{{Kb{f}}}Ad{{AF`{c}}}}{{}f}00000000``````{{AFhe}{{Cl{{AFj{ce}}AFl}}}Ad{{AF`{c}}}}{{AFhe}{{Cl{{AGh{ce}}AFl}}}Ad{{AF`{c}}}}186{{{b{{AGh{ADfc}}}}{b{{ADh{ADf}}}}}{{Hl{{Hj{Hh}}}}}{{AF`{ADf}}ADl}}`9``3````````````{{bd}f}{{{b{AfAGj}}}{{`{{Hh{}{{Ib{{Kb{Ch}}}}}}Hn}}}}{{{b{AfAGl}}}{{Hl{{Hj{Hh}}}}}}{b{{b{c}}}{}}{{{b{Af}}}{{b{Afc}}}{}}{{{b{AGn}}}AGn}{{b{b{Afc}}}f{}}{bf}{{{b{AfAGl}}c}{{Hl{{Hj{Hh}}}}}{{AAd{Ch}}Hn}}{{}AGn}{Ch{{b{c}}}{}}{Ch{{b{Afc}}}{}}{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}{Chf}`{{{b{AfAH`}}Cd}{{Hl{{Hj{Hh}}}}}}{{{b{AGn}}{b{AfEb}}}Eh}{cc{}}`{{{b{AfAH`}}{Nb{c}}}{{Hl{{Hj{Hh}}}}}Ad}{{{b{AfAHb}}{AC`{c}}}{{Hl{{Hj{Hh}}}}}Ad}{{{b{AfAH`}}c}{{Hl{{Hj{Hh}}}}}{{AAd{Ch}}Hn}}{{{b{AfAHb}}{ACd{c}}}{{Hl{{Hj{Hh}}}}}Ad}{{{b{AfAHb}}}{{Hl{{Hj{Hh}}}}}}4{{{b{AfAGl}}eCdCh}{{Hl{{Hj{Hh}}}}}Ad{{B`{{ACf{c}}}}HnI`}}{{{b{AfAHd}}}{{Hl{{Hj{Hh}}}}}}{{{b{AfAH`}}{N`{c}}}{{Hl{{Hj{Hh}}}}}Ad}5{{{b{AfAHf}}{ACj{ce}}}{{Hl{{Hj{Hh}}}}}Ad{{ACl{c}}}}8866{{{b{AfAHb}}AD`}{{Hl{{Hj{Hh}}}}}}{{{b{AfAH`}}{AAh{c}}}{{Hl{{Hj{Hh}}}}}Ad}{{{b{AfAHb}}{ADb{c}}}{{Hl{{Hj{Hh}}}}}Ad}{{{b{AfAHb}}{ADd{c}}}{{Hl{{Hj{Hh}}}}}Ad}<<::`{{}Ch}{{{b{AfAHh}}{Nd{c}}}{{`{Hn{Hh{}{{Ib{{Kb{f}}}}}}}}}Ad}{{{b{AfAHh}}{Kf{c}}}{{`{Hn{Hh{}{{Ib{{Kb{f}}}}}}}}}Ad}{{{b{AfAHh}}{Kl{c}}{n{AB`}}}{{`{Hn{Hh{}{{Ib{{Kb{f}}}}}}}}}Ad}{{}c{}}{{}{{Cl{HbHd}}}}{{{b{AfAGj}}}{{`{{Hh{}{{Ib{{Kb{{n{AGn}}}}}}}}Hn}}}}``{{{b{AfAGl}}c}{{Hl{{Hj{Hh}}}}}{{AAd{Ch}}Hn}}{b}``{{{b{AfAGl}}}{{Hl{{Hj{Hh}}}}}}{bc{}}{c{{Cl{e}}}{}{}}{{}{{Cl{c}}}{}}{bJl}{{{b{AfAHj}}AGn{b{{AHl{{Nj{c}}}}}}}{{`{{Hh{}{{Ib{{Kb{AGn}}}}}}Hn}}}Ad}{{{b{AfAGl}}e}{{Hl{{Hj{Hh}}}}}Ad{{B`{{Nb{c}}}}HnI`}};````````````````````{{bd}f}0{{{b{Af{AHn{c}}}}}{{Kb{Ch}}}{AGjHnI`}}{{{b{Af{AHn{e}}}}}{{Hl{{Hj{Hh}}}}}Ad{{AGl{c}}HnI`}}{b{{b{c}}}{}}00{{{b{Af}}}{{b{Afc}}}{}}00{{{b{AI`}}}AI`}{{{b{{AIb{c}}}}}{{AIb{c}}}Bd}{{b{b{Afc}}}f{}}0{bf}0{{{AHn{c}}}{{Kb{f}}}ABn}{{{b{Af{AHn{e}}}}g}{{Hl{{Hj{Hh}}}}}Ad{{AGl{c}}HnI`}{{AAd{Ch}}Hn}}{Ch{{b{c}}}{}}00{Ch{{b{Afc}}}{}}00{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}00{Chf}00{{{b{AI`}}{b{AI`}}}Db}{{b{b{c}}}Db{}}000{{{b{{AIb{c}}}}AI`}f{}}0000000000{{{b{Af{AHn{e}}}}Cd}{{Hl{{Hj{Hh}}}}}Ad{{AH`{c}}}}{{{b{AI`}}{b{AfEb}}}Eh}{{{b{{AIb{c}}}}{b{AfEb}}}EhEf}{{{b{{AHn{c}}}}{b{AfEb}}}EhEf}{cc{}}{Fjc{}}1{c{{AIb{c}}}{}}2{Flc{}}0{ceFn{}}{ceG`{}}2{{{b{Af{AHn{e}}}}{Nb{c}}}{{Hl{{Hj{Hh}}}}}Ad{{AH`{c}}}}{{{b{Af{AHn{e}}}}g}{{Hl{{Hj{Hh}}}}}Ad{{AH`{c}}}{{AAd{Ch}}Hn}}{{{b{{AIb{c}}}}}{{Hl{{Hj{Hh}}}}}{AFdI`}}2{{{b{Af{AHn{e}}}}gCdCh}{{Hl{{Hj{Hh}}}}}Ad{{AGl{c}}HnI`}{{B`{{ACf{c}}}}HnI`}}{{{b{Af{AHn{e}}}}{N`{c}}}{{Hl{{Hj{Hh}}}}}Ad{{AH`{c}}}}34433{{{b{{AIb{c}}}}}{{n{AId}}}AIf}{{{b{Af{AHn{e}}}}{AAh{c}}}{{Hl{{Hj{Hh}}}}}Ad{{AH`{c}}}}6655{{}Ch}00{{{b{Af{AHn{e}}}}{Nd{c}}}{{Kb{f}}}Ad{{AHh{c}}HnI`}}{{{b{Af{AHn{e}}}}{Kf{c}}}{{Kb{f}}}Ad{{AHh{c}}HnI`}}{{{b{Af{AHn{e}}}}{Kl{c}}{n{AB`}}}{{Kb{f}}}Ad{{AHh{c}}HnI`}}{{}c{}}00{{}{{Cl{HbHd}}}}00{{{b{Af{AHn{c}}}}}{{Kb{{n{AGn}}}}}{AGjHnI`}}{{{b{Af{AHn{c}}}}}{{Hl{{Hj{Hh}}}}}{AIhHnI`}}{{{b{{AIb{c}}}}}{{b{AEd}}}AEf}{{{b{{AIb{c}}}}}f{}}00000{{{b{Af{AHn{e}}}}g}{{Hl{{Hj{Hh}}}}}Ad{{AGl{c}}HnI`}{{AAd{Ch}}Hn}}{b}00{{{b{{AIb{c}}}}{b{Afe}}}{{Hl{{Hj{Hh}}}}}{AFdI`}{}}{{{b{{AIb{c}}}}}{{Kb{e}}}Jb{}}{{{AHn{c}}}{{`{HhHn}}}ABn}{{{b{Af{AIb{c}}}}AId}fAIf}{{{b{Af{AHn{e}}}}}{{Hl{{Hj{Hh}}}}}Ad{{AGl{c}}HnI`}}{bc{}}0{c{{Cl{e}}}{}{}}00{{}{{Cl{c}}}{}}00{bJl}00{{{b{Af{AHn{e}}}}AGn{b{{AHl{{Nj{c}}}}}}}{{Kb{AGn}}}Ad{{AHj{c}}HnI`}}{{{b{Af{AHn{e}}}}g}{{Hl{{Hj{Hh}}}}}Ad{{AGl{c}}HnI`}{{B`{{Nb{c}}}}HnI`}}{{}c{}}00:````{{{b{Af{AIj{c}}}}}{{Kb{Ch}}}{AIlHn}}{{{b{Af{AIj{e}}}}}{{Hl{{Hj{Hh}}}}}Ad{AIl{AJb{}{{AIn{{AJ`{c}}}}}}Hn}}{b{{b{c}}}{}}00{{{b{Af}}}{{b{Afc}}}{}}00{{{AIj{{AJd{{AJ`{c}}}}}}}{{Kb{f}}}Ad}{{{AIj{{AJf{{AJ`{c}}}}}}}{{Kb{f}}}Ad}{{{b{Af{AIj{e}}}}g}{{Hl{{Hj{Hh}}}}}Ad{AIl{AJb{}{{AIn{{AJ`{c}}}}}}Hn}{{AAd{Ch}}Hn}}{{{b{AFn}}}{{Cl{{AG`{c}}AJh}}}Ad}{{{b{AfAGb}}}{{Cl{{AG`{c}}AJh}}}Ad}{Ch{{b{c}}}{}}00{Ch{{b{Afc}}}{}}00{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}00{Chf}0{{{b{Af{AIj{c}}}}}fAIl}1{{{b{Af{AIj{e}}}}Cd}{{Hl{{Hj{Hh}}}}}Ad{AIl{AJb{}{{AIn{{AJ`{c}}}}}}HnI`}}{{{b{{AJ`{c}}}}{b{AfEb}}}EhAd}{{{b{{AG`{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{AIj{c}}}}{b{AfEb}}}Eh{EfAIl}}{cc{}}00{{{b{Af{AIj{e}}}}{Nb{c}}}{{Hl{{Hj{Hh}}}}}Ad{AIl{AJb{}{{AIn{{AJ`{c}}}}}}HnI`}}{{{b{Af{AIj{e}}}}g}{{Hl{{Hj{Hh}}}}}Ad{AIl{AJb{}{{AIn{{AJ`{c}}}}}}HnI`}{{AAd{Ch}}Hn}}1{{{b{Af{AIj{e}}}}gCdCh}{{Hl{{Hj{Hh}}}}}Ad{AIl{AJb{}{{AIn{{AJ`{c}}}}}}Hn}{{B`{{ACf{c}}}}HnI`}}{{{b{Af{AIj{e}}}}{N`{c}}}{{Hl{{Hj{Hh}}}}}Ad{AIl{AJb{}{{AIn{{AJ`{c}}}}}}HnI`}}23322{{{b{Af{AIj{e}}}}{AAh{c}}}{{Hl{{Hj{Hh}}}}}Ad{AIl{AJb{}{{AIn{{AJ`{c}}}}}}HnI`}}4433{{}Ch}00{{{b{Af{AIj{{AJd{{AJ`{c}}}}}}}}{Nd{c}}}{{Kb{f}}}Ad}{{{b{Af{AIj{{AJd{{AJ`{c}}}}}}}}{Kf{c}}}{{Kb{f}}}Ad}{{{b{Af{AIj{{AJd{{AJ`{c}}}}}}}}{Kl{c}}{n{AB`}}}{{Kb{f}}}Ad}{{}c{}}00{{}{{Cl{HbHd}}}}00{{{b{Af{AIj{c}}}}}{{Kb{{n{AGn}}}}}{AIlHn}}{{{b{{AG`{c}}}}}{{b{AEd}}}Ad}{{{b{AFn}}}{{Cl{{AG`{c}}AJh}}}Ad}{{{b{AfAGb}}}{{Cl{{AG`{c}}AJh}}}Ad}{{{b{Af{AIj{e}}}}g}{{Hl{{Hj{Hh}}}}}Ad{AIl{AJb{}{{AIn{{AJ`{c}}}}}}Hn}{{AAd{Ch}}Hn}}{b}00{{{b{{AG`{c}}}}}{{Kb{e}}}Ad{}}{{{b{AfAIl}}}f}{{{AIj{{AJd{{AJ`{c}}}}}}}{{`{HhHn}}}Ad}{{{AIj{{AJf{{AJ`{c}}}}}}}{{`{HhHn}}}Ad}{{{b{{AG`{c}}}}}{{Cl{fAJh}}}Ad}{{{b{Af{AIj{e}}}}}{{Hl{{Hj{Hh}}}}}Ad{AIl{AJb{}{{AIn{{AJ`{c}}}}}}Hn}}{c{{Cl{e}}}{}{}}00{{}{{Cl{c}}}{}}00{bJl}00{{{b{Af{AIj{c}}}}AGn{b{{AHl{{Nj{e}}}}}}}{{Kb{AGn}}}{AIlHn}Ad}{{{b{Af{AIj{e}}}}g}{{Hl{{Hj{Hh}}}}}Ad{AIl{AJb{}{{AIn{{AJ`{c}}}}}}Hn}{{B`{{Nb{c}}}}HnI`}}{{}c{}}00;`````{{bd}f}{{{b{AId}}}Cd}{b{{b{c}}}{}}{{{b{Af}}}{{b{Afc}}}{}}{{{b{AId}}}AId}{{b{b{Afc}}}f{}}{bf}{{}AId}{Ch{{b{c}}}{}}{Ch{{b{Afc}}}{}}{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}{Chf}{{{b{AId}}{b{AfEb}}}Eh}{cc{}}{{{b{{AFd{}{{AJj{c}}}}}}}{{Hl{{Hj{Hh}}}}}{ADlHn}}{{{b{AIf}}}{{n{AId}}}}{{}Ch}{{{b{AId}}}ABh}{{}c{}}{{}{{Cl{HbHd}}}}{{{b{AfAIh}}}{{Hl{{Hj{Hh}}}}}}{{{b{AId}}}AJl}4>{b}{{{b{{AFd{}{{AJj{c}}}}}}{b{Afc}}}{{Hl{{Hj{Hh}}}}}{ADlHn}}{{{b{AId}}}{{n{Cd}}}}{{{b{AfAIf}}AId}f}8{bc{}}{c{{Cl{e}}}{}{}}{{}{{Cl{c}}}{}}{bJl}{{{b{AId}}}{{Kb{f}}}}<{{AIdCd}AId}{{AIdABh}AId}{{AIdAJl}AId}121````````````````````````````````{{bd}f}0000{{{b{Af{AJn{c}}}}}{{Kb{Ch}}}AK`}{{AKbAnAKdCd}AKf}{{{b{AKf}}}{{n{{b{AKd}}}}}}{AKhAKh}{{{b{AFl}}}{{b{h}}}}0{{{b{AFl}}}{{b{l}}}}{{{b{Af}}}{{`{{Hh{}{{Ib{{Kb{f}}}}}}Hn}}}}{{{b{Af}}}{{Kb{f}}}}0{{AKj{b{Af{AKn{AKl{b{Cj}}}}}}}{{b{Af{AKn{AKl{b{Cj}}}}}}}}{{{b{AfAL`}}c}{{ALb{An}}}{{ALd{AKl}}{ALf{AKl}}}}{{{b{Af{AJn{c}}}}}{{Hl{{Hj{Hh}}}}}AK`}{b{{b{c}}}{}}000000000{{{b{Af}}}{{b{Afc}}}{}}000000000{{{b{AfAL`}}c{b{Cj}}}{{ALb{An}}}{{AAd{Ch}}}}{{{b{Cj}}{b{Cj}}c}{{ALb{{El{AL`An}}}}}ALh}{{AKhe}{{Cl{{AFj{ce}}AFl}}}Ad{{AF`{c}}}}{{AKhABh}AKh}{{{b{AFl}}}ALj}{{{b{AKf}}}Cd}{{{b{Cj}}}{{Hl{{Hj{Hh}}}}}}{{}{{Hl{{Hj{Hh}}}}}}{{{b{AKf}}}AKf}{{{b{ALl}}}ALl}{{{b{ALn}}}ALn}{{{b{AKh}}}AKh}{{{b{AM`}}}AM`}{{b{b{Afc}}}f{}}0000{bf}0000{{{b{AKf}}{b{AKf}}}Ob}{{{AJn{c}}}{{Kb{f}}}AK`}{{b{b{c}}}Ob{}}{{AKhe}{{Cl{{AGh{ce}}AFl}}}Ad{{AF`{c}}}}{AKh{{Cl{AM`AFl}}}}{{AKhABh}AKh}{{AFlc}AFl{GlHnI`}}{{{b{Af{AJn{c}}}}e}{{Hl{{Hj{Hh}}}}}AK`{{AAd{Ch}}Hn}}{{{b{Cj}}}{{Hl{{Hj{Hh}}}}}}0{{AKhAMb}AKh}{{}AL`}{{}ALl}{{}ALn}{{}AKh}{{}AMd}{{}{{AE`{AKf}}}}{{{b{AFl}}}b}{Ch{{b{c}}}{}}000000{{{b{{AJn{c}}}}}{{b{e}}}{}{}}111{Ch{{b{Afc}}}{}}{{{b{AfAFl}}}{{b{Af}}}}11111{{{b{Af{AJn{c}}}}}{{b{Afe}}}{}{}}2222{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}000000000{{}{{b{Cj}}}}00{AFl{{Cl{cAFl}}}{GlEfHnI`}}{{{b{AfAFl}}}{{n{{b{Afc}}}}}{GlEfHnI`}}{{{b{AFl}}}{{n{{b{c}}}}}{GlEfHnI`}}{Chf}{{{b{AfAFl}}}f}111111111{{{b{Cj}}}{{Hl{{Hj{Hh}}}}}}{{{b{AKf}}{b{AKf}}}Db}{{b{b{c}}}Db{}}000{{{AMh{}{{AMf{c}}}}e}{{Hl{{Hj{Hh}}}}}AMj{{AMl{c}}}}0{{{AMh{}{{AMf{c}}}}e}{{Hl{{Hj{AMn}}}}}AMj{{AMl{c}}}}000110111{{{b{Af{AJn{c}}}}Cd}{{Hl{{Hj{Hh}}}}}AK`}{{{b{AFl}}{b{AfEb}}}{{Cl{fEd}}}}0{{{b{AKf}}{b{AfEb}}}{{Cl{fEd}}}}0{{{b{AN`}}{b{AfEb}}}{{Cl{fEd}}}}{{{b{AL`}}{b{AfEb}}}Eh}{{{b{ALl}}{b{AfEb}}}Eh}{{{b{ALn}}{b{AfEb}}}Eh}{{{b{{AJn{c}}}}{b{AfEb}}}EhEf}{{{b{AM`}}{b{AfEb}}}Eh}{{{b{AMd}}{b{AfEb}}}Eh}{b{{ANb{AN`}}}}{cAFl{hHnI`}}{cc{}}{Fjc{}}1111111{ANdAKh}22{{{b{Cj}}}{{Cl{AKhc}}}{}}{{{b{Af{AJn{c}}}}{Nb{e}}}{{Hl{{Hj{Hh}}}}}AK`Ad}{{{b{Af{AJn{c}}}}{AC`{e}}}{{Hl{{Hj{Hh}}}}}AK`Ad}{{{b{Af{AJn{c}}}}e}{{Hl{{Hj{Hh}}}}}AK`{{AAd{Ch}}Hn}}{{{b{Af{AJn{c}}}}{ACd{e}}}{{Hl{{Hj{Hh}}}}}AK`Ad}{{{b{AM`}}}{{Hl{{Hj{Hh}}}}}}{{{b{Af{AJn{c}}}}}{{Hl{{Hj{Hh}}}}}AK`}{b{{n{{b{Cj}}}}}}6{{{b{Af{AJn{c}}}}gCdCh}{{Hl{{Hj{Hh}}}}}AK`Ad{{B`{{ACf{e}}}}HnI`}}2{{{b{Af{AJn{c}}}}{N`{e}}}{{Hl{{Hj{Hh}}}}}AK`Ad}6{{{b{Af{AJn{c}}}}{ACj{eg}}}{{Hl{{Hj{Hh}}}}}AK`Ad{{ACl{e}}}}9977{{{b{AM`}}}{{n{AId}}}}{{{b{Af{AJn{c}}}}AD`}{{Hl{{Hj{Hh}}}}}AK`}{{{b{Af{AJn{c}}}}{AAh{e}}}{{Hl{{Hj{Hh}}}}}AK`Ad}{{{b{Af{AJn{c}}}}{ADb{e}}}{{Hl{{Hj{Hh}}}}}AK`Ad}{{{b{Af{AJn{c}}}}{ADd{e}}}{{Hl{{Hj{Hh}}}}}AK`Ad}>><<{{{b{AfAL`}}{Nb{c}}}{{ALb{An}}}Ad}{{AKhABh}AKh}``{{}Ch}000000000{{{b{Af{AJn{ALl}}}}{Nd{c}}}{{Kb{f}}}Ad}{{{b{Af{AJn{ALl}}}}{Kf{c}}}{{Kb{f}}}Ad}{{{b{Af{AJn{ALl}}}}ADn{AE`{Ch}}Cd}{{Hl{{Hj{Hh}}}}}}{{{b{Af{AJn{ALl}}}}{Kl{c}}{n{AB`}}}{{Kb{f}}}Ad}{{}c{}}000000000{{{b{AFl}}}Db}{{}{{Cl{HbHd}}}}000000000{{{b{Af{AJn{c}}}}g}{{ALb{{AAl{e}}}}}{}Ad{{B`{{Nb{e}}}}Hn}}{{{b{Af{AJn{c}}}}}{{Kb{{n{AGn}}}}}AK`}{{{b{Af{AJn{c}}}}}{{Hl{{Hj{Hh}}}}}AK`}{{AKhANf}AKh}{{{b{AM`}}}{{b{AEd}}}}{{AKhc}AKh{{ALh{}{{Ml{AKf}}}}}}2{cAFl{GlEfHnI`}}{{{b{AKf}}}{{b{Cj}}}}{cAFl{hHnI`}}{AKhAKh}{b{{n{{b{Cj}}}}}}{{{b{AKf}}{b{AKf}}}{{n{Ob}}}}{{{b{Af{AJn{c}}}}e}{{Hl{{Hj{Hh}}}}}AK`{{AAd{Ch}}Hn}}{b}000000000{{AKh{ANh{AKl}}}AKh}{{{b{AM`}}}{{ANh{AKl}}}}{{{b{AKf}}}{{b{ANj}}}}{{{AMh{}{{AMf{c}}}}{b{Cj}}}{{Hl{{Hj{Hh}}}}}AMj}0{{{AMh{}{{AMf{c}}}}{b{Cj}}{b{AHl}}}{{Hl{{Hj{Hh}}}}}AMj}{{{b{AM`}}{b{AfAMd}}}{{Hl{{Hj{Hh}}}}}}{{AKhAId}{{Cl{AKhAFl}}}}{{{b{Cj}}}ANl}{{AL`{b{Cj}}}ANl}{{{b{Cj}}}{{ANn{c}}}AO`}{{AL`{b{Cj}}}{{ANn{c}}}AO`}{{{b{AM`}}}{{Kb{{AJn{ALn}}}}}}{AKhAKh}{b{{n{{b{Cj}}}}}}{{{AJn{c}}}{{`{HhHn}}}AK`}{{{b{AFl}}}{{b{h}}}}{{{b{AfAKf}}}f}{{{b{Af{AJn{ALl}}}}Ch}{{Hl{{Hj{Hh}}}}}}{{{b{AfAM`}}AId}f}{{AKhABh}AKh}{{{b{Af}}}{{Hl{{Hj{Hh}}}}}}{{{b{AKf}}}{{n{{b{Cj}}}}}}`{{{b{Af{AJn{c}}}}}{{Hl{{Hj{Hh}}}}}AK`}`{{{b{AOb}}}{{Hl{{Hj{Hh}}}}}}`{bc{}}0000{bAn}0{c{{Cl{e}}}{}{}}000000000{{}{{Cl{c}}}{}}000000000{bJl}000000000{{{b{Cj}}{b{Cj}}}{{Cl{AKfAOd}}}}{{{b{Af{AJn{ALl}}}}AGn{b{{AHl{{Nj{c}}}}}}}{{Kb{AGn}}}Ad}{{{b{Af{AJn{ALl}}}}{b{Cj}}{AOf{{b{Cj}}}}ce}{{Kb{f}}}{{ALh{}{{Ml{{b{Cj}}}}}}}ALh}{{{b{AKf}}}ANf}{{{b{Af{AJn{c}}}}g}{{Hl{{Hj{Hh}}}}}AK`Ad{{B`{{Nb{e}}}}HnI`}}{{}c{}}000000000{{{b{AM`}}}{{Kb{{AJn{ALl}}}}}}````{b{{b{c}}}{}}0{{{b{Af}}}{{b{Afc}}}{}}0{{{b{AOh}}}AKh}{Ch{{b{c}}}{}}0{Ch{{b{Afc}}}{}}0{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}0{Chf}0{{{b{AfAOh}}}f}{{{b{AOh}}{b{AfEb}}}Eh}{cc{}}0{{}Ch}0{{}AOh}=={{}{{Cl{HbHd}}}}0{{{b{AOh}}}AMb}2{b}0{c{{Cl{e}}}{}{}}0{{}{{Cl{c}}}{}}0{bJl}0{{}c{}}0`````````````````````````````````````````````````````````````````````````````````````````````````````{{bd}f}000000000000000{{AOjAOj}c{}}{b{{b{h}}}}00000000000000000000000``````````{b{{b{c}}}{}}0000000000000000000000000000000000{{{b{Af}}}{{b{Afc}}}{}}0000000000000000000000000000000000{AOlAOj}{{{b{AOn}}}AOn}{{{b{B@`}}}B@`}{{{b{B@b}}}B@b}{{{b{AOj}}}AOj}{{{b{{AC`{c}}}}}{{AC`{c}}}{BdAd}}{{{b{{ADb{c}}}}}{{ADb{c}}}{BdAd}}{{{b{{B@d{c}}}}}{{B@d{c}}}{BdAd}}{{{b{{B@f{c}}}}}{{B@f{c}}}{BdAd}}{{{b{B@h}}}B@h}{{{b{B@j}}}B@j}{{{b{B@l}}}B@l}{{{b{B@n}}}B@n}{{{b{BA`}}}BA`}{{{b{BAb}}}BAb}{{{b{BAd}}}BAd}{{{b{F`}}}F`}{{b{b{Afc}}}f{}}000000000000000{bf}000000000000000{{{b{B@b}}{b{B@b}}}Ob}{{b{b{c}}}Ob{}}````{{}{{ADd{c}}}Ad}{c{{Cl{{A@d{eF`c}}A@f}}}Jf{HnI`A@h}}{Ch{{b{c}}}{}}0000000000000000000000000000000000{Ch{{b{Afc}}}{}}0000000000000000000000000000000000{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}{c{{Cl{AOn}}}Cn}{c{{Cl{B@`}}}Cn}2{c{{Cl{B@b}}}Cn}3{c{{Cl{AOj}}}Cn}44444{c{{Cl{B@h}}}Cn}5{c{{Cl{{BAf{e}}}}}CnAd}6{c{{Cl{{BAh{e}}}}}CnAd}777{c{{Cl{BAj}}}Cn}{c{{Cl{{BAl{e}}}}}CnAd}9{c{{Cl{{BAn{e}}}}}CnAd}::{c{{Cl{BB`}}}Cn};;;{c{{Cl{BBb}}}Cn}{c{{Cl{BBd}}}Cn}={c{{Cl{{BBf{e}}}}}CnAd}>>{c{{Cl{{BBh{e}}}}}CnAd}{c{{Cl{B@j}}}Cn}{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}0{c{{Cl{B@l}}}Cn}1{c{{Cl{B@n}}}Cn}{c{{Cl{BA`}}}Cn}33{c{{Cl{BAb}}}Cn}{c{{Cl{BAd}}}Cn}55{c{{Cl{F`}}}Cn}6{c{{Cl{{BBj{e}}}}}CnAd}{c{{Cl{{BBl{e}}}}}CnAd}8{c{{Cl{{BBn{e}}}}}CnAd}9{c{{Cl{{BC`{e}}}}}CnAd}::{c{{Cl{{BCb{e}}}}}CnAd};{c{{Cl{{BCd{e}}}}}CnAd}{Chf}0000000000000000000000000000000000{{{b{B@b}}{b{B@b}}}Db}{{{b{AOj}}{b{AOj}}}Db}{{{b{{AC`{c}}}}{b{{AC`{c}}}}}Db{MdAd}}{{{b{{ADb{c}}}}{b{{ADb{c}}}}}Db{MdAd}}{{{b{{B@d{c}}}}{b{{B@d{c}}}}}Db{MdAd}}{{{b{{B@f{c}}}}{b{{B@f{c}}}}}Db{MdAd}}{{{b{B@h}}{b{B@h}}}Db}{{{b{{BAf{c}}}}{b{{BAf{c}}}}}Db{MdAd}}{{{b{{BAh{c}}}}{b{{BAh{c}}}}}Db{MdAd}}{{{b{Ff}}{b{Ff}}}Db}{{{b{BAj}}{b{BAj}}}Db}{{{b{{BAl{c}}}}{b{{BAl{c}}}}}Db{MdAd}}{{{b{{BAn{c}}}}{b{{BAn{c}}}}}Db{MdAd}}{{{b{{ACd{c}}}}{b{{ACd{c}}}}}Db{MdAd}}{{b{b{c}}}Db{}}0000000000000000000000000000000000000000000000000000000{AOlAOj}0``{{{b{{BCn{}{{BCf{c}}{BCh{e}}{BCj{g}}{BCl{i}}}}}}}e{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}}{{{b{{BCn{}{{BCf{c}}{BCh{e}}{BCj{g}}{BCl{i}}}}}}}c{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}}```{{{b{AOn}}{b{AfEb}}}Eh}0{{{b{B@`}}{b{AfEb}}}Eh}0{{{b{B@b}}{b{AfEb}}}Eh}0{{{b{AOj}}{b{AfEb}}}Eh}0{{{b{{AC`{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{AC`{c}}}}{b{AfEb}}}EhAd}{{{b{{ADb{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{ADb{c}}}}{b{AfEb}}}EhAd}{{{b{{B@d{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{B@f{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{B@h}}{b{AfEb}}}Eh}{{{b{{BAf{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BAh{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{Ff}}{b{AfEb}}}Eh}0{{{b{BAj}}{b{AfEb}}}Eh}{{{b{{BAl{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BAn{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{ACd{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{BB`}}{b{AfEb}}}Eh}{{{b{{ADd{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{BBb}}{b{AfEb}}}Eh}{{{b{BBd}}{b{AfEb}}}Eh}{{{b{{BBf{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BBh{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{B@j}}{b{AfEb}}}Eh}0{{{b{B@l}}{b{AfEb}}}Eh}0{{{b{B@n}}{b{AfEb}}}Eh}0{{{b{BA`}}{b{AfEb}}}Eh}0{{{b{BAb}}{b{AfEb}}}Eh}0{{{b{BAd}}{b{AfEb}}}Eh}0{{{b{F`}}{b{AfEb}}}Eh}0{{{b{{BBj{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BBl{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BBn{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BC`{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BCb{c}}}}{b{AfEb}}}Eh{EfAd}}{{{b{{BCd{c}}}}{b{AfEb}}}Eh{EfAd}}{cc{}}00{AOlAOj}11111111{BD`Ff}{BDbFf}33333333333{A`B@j}{FhB@j}5{FhB@l}{A`B@l}7{FhB@n}{A`B@n}{FfB@n}:{A`BA`};{FhBA`}{A`BAb}{BA`BAb}{B@jBAb}{B@lBAb}{cc{}}{FhBAb}1{A`BAd}{FhBAd}33{{{BAf{c}}}{{BBj{c}}}Ad}4{{{AE`{{BAh{c}}}}}{{BBl{c}}}Ad}5{{{AE`{{BAn{c}}}}}{{BC`{c}}}Ad}6{{{BBf{c}}}{{BCb{c}}}Ad}77{{{BBh{c}}}{{BCd{c}}}Ad}{b{{AAb{{BAf{c}}}}}Ad}{b{{AAb{{BAh{c}}}}}Ad}`{{{b{ACb}}{AC`{c}}}{{Hl{{Hj{Hh}}}}}Ad}{{{b{ACb}}{ACd{c}}}{{Hl{{Hj{Hh}}}}}Ad}{{{b{ACb}}}{{Hl{{Hj{Hh}}}}}}{{{b{ACb}}AD`}{{Hl{{Hj{Hh}}}}}}{{{b{ACb}}{ADb{c}}}{{Hl{{Hj{Hh}}}}}Ad}{{{b{ACb}}{ADd{c}}}{{Hl{{Hj{Hh}}}}}Ad}`````````{{}Ch}0000000000000000000000000000000000{{}c{}}0000000000000000000000000000000000{{}{{BDd{An}}}}{{{b{B@b}}}Db}00```{{}{{Cl{HbHd}}}}0000000000000000000000000000000000{{{b{{BDf{}{{BCl{c}}}}}}}c{BdEfJhMjHnI`MdMf}}{{{b{{BCn{}{{BCf{c}}{BCh{e}}{BCj{g}}{BCl{i}}}}}}}{{AE`{i}}}{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}}{{B@bAOl}AOj}````````{{{b{B@b}}{b{B@b}}}{{n{Ob}}}}{{{b{{BDf{}{{BCl{c}}}}}}}Cd{BdEfJhMjHnI`MdMf}}{b}0000000000000000000000000000000000{{{b{{BCn{}{{BCf{c}}{BCh{e}}{BCj{g}}{BCl{i}}}}}}}g{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}}```{{{b{{BCn{}{{BCf{c}}{BCh{e}}{BCj{g}}{BCl{i}}}}}}}c{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}{BdEfJhMjHnI`MdMf}}````{{{b{AOn}}c}ClJj}{{{b{B@`}}c}ClJj}{{{b{B@b}}c}ClJj}{{{b{AOj}}c}ClJj}{{{b{B@h}}c}ClJj}{{{b{{BAf{c}}}}e}ClAdJj}{{{b{{BAh{c}}}}e}ClAdJj}{{{b{BAj}}c}ClJj}{{{b{{BAl{c}}}}e}ClAdJj}{{{b{{BAn{c}}}}e}ClAdJj}{{{b{BB`}}c}ClJj}{{{b{BBb}}c}ClJj}{{{b{BBd}}c}ClJj}{{{b{{BBf{c}}}}e}ClAdJj}{{{b{{BBh{c}}}}e}ClAdJj}{{{b{B@j}}c}ClJj}{{{b{B@l}}c}ClJj}{{{b{B@n}}c}ClJj}{{{b{BA`}}c}ClJj}{{{b{BAb}}c}ClJj}{{{b{BAd}}c}ClJj}{{{b{F`}}c}ClJj}{{{b{{BBj{c}}}}e}ClAdJj}{{{b{{BBl{c}}}}e}ClAdJj}{{{b{{BBn{c}}}}e}ClAdJj}{{{b{{BC`{c}}}}e}ClAdJj}{{{b{{BCb{c}}}}e}ClAdJj}{{{b{{BCd{c}}}}e}ClAdJj}{{{b{B@b}}}Ch}```{{{b{Ff}}}{{n{{b{h}}}}}}{{{b{B@j}}}{{n{{b{h}}}}}}{{{b{B@l}}}{{n{{b{h}}}}}}{{{b{B@n}}}{{n{{b{h}}}}}}{{{b{BA`}}}{{n{{b{h}}}}}}{{{b{BAb}}}{{n{{b{h}}}}}}{{{b{BAd}}}{{n{{b{h}}}}}}{{{b{F`}}}{{n{{b{h}}}}}}{{{b{B@j}}}Bb}{{{b{B@l}}}Bb}{{{b{B@n}}}Bb}{{{b{BA`}}}Bb}{{{b{BAb}}}Bb}{{{b{BAd}}}Bb}{{{b{F`}}}Bb}{{AOjAOj}c{}}```````{bc{}}000000000000000{bAn}0000000000000````{c{{Cl{e}}}{}{}}0{{{b{Cj}}}{{Cl{B@bc}}}{}}11111111{{{Nd{c}}}{{Cl{{BAf{c}}e}}}Ad{}}{{{Nd{c}}}{{Cl{{BAh{c}}e}}}Ad{}}33333{{{El{{b{{Nd{c}}}}Ch}}}{{Cl{{BAn{c}}e}}}Ad{}}44444444444444444444{{}{{Cl{c}}}{}}0000000000000000000000000000000000{bJl}0000000000000000000000000000000000{AOlAOj}`{{}c{}}0000000000000000000000000000000000`````{{bd}f}{b{{b{c}}}{}}{{{b{Af}}}{{b{Afc}}}{}}{{{b{{BDh{ce}}}}}{{BDh{ce}}}{}{}}{{b{b{Afc}}}f{}}{bf}{Ch{{b{c}}}{}}{Ch{{b{Afc}}}{}}{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}{Chf}{{{b{{BDh{ce}}}}{b{AfEb}}}Eh{}{}}{cc{}}{{}Ch}={{}{{Cl{HbHd}}}}{{{Dl{BDj}}BDl}{{BDh{ce}}}{}{}}{b}``{{BDnc}f{}}{{BE`c}{{`{{Hh{}{{Ib{f}}}}Hn}}}{}}{{{b{{BDh{eg}}}}eik}f{}{{BEb{c}}}BE`{{BEd{ce}}}{{ALh{}{{Ml{g}}}}Hn}}{bc{}}{c{{Cl{e}}}{}{}}{{}{{Cl{c}}}{}}{bJl}{{}c{}}`````{{bd}f}000{{{b{{BEf{c}}}}}f{}}{b{{b{c}}}{}}000{{{b{Af}}}{{b{Afc}}}{}}000{{{b{{BEh{c}}}}}{{BEh{c}}}Ad}{{{b{{BEj{c}}}}}{{BEj{c}}}{BdJf}}{{{b{{BEf{c}}}}}{{BEf{c}}}{}}{{{b{BEl}}}BEl}{{b{b{Afc}}}f{}}000{bf}000{{}{{BEh{c}}}Ad}{{}BEl}{Ch{{b{c}}}{}}000{Ch{{b{Afc}}}{}}000{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}000{Chf}000>{{{b{BEd}}e}{{Hl{{Hj{Hh}}}}}{}{{BEb{c}}}}{{{b{{BEh{c}}}}BEn}{{Hl{{Hj{Hh}}}}}Ad}{{{b{{BEh{c}}}}{BF`{c}}}{{Hl{{Hj{Hh}}}}}Ad}{{{b{{BEh{c}}}}BFb}{{Hl{{Hj{Hh}}}}}Ad}{{{b{{BEj{c}}}}BFb}{{Hl{{Hj{Hh}}}}}Jf}{{{b{{BEj{c}}}}{BF`{e}}}{{Hl{{Hj{Hh}}}}}JfAd}{{{b{{BEj{c}}}}BEn}{{Hl{{Hj{Hh}}}}}Jf}{{{b{{BEf{g}}}}e}{{Hl{{Hj{Hh}}}}}Ad{{BEb{c}}}{{BEd{ce}}I`}}{{{b{BEl}}e}{{Hl{{Hj{Hh}}}}}{}{Hn{BEb{c}}}}{{{b{{BEh{c}}}}{b{AfEb}}}EhAd}{{{b{{BEj{c}}}}{b{AfEb}}}Eh{EfJf}}{{{b{{BEf{c}}}}{b{AfEb}}}EhEf}{{{b{BEl}}{b{AfEb}}}Eh}{cc{}}000{{}Ch}000{{}c{}}000{{}{{Cl{HbHd}}}}000{{BFdc}{{BEj{c}}}Jf}{c{{BEf{c}}}{}}{b}000{bc{}}000{c{{Cl{e}}}{}{}}000{{}{{Cl{c}}}{}}000{bJl}000{{{b{{BEf{c}}}}}f{}}09999{{{BEh{c}}e}{{BEh{c}}}Ad{{BEd{cBFb}}Ef}}{{{BEh{c}}e}{{BEh{c}}}Ad{{BEd{c{BF`{c}}}}Ef}}{{{BEh{c}}e}{{BEh{c}}}Ad{{AF`{c}}Ef}}{{{BEh{c}}e}{{BEh{c}}}Ad{{BEd{cBEn}}Ef}}`````{{bd}f}00{b{{b{c}}}{}}00{{{b{Af}}}{{b{Afc}}}{}}00{{{b{BFb}}}BFb}{{{b{BEn}}}BEn}{{{b{{BF`{c}}}}}{{BF`{c}}}{BdAd}}{{b{b{Afc}}}f{}}00{bf}00{Ch{{b{c}}}{}}00{Ch{{b{Afc}}}{}}00{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}00{Chf}00{{{b{BFb}}{b{BFb}}}Db}{{{b{BEn}}{b{BEn}}}Db}{{{b{{BF`{c}}}}{b{{BF`{c}}}}}Db{MdAd}}{{b{b{c}}}Db{}}00000000000``{{{b{BFb}}{b{AfEb}}}Eh}{{{b{BEn}}{b{AfEb}}}Eh}{{{b{{BF`{c}}}}{b{AfEb}}}Eh{EfAd}}{cc{}}0{{{El{Cd{A@n{c}}{BFf{c}}}}}{{BF`{c}}}Ad}1{{{b{c}}{b{e}}}Cd{GdGf}Gh}00{{{b{BFb}}{b{Afc}}}fGj}{{{b{BEn}}{b{Afc}}}fGj}{{{b{{BF`{c}}}}{b{Afe}}}f{GdAd}Gj}`{{}Ch}00{{}c{}}00{{}{{Cl{HbHd}}}}00{{Cd{A@n{c}}{BFf{c}}}{{BF`{c}}}Ad}{b}00{bc{}}00{c{{Cl{e}}}{}{}}00{{}{{Cl{c}}}{}}00{bJl}00777`````````````````{{bd}f}0`{b{{b{h}}}}00{{{b{Fb}}}{{n{{b{l}}}}}}{b{{b{c}}}{}}00{{{b{Af}}}{{b{Afc}}}{}}00{{{b{Fb}}}{{n{{b{h}}}}}}{{{b{{ACj{ce}}}}}{{ACj{ce}}}Ad{{ACl{c}}}}{{{b{Fb}}}Fb}{{b{b{Afc}}}f{}}0{bf}0{{{b{{ACj{ce}}}}{b{{ACj{ce}}}}}ObAd{{ACl{c}}}}{{b{b{c}}}Ob{}}{{}BFh}{{{b{BFh}}}{{Cl{{A@d{cFbe}}A@f}}}{HnI`A@h}Jf}{Ch{{b{c}}}{}}00{Ch{{b{Afc}}}{}}00{{{b{Fb}}}{{b{Cj}}}}{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}00{c{{Cl{Fb}}}Cn}{Chf}00{{{b{{ACj{ce}}}}{b{{ACj{ce}}}}}DbAd{{ACl{c}}}}{{b{b{c}}}Db{}}000`{{{b{{ACj{ce}}}}{b{AfEb}}}EhAd{{ACl{c}}}}0{{{b{Fb}}{b{AfEb}}}Eh}0{cc{}}0{A`Fb}1{{{El{AnBb}}}Fb}{AA`Fb}{{{b{c}}{b{e}}}Cd{GdGf}Gh}{{{b{ACh}}}{{Hl{{Hj{Hh}}}}}}{{{b{ACn}}{ACj{ce}}}{{Hl{{Hj{Hh}}}}}Ad{{ACl{c}}}}{{{b{{ACj{ce}}}}{b{Afg}}}fAd{{ACl{c}}}Gj}{{}{{b{Cj}}}}{{}Ch}00{{{b{AfAEb}}ADn{AE`{Ch}}Cd}{{Hl{{Hj{Hh}}}}}}{{{b{Af{ACl{}{{BFj{c}}{BFl{e}}{BFn{g}}{BG`{i}}{BGb{k}}}}}}c{b{{ADn{ecg}}}}}{{Kb{f}}}{BGdHnI`JhBGfBGhMjGlBGjBGl}{BGnHnI`JhMjBGjBGl}{BH`Hn}{{BHb{g}}Hn{BHd{{b{AD`}}}}GlEf{B`{AD`}}}{{BHf{ecg}}}}{{}c{}}00{{}{{Cl{HbHd}}}}00{{{b{{ACj{ce}}}}{b{{ACj{ce}}}}}{{n{Ob}}}Ad{{ACl{c}}}}{b}00{{{b{Fb}}c}ClJj}{{{b{AfAEb}}Ch}{{Hl{{Hj{Hh}}}}}}{{{b{Fb}}}{{n{{b{h}}}}}}:{{{b{Fb}}}Bb}{bc{}}0{bAn}0<{c{{Cl{e}}}{}{}}00{{}{{Cl{c}}}{}}00{bJl}00<<<````````````````{{bd}f}0000000{{{b{BHh}}Ch}f}{{{b{BHj}}AGd}f}{b{{b{h}}}}00{{{b{BHl}}}{{n{{b{l}}}}}}{b{{b{c}}}{}}00000000{{{b{Af}}}{{b{Afc}}}{}}00000000{{{b{BHl}}}{{n{{b{h}}}}}}{{{b{AEd}}}AEd}{{{b{BHh}}}BHh}{{{b{BHn}}}BHn}{{{b{BHj}}}BHj}{{{b{BI`}}}BI`}{{{b{BIb}}}BIb}{{{b{BId}}}BId}{{{b{BIf}}}BIf}{{b{b{Afc}}}f{}}0000000{bf}0000000{{{b{AEd}}An{AE`{An}}}{{Hj{BIh}}}}{{{b{BI`}}{AE`{An}}}{{Hj{BIj}}}}{{{b{BIb}}{AE`{An}}}{{Hj{BIl}}}}{{{b{BId}}{AE`{An}}}{{Hj{BIn}}}}{{{b{BIf}}{AE`{An}}}f}{{{b{AEd}}An{n{An}}}{{Hj{BIj}}}}{{{b{AEd}}An{n{An}}}{{Hj{BIl}}}}{{{b{AEd}}An{n{An}}}{{Hj{BIn}}}}{{{b{AEd}}An}f}{{}AEd}{Ch{{b{c}}}{}}00000000{Ch{{b{Afc}}}{}}00000000{{{b{BHl}}}{{b{Cj}}}}{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}00000000{Chf}00000000{{{b{AEd}}}{{Cl{Anc}}}{}}{{{b{BHl}}{b{AfEb}}}Eh}0{{{b{AEd}}{b{AfEb}}}Eh}{{{b{BHh}}{b{AfEb}}}Eh}{{{b{BHn}}{b{AfEb}}}Eh}{{{b{BHj}}{b{AfEb}}}Eh}{{{b{BI`}}{b{AfEb}}}Eh}{{{b{BIb}}{b{AfEb}}}Eh}{{{b{BId}}{b{AfEb}}}Eh}{{{b{BIf}}{b{AfEb}}}Eh}{BJ`BHl}{cc{}}00000000{{{b{AEd}}{b{Cj}}}{{Cl{BIbBHl}}}}{{{b{AEd}}An{AE`{An}}}{{Hj{BJb}}}}{{{b{BHh}}}Ch}{{{b{BHn}}}Ch}{{{b{BI`}}{b{{AHl{c}}}}}BHh{{BJd{Cj}}}}{{{b{BIb}}{b{{AHl{c}}}}}BHn{{BJd{Cj}}}}{{{b{BId}}{b{{AHl{c}}}}}BHj{{BJd{Cj}}}}{{{b{AEd}}{b{Cj}}}{{Cl{BHhBHl}}}}{{{b{AEd}}{b{Cj}}}{{Cl{BI`BHl}}}}{{{b{AEd}}{b{Cj}}}{{Cl{BHnBHl}}}}{{{b{AEd}}{b{Cj}}}{{Cl{BHjBHl}}}}{{{b{AEd}}{b{Cj}}}{{Cl{BIdBHl}}}}{{{b{AEd}}c}{{Cl{AEdBHl}}}ALh}{{{b{AEd}}An{AE`{An}}}{{Hj{BJf}}}}{{}Ch}00000000{{}c{}}00000000{{}{{Cl{HbHd}}}}00000000{{{b{BHj}}}AGd}{b}00000000{{{b{BHj}}}Ch}{{{b{BHn}}Ch}f}{{{b{BHl}}}{{n{{b{h}}}}}}{{{b{AEd}}An}{{Hj{AEh}}}}5{{{b{AEd}}An{AE`{An}}}{{Hj{BJh}}}}{bc{}}0000000{bAn}{c{{Cl{e}}}{}{}}00000000{{}{{Cl{c}}}{}}00000000{bJl}00000000{{{b{BHn}}BJj}f}>>>>>>>>>``````````````````````````{{bd}f}000000000`{b{{b{h}}}}00{{{b{Ej}}}{{n{{b{l}}}}}}`{{{b{In}}}{{Hl{{Hj{Hh}}}}}}{b{{b{c}}}{}}0000000000{{{b{Af}}}{{b{Afc}}}{}}0000000000{{{BJl{ce}}}Ej{{B`{An}}}{{B`{Bb}}}}{{{b{Ej}}}{{n{{b{h}}}}}}{{{b{{ACf{c}}}}}{{ACf{c}}}Ad}{{{b{BJn}}}BJn}{{{b{{BK`{c}}}}}{{BK`{c}}}Bd}{{{b{BKb}}}BKb}{{{b{BKd}}}BKd}{{{b{BKf}}}BKf}{{{b{{BKh{c}}}}}{{BKh{c}}}Bd}{{{b{{BKj{ce}}}}}{{BKj{ce}}}BdBd}{{{b{{BJl{ce}}}}}{{BJl{ce}}}BdBd}{{{b{Ej}}}Ej}{{b{b{Afc}}}f{}}000000000{bf}000000000{{{b{BJn}}{b{BJn}}}Ob}{{b{b{c}}}Ob{}}{{{b{In}}}{{Hl{{Hj{Hh}}}}}}0{{{b{In}}c}{{Hl{{Hj{Hh}}}}}{{AAd{Ch}}Hn}}{{}{{BK`{c}}}{}}{{}BKl}{{{b{BKl}}c}{{Cl{{A@d{eEjc}}A@f}}}Jf{HnI`A@h}}{Ch{{b{c}}}{}}0000000000{Ch{{b{Afc}}}{}}0000000000{{{b{Ej}}}{{b{Cj}}}}{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}{c{{Cl{BJn}}}Cn}11{c{{Cl{{BK`{e}}}}}CnBKn}{c{{Cl{BKb}}}Cn}33333333{c{{Cl{Ej}}}Cn}{Chf}0000000000`{{{b{BJn}}{b{BJn}}}Db}{{{b{{BK`{c}}}}{b{{BK`{c}}}}}DbMd}{{{b{BKb}}{b{BKb}}}Db}{{b{b{c}}}Db{}}00000000000`{{{BJl{ce}}}{{Cl{gEj}}}{{B`{An}}}{{B`{Bb}}}{}}{{{b{{ACf{c}}}}{b{AfEb}}}EhAd}{{{b{BJn}}{b{AfEb}}}Eh}{{{b{{BK`{c}}}}{b{AfEb}}}EhEf}{{{b{BKb}}{b{AfEb}}}Eh}{{{b{BKl}}{b{AfEb}}}Eh}{{{b{BKd}}{b{AfEb}}}Eh}{{{b{BKf}}{b{AfEb}}}Eh}{{{b{{BKh{c}}}}{b{AfEb}}}EhEf}{{{b{{BKj{ce}}}}{b{AfEb}}}EhEfEf}{{{b{{BJl{ce}}}}{b{AfEb}}}EhEfEf}{{{b{Ej}}{b{AfEb}}}Eh}0{{{Kh{c}}}{{ACf{c}}}Ad}{cc{}}0{{{b{{BK`{c}}}}}{{n{Cd}}}BL`}11111111{AA`Ej}{A`Ej}3{{{El{AnBb}}}Ej}{{}BJn}{{{b{c}}{b{e}}}Cd{GdGf}Gh}{{{b{In}}eCdCh}{{Hl{{Hj{Hh}}}}}Ad{{B`{{ACf{c}}}}HnI`}}{{{b{BJn}}{b{Afc}}}fGj}{{}Ch}0000000000{cEjGl}{{}c{}}0000000000{{BKdc}Ej{}}{{BKfc}Ej{}}{{{BKh{c}}e}Ej{{B`{An}}}{}}{{{BKj{ce}}g}Ej{{B`{An}}}{{B`{Cd}}}{}}{{{BJl{ce}}g}Ej{{B`{An}}}{{B`{Bb}}}{}}{{{b{BJn}}}Db}{{}{{Cl{HbHd}}}}0000000000``````{{{b{BJn}}{b{BJn}}}{{n{Ob}}}}{{{b{In}}}{{Hl{{Hj{Hh}}}}}}0{{{b{In}}c}{{Hl{{Hj{Hh}}}}}{{AAd{Ch}}Hn}}{b}0000000000``{{{b{BJn}}c}ClJj}{{{b{{BK`{c}}}}e}ClJhJj}{{{b{BKb}}c}ClJj}{{{b{Ej}}c}ClJj}{{{b{Ej}}}{{n{{b{h}}}}}}`{{{b{Ej}}}Bb}`8{bc{}}000000000{bAn}{c{{Cl{e}}}{}{}}0000000000{{}{{Cl{c}}}{}}0000000000{bJl}0000000000{{{b{In}}e}{{Hl{{Hj{Hh}}}}}Ad{{B`{{Nb{c}}}}HnI`}}{{}c{}}0000000000```````````````````{{bd}f}`{b{{b{h}}}}00{{{b{Fd}}}{{n{{b{l}}}}}}{{{b{J`}}}{{Hl{{Hj{Hh}}}}}}{b{{b{c}}}{}}0{{{b{Af}}}{{b{Afc}}}{}}0{{{b{Fd}}}{{n{{b{h}}}}}}{{{b{Fd}}}Fd}{{b{b{Afc}}}f{}}{bf}{{{b{J`}}}{{ALb{AEd}}}}0{{}BLb}{{{b{BLb}}c}{{Cl{{A@d{eFdc}}A@f}}}Jf{HnI`A@h}}{Ch{{b{c}}}{}}0{Ch{{b{Afc}}}{}}0{{{b{Fd}}}{{b{Cj}}}}{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}{c{{Cl{Fd}}}Cn}1{Chf}0??`{{{b{Fd}}{b{AfEb}}}Eh}0{cc{}}{AnFd}1{AA`Fd}{{}Ch}0{{}c{}}0{{}{{Cl{HbHd}}}}0{{{b{AEf}}}{{b{AEd}}}}{b}0{{{b{BLd}}}{{Hj{AEh}}}}{{{b{Fd}}c}ClJj}{{{b{Fd}}}{{n{{b{h}}}}}}{{{b{Fd}}}Bb}{{{b{J`}}}{{Hl{{Hj{Hh}}}}}}0{bc{}}{bAn}{c{{Cl{e}}}{}{}}0{{}{{Cl{c}}}{}}0{bJl}0==````{{bd}f}{b{{b{c}}}{}}0{{{b{Af}}}{{b{Afc}}}{}}0{{{b{BLf}}}BLf}{{b{b{Afc}}}f{}}{bf}{Ch{{b{c}}}{}}0{Ch{{b{Afc}}}{}}0{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}0{Chf}0{{{b{Af{BLh{c}}}}}fHn}{{{b{BLf}}{b{AfEb}}}Eh}{{{b{{BLh{c}}}}{b{AfEb}}}EhHn}{cc{}}0{{}Ch}0{{}c{}}0{{{BLh{c}}}{{Cl{cBLj}}}Hn}{{}{{Cl{HbHd}}}}0{b}0{{ce}BLfGl{HhHn}}{{cg}{{BLh{e}}}GlHn{{Hh{}{{Ib{e}}}}Hn}}{bc{}}{c{{Cl{e}}}{}{}}0{{}{{Cl{c}}}{}}0{bJl}099``{{}f}{ABhf}```````{b{{b{c}}}{}}{{{b{Af}}}{{b{Afc}}}{}}{{{b{c}}}{{Hl{{Hj{Hh}}}}}{}}{Ch{{Hl{{Hj{Hh}}}}}}{{{b{{BLl{c}}}}}cBLn}{{{b{{BLl{c}}}}Ch}cBLn}{Ch{{b{c}}}{}}{Ch{{b{Afc}}}{}}{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}{Chf}{{{b{Af{BLl{c}}}}}fBLn}{cc{}}{{{b{{BLl{c}}}}}{{b{{Ih{ADfBM`BMb}}}}}BLn}{{{b{{BLn{}{{BMd{c}}}}}}{b{{ADh{ADf}}}}}{{Hl{{Hj{Hh}}}}}{HnI`}}{{}{{BLl{c}}}{BLnBLd}}{{}Ch}{c{{BLl{e}}}{{If{{b{Af{BMh{BMf}}}}}}}{BLnBLd}}{{}c{}}{{}{{Cl{HbHd}}}}{{{b{{BLl{c}}}}}ChBLn}{b}{{{b{{BLl{c}}}}Ch}{{BMj{ADf}}}BLn}{{{b{c}}}{{Hl{{Hj{Hh}}}}}{}}{{{b{Af{BLl{{BLn{}{{BMd{c}}}}}}}}}{{Hl{{Hj{Hh}}}}}{HnI`}}{{{BLl{c}}}fBLn}{{{b{Af{BLl{c}}}}eg}fBLnGl{HhHn}}?{{{b{{BLl{c}}}}}bBLn}{{{b{{BLl{c}}}}BMl}fBLn}{c{{Cl{e}}}{}{}}{{}{{Cl{c}}}{}}{bJl}=`````````````{{bd}f}00``{b{{b{c}}}{}}00{{{b{Af}}}{{b{Afc}}}{}}00`{{{b{ADf}}}ADf}{{{b{BMb}}}BMb}{{{b{BM`}}}BM`}{{b{b{Afc}}}f{}}00{bf}00{{{b{ADf}}{b{ADf}}}Ob}{{{b{BM`}}{b{BM`}}}Ob}{{b{b{c}}}Ob{}}0`{{}ADf}{{}BM`}`{Ch{{b{c}}}{}}00{Ch{{b{Afc}}}{}}00{{b{b{Afc}}}{{Cl{{D`{eg}}}}}{}{}{}}{c{{Cl{ADf}}}Cn}11{c{{Cl{BM`}}}Cn}{Chf}00{{{b{ADf}}{b{ADf}}}Db}{{{b{BM`}}{b{BM`}}}Db}{{b{b{c}}}Db{}}0000000{{{b{BMn}}}c{}}0{{{b{ADf}}{b{AfEb}}}Eh}{{{b{BMb}}{b{AfEb}}}Eh}{{{b{BM`}}{b{AfEb}}}Eh}{cc{}}00{{{b{c}}{b{e}}}Cd{GdGf}Gh}0{{{b{ADf}}{b{Afc}}}fGj}{{{b{BM`}}{b{Afc}}}fGj}{{}{{b{Cj}}}}{{{b{BMn}}}Cd}{{}Ch}00{{{b{AfBN`}}c{b{{ADn{ecg}}}}}{{Kb{f}}}{}{}{}}{{}c{}}00{{{b{BNb}}{b{c}}}e{}{}}`{{}{{Cl{HbHd}}}}00{{{b{BNb}}{b{c}}}Ch{}}`{{{AE`{BNd}}}BMl}{{{b{BMl}}}c{}}{{{b{BMn}}}{{AE`{c}}}{}}{{{b{ADf}}{b{ADf}}}{{n{Ob}}}}{{{b{BM`}}{b{BM`}}}{{n{Ob}}}}`{{{b{BMl}}}Cd}{b}00`{{{b{BMn}}}c{}}`0{{{b{ADf}}c}ClJj}{{{b{BM`}}c}ClJj}`{{}{{b{Cj}}}}{{{b{BMn}}}Cd}`{bc{}}00{{{b{BNb}}{b{c}}{b{e}}}{{n{{El{gi}}}}}{}{}{}{}}`{{}Ch}{c{{Cl{e}}}{}{}}00{{}{{Cl{c}}}{}}00{bJl}00```{{}c{}}00`{{{b{BL`}}}Cd}","D":"EJ`","p":[[1,"reference"],[5,"Private",4525],[1,"unit"],[10,"Error",4526],[6,"Error",0,4527],[5,"Backtrace",4528],[6,"Option",4529],[6,"QueryError",0],[5,"Leaf",0,4530],[10,"NodeType",4531],[0,"mut"],[5,"NotFoundSnafu",0],[5,"MissingSnafu",0],[5,"ErrorSnafu",0],[5,"String",4532],[10,"Into",4533],[5,"StatusCode",4534],[10,"Clone",4535],[5,"ApiState",0],[5,"Commitment",4536],[5,"UpgradeLock",4537],[10,"Versions",4531],[10,"Resolvable",0,4538],[10,"Committable",4536],[10,"RngCore",4539],[1,"u64"],[5,"Options",0],[1,"usize"],[1,"str"],[6,"Result",4540],[10,"Deserializer",4541],[5,"With",4542],[1,"bool"],[5,"UpgradeProposalData",4543],[5,"UpgradeThreshold",4544],[5,"SimpleCertificate",4544],[5,"RwLock",4545],[5,"Arc",4546],[5,"Error",4547],[6,"BlockError",4530],[5,"Formatter",4548],[5,"Error",4548],[10,"Debug",4548],[8,"Result",4548],[6,"Error",3889],[1,"tuple"],[6,"Error",316],[6,"Error",2236],[6,"Error",3528],[6,"Error",4229],[6,"TimestampConversionError",2236,4549],[6,"Error",4550],[1,"never"],[5,"OwnedFd",4551],[10,"IntoFilelike",4552],[10,"IntoSocketlike",4552],[5,"QuorumProposal",4530],[10,"Hash",4553],[10,"Sized",4554],[10,"BuildHasher",4553],[10,"Hasher",4553],[10,"Display",4548],[5,"QuorumData",4543],[5,"SuccessThreshold",4544],[5,"Layout",4555],[5,"LayoutError",4555],[5,"DynGuard",4556],[10,"Future",4557],[5,"Box",4558],[5,"Pin",4559],[10,"Send",4554],[10,"Sync",4554],[17,"Output"],[8,"BoxFuture",4560],[10,"FnOnce",4561],[5,"SystemContextHandle",4562],[10,"AvailabilityDataSource",316,4563],[10,"UpdateDataSource",1169,4564],[10,"NodeDataSource",3889,4565],[10,"StatusDataSource",4229,4566],[10,"VersionedDataSource",1169,4564],[10,"NodeImplementation",4531],[10,"StaticVersionType",4567],[10,"Serialize",4568],[10,"Serializer",4568],[5,"TypeId",4569],[10,"UpdateAvailabilityData",316,4563],[5,"BlockInfo",316,4563],[8,"Result",4570],[5,"InconsistentLeafError",316,4571],[5,"LeafQueryData",316,4571],[8,"BlockHash",316,4571],[5,"PayloadQueryData",316,4571],[5,"VidCommonQueryData",316,4571],[5,"TransactionQueryData",316,4571],[5,"FetchLeafSnafu",316],[5,"FetchBlockSnafu",316],[5,"FetchTransactionSnafu",316],[5,"InvalidTransactionIndexSnafu",316],[5,"RangeLimitSnafu",316],[5,"CustomSnafu",316],[17,"TransactionIndex"],[17,"Iter"],[17,"InclusionProof"],[10,"QueryablePayload",316,4571],[10,"PartialEq",4572],[10,"Eq",4572],[10,"Ord",4572],[10,"DeserializeOwned",4541],[17,"Item"],[10,"Iterator",4573],[6,"LeafId",316,4563],[6,"BlockId",316,4563],[5,"BlockQueryData",316,4571],[5,"BlockSummaryQueryData",316,4571],[5,"TransactionSummaryQueryData",316,4571],[5,"PayloadMetadata",316,4571],[5,"VidCommonMetadata",316,4571],[5,"Limits",316,4571],[5,"RequestSnafu",316],[6,"Ordering",4572],[8,"VidCommon",0,4574],[6,"Fetch",316,4575],[10,"ErrorCompat",4576],[17,"Source"],[5,"NoneError",4576],[10,"IntoError",4576],[8,"Payload",0],[5,"Options",316],[5,"Api",4577],[6,"ApiError",4577],[10,"ReadState",4578],[8,"TransactionIndex",316,4571],[8,"Transaction",0],[8,"LeafHash",316,4571],[6,"RequestError",4579],[8,"Result",4550],[10,"RangeBounds",4580],[6,"Bound",4580],[8,"TransactionHash",316,4571],[8,"VidCommitment",0,4574],[8,"Header",0],[8,"Metadata",0],[8,"VidShare",0,4574],[8,"QuorumCertificate",0,4544],[8,"TransactionInclusionProof",316,4571],[10,"QueryableHeader",316,4571],[5,"Duration",4581],[5,"ExtensibleDataSource",1169,4582],[5,"MetricsDataSource",1169,4583],[10,"Transaction",1169,4564],[6,"BlockIdentifier",2236,4549],[10,"ExplorerDataSource",2236,4584],[5,"GetBlockSummariesRequest",2236,4549],[6,"WindowStart",3889,4565],[10,"MerklizedStateHeightPersistence",3528,4585],[6,"Snapshot",3528,4585],[10,"MerklizedState",3528,4585],[10,"MerklizedStateDataSource",3528,4585],[5,"TaggedBase64",4586],[6,"TransactionIdentifier",2236,4549],[5,"GetTransactionSummariesRequest",2236,4549],[5,"MockTypes",4388],[5,"Event",4587],[10,"TestableDataSource",4348],[10,"Default",4588],[5,"MerkleProof",4589],[5,"Vec",4590],[10,"UpdateStateData",3528,4585],[5,"PrometheusMetrics",3645],[10,"HasMetrics",4229,4566],[10,"Metrics",4591],[17,"Transaction"],[17,"ReadOnly"],[5,"FetchingDataSource",1297],[10,"AvailabilityProvider",1297],[5,"Builder",1297],[10,"PruneStorage",1774],[5,"Pruner",1297],[8,"Config",1444],[8,"Builder",1444],[5,"Error",1820,4570],[5,"Path",4592],[5,"FileSystemStorage",1681],[5,"AtomicStoreLoader",4593],[1,"f64"],[8,"FileSystemDataSource",1424],[8,"SqlDataSource",1444],[10,"AggregatesStorage",1461],[10,"NodeStorage",1461],[5,"Aggregate",1461],[10,"AvailabilityStorage",1461],[10,"ExplorerStorage",1461],[10,"MerklizedStateHeightStorage",1461],[10,"MerklizedStateStorage",1461],[10,"UpdateAvailabilityStorage",1461],[10,"UpdateAggregatesStorage",1461],[1,"slice"],[5,"Transaction",1537],[6,"FailableAction",1537],[5,"FailStorage",1537],[5,"PrunerCfg",1774],[10,"PrunerConfig",1774],[10,"PrunedHeightStorage",1774],[5,"Transaction",1681],[10,"Revert",1681],[17,"Target"],[5,"FileSystemStorageInner",1681],[10,"Deref",4594],[5,"RwLockWriteGuard",4545],[5,"RwLockReadGuard",4545],[6,"PersistenceError",4595],[17,"Pruner"],[1,"u16"],[5,"Transaction",1820,4596],[10,"TransactionMode",1820,4596],[1,"i32"],[5,"OffsetDateTime",4597],[5,"Migration",1820,4598],[5,"Config",1820],[10,"Params",1820,4596],[8,"Db",1820,4599],[5,"Separated",4600],[5,"QueryBuilder",1820,4601],[8,"QueryResult",0],[10,"Encode",4602],[10,"Type",4603],[10,"IntoIterator",4604],[5,"Chain",4570],[5,"Write",1820,4596],[5,"Read",1820,4596],[5,"SqlStorage",1820],[5,"PathBuf",4592],[5,"Pruner",1820],[17,"Database"],[10,"Executor",1820,4605],[10,"Database",1820,4606],[10,"Execute",4605],[10,"Stream",4607],[5,"Sqlite",1820,4608],[5,"FmtValue",4609],[5,"SqliteConnectOptions",4610],[1,"u32"],[5,"Pool",4611],[6,"Type",4598],[8,"Query",1820,4596],[8,"QueryAs",1820,4596],[10,"FromRow",4612],[5,"TestArgs",4613],[5,"Error",4614],[1,"array"],[5,"TmpDb",2198],[5,"MonetaryValue",2236,4615],[1,"i128"],[5,"CurrencyMismatchError",2236,4616],[5,"InvalidCurrencyCodeError",2236,4616],[6,"CurrencyCode",2236,4616],[5,"BlockRange",2236,4549],[5,"TransactionRange",2236,4549],[5,"Timestamp",2236,4549],[6,"GetBlockDetailError",2236,4549],[6,"GetBlockSummariesError",2236,4549],[6,"GetTransactionDetailError",2236,4549],[6,"GetTransactionSummariesError",2236,4549],[6,"GetExplorerSummaryError",2236,4549],[6,"GetSearchResultsError",2236,4549],[5,"BlockDetail",2236,4549],[5,"BlockSummary",2236,4549],[5,"FeeAttribution",2236,4549],[5,"TransactionDetail",2236,4549],[5,"TransactionSummary",2236,4549],[6,"TransactionSummaryFilter",2236,4549],[5,"GenesisOverview",2236,4549],[5,"ExplorerHistograms",2236,4549],[5,"ExplorerSummary",2236,4549],[5,"SearchResult",2236,4549],[5,"BlockDetailResponse",2236],[5,"BlockSummaryResponse",2236],[5,"TransactionDetailResponse",2236],[5,"TransactionSummariesResponse",2236],[5,"ExplorerSummaryResponse",2236],[5,"SearchResultResponse",2236],[17,"BalanceAmount"],[17,"WalletAddress"],[17,"ProposerId"],[17,"NamespaceId"],[10,"ExplorerHeader",2236,4617],[5,"TryFromIntError",4618],[5,"ComponentRange",4619],[6,"Resettable",4620],[10,"ExplorerTransaction",2236,4617],[5,"Fetcher",3292],[5,"Semaphore",4621],[8,"ExponentialBackoff",4622],[10,"LocalCallback",3292],[10,"Callback",3292],[10,"Request",3434],[10,"Provider",3324],[5,"TestProvider",3324,4623],[5,"AnyProvider",3324,4624],[5,"QueryServiceProvider",3324,4625],[5,"NoFetching",3324],[5,"VidCommonRequest",3434],[5,"LeafRequest",3434],[5,"PayloadRequest",3434],[5,"Url",4626],[8,"QcHash",316,4571],[5,"Options",3528],[17,"Key"],[17,"Entry"],[17,"T"],[17,"Commit"],[17,"Digest"],[10,"Index",4627],[10,"ToTraversalPath",4627],[10,"FromStr",4628],[10,"CanonicalSerialize",4629],[10,"CanonicalDeserialize",4629],[10,"Element",4627],[10,"NodeValue",4627],[10,"MerkleCommitment",4627],[10,"TryFrom",4533],[10,"DigestAlgorithm",4627],[5,"Counter",3645],[5,"Histogram",3645],[6,"MetricsError",3645],[5,"Gauge",3645],[5,"CounterFamily",3645],[5,"GaugeFamily",3645],[5,"HistogramFamily",3645],[5,"TextFamily",3645],[10,"CounterFamily",4591],[10,"Counter",4591],[10,"Gauge",4591],[10,"Histogram",4591],[6,"Error",4630],[10,"GaugeFamily",4591],[10,"AsRef",4533],[10,"HistogramFamily",4591],[10,"TextFamily",4591],[1,"i64"],[5,"CustomSnafu",3889],[5,"SyncStatus",3889,4631],[5,"TimeWindowQueryData",3889,4631],[5,"Limits",3889,4631],[5,"RequestSnafu",3889],[5,"QuerySnafu",3889],[5,"QueryVidSnafu",3889],[5,"QueryWindowSnafu",3889],[5,"Options",3889],[10,"Deserialize",4541],[10,"HeightIndexed",4523],[5,"Options",4229],[10,"UpdateStatusData",4229,4566],[5,"BackgroundTask",4301],[5,"Task",4301],[5,"JoinError",4632],[5,"MockNetwork",4348],[10,"DataSourceLifeCycle",4348],[5,"MockNodeImpl",4388],[5,"MockVersions",4388],[17,"Storage"],[8,"BLSPubKey",4633],[5,"HotShotConfig",4634],[8,"SignatureKey",0],[8,"MockTransaction",4388],[8,"MockHeader",4388],[8,"MockMerkleTree",4388],[8,"MockPayload",4388],[1,"u8"],[15,"Custom",308],[15,"Availability",308],[15,"Node",308],[15,"Status",308],[15,"MerklizedState",308],[15,"Explorer",308],[15,"Error",315],[15,"RangeLimit",1158],[15,"InvalidTransactionIndex",1158],[15,"Custom",1158],[15,"FetchLeaf",1158],[15,"FetchBlock",1158],[15,"FetchTransaction",1158],[15,"Request",1158],[5,"TestMerkleTreeMigration",2198],[15,"Custom",3641],[15,"Request",3641],[15,"Query",3641],[15,"NoSuchMetric",3885],[15,"NoSuchSubgroup",3885],[15,"Prometheus",3885],[15,"QueryVid",4220],[15,"QueryWindow",4220],[15,"Custom",4220],[15,"Request",4220],[15,"Query",4220],[15,"Internal",4299],[15,"Request",4299],[8,"MockQuorumProposal",4388],[8,"MockStorage",4388],[8,"MockAuctionResults",4388]],"r":[[4,4527],[9,4530],[22,4544],[23,4538],[27,4574],[28,4574],[29,4574],[316,4563],[317,4571],[318,4563],[319,4563],[320,4571],[321,4571],[325,4575],[330,4563],[336,4571],[340,4571],[341,4563],[342,4571],[343,4571],[348,4571],[349,4571],[351,4571],[352,4571],[353,4571],[359,4571],[360,4571],[361,4571],[362,4571],[364,4571],[365,4571],[366,4563],[367,4571],[368,4571],[1169,1297],[1170,4582],[1171,1297],[1172,1424],[1173,4583],[1175,1444],[1176,4564],[1178,4564],[1179,4564],[1425,1681],[1446,4570],[1447,4598],[1449,4596],[1456,0],[1459,2198],[1465,1537],[1466,1681],[1470,1820],[1825,4606],[1827,4599],[1828,4570],[1829,4605],[1830,4596],[1831,4598],[1833,4596],[1835,4596],[1836,4596],[1837,4601],[1839,4596],[1842,4608],[1844,4596],[1846,4596],[1851,4596],[1891,4596],[2054,4635],[2055,0],[2123,4596],[2125,4596],[2140,4599],[2196,4636],[2197,4636],[2236,4549],[2239,4549],[2241,4549],[2242,4549],[2244,4549],[2245,4549],[2250,4616],[2251,4616],[2256,4584],[2257,4617],[2258,4549],[2259,4549],[2261,4617],[2262,4549],[2266,4549],[2268,4549],[2271,4549],[2273,4549],[2275,4549],[2277,4549],[2279,4549],[2281,4549],[2283,4549],[2289,4616],[2296,4615],[2300,4549],[2309,4549],[2314,4549],[2315,4549],[2318,4549],[2320,4549],[2321,4549],[2323,4549],[2325,4549],[2326,4549],[2334,4549],[3295,3324],[3296,3434],[3324,4624],[3327,4625],[3328,4623],[3536,4585],[3537,4585],[3538,4585],[3542,4585],[3544,4585],[3889,4571],[3890,4563],[3896,4631],[3897,4565],[3907,4631],[3909,4631],[3910,4565],[4230,4566],[4234,4566],[4235,4566]],"b":[[94,"impl-Committable-for-Leaf%3CTYPES%3E"],[95,"impl-Leaf%3CTYPES%3E"],[153,"impl-Display-for-Leaf%3CTYPES%3E"],[154,"impl-Debug-for-Leaf%3CTYPES%3E"],[155,"impl-Display-for-Error"],[156,"impl-Debug-for-Error"],[160,"impl-Display-for-QueryError"],[161,"impl-Debug-for-QueryError"],[164,"impl-From%3CError%3E-for-Error"],[165,"impl-From%3C(String,+StatusCode)%3E-for-Error"],[166,"impl-From%3CError%3E-for-Error"],[168,"impl-From%3CError%3E-for-Error"],[169,"impl-From%3CError%3E-for-Error"],[170,"impl-From%3CError%3E-for-Error"],[174,"impl-From%3CTimestampConversionError%3E-for-QueryError"],[175,"impl-From%3CError%3E-for-QueryError"],[178,"impl-From%3CD%3E-for-ApiState%3CD%3E"],[179,"impl-From%3CArc%3CD%3E%3E-for-ApiState%3CD%3E"],[720,"impl-Display-for-LeafId%3CTypes%3E"],[721,"impl-Debug-for-LeafId%3CTypes%3E"],[722,"impl-Display-for-BlockId%3CTypes%3E"],[723,"impl-Debug-for-BlockId%3CTypes%3E"],[726,"impl-Display-for-InconsistentLeafError%3CTypes%3E"],[727,"impl-Debug-for-InconsistentLeafError%3CTypes%3E"],[745,"impl-Display-for-Error"],[746,"impl-Debug-for-Error"],[748,"impl-From%3CCommitment%3CLeaf%3CTypes%3E%3E%3E-for-LeafId%3CTypes%3E"],[749,"impl-From%3Cusize%3E-for-LeafId%3CTypes%3E"],[751,"impl-From%3CCommitment%3C%3CTypes+as+NodeType%3E::BlockHeader%3E%3E-for-BlockId%3CTypes%3E"],[753,"impl-From%3Cusize%3E-for-BlockId%3CTypes%3E"],[780,"impl-From%3C(String,+StatusCode)%3E-for-Error"],[781,"impl-From%3CRequestError%3E-for-Error"],[1186,"impl-NodeDataSource%3CTypes%3E-for-ExtensibleDataSource%3CD,+U%3E"],[1187,"impl-StatusDataSource-for-ExtensibleDataSource%3CD,+U%3E"],[1305,"impl-StatusDataSource-for-FetchingDataSource%3CTypes,+S,+P%3E"],[1306,"impl-NodeDataSource%3CTypes%3E-for-FetchingDataSource%3CTypes,+S,+P%3E"],[1427,"impl-FetchingDataSource%3CTypes,+FileSystemStorage%3CTypes%3E,+P%3E"],[1428,"impl-DataSourceLifeCycle-for-FetchingDataSource%3CMockTypes,+FileSystemStorage%3CMockTypes%3E,+P%3E"],[1452,"impl-FetchingDataSource%3CTypes,+SqlStorage,+P%3E"],[1453,"impl-DataSourceLifeCycle-for-FetchingDataSource%3CMockTypes,+SqlStorage,+P%3E"],[1693,"impl-Transaction-for-Transaction%3CRwLockWriteGuard%3C\'a,+FileSystemStorageInner%3CTypes%3E%3E%3E"],[1694,"impl-Transaction-for-Transaction%3CRwLockReadGuard%3C\'a,+FileSystemStorageInner%3CTypes%3E%3E%3E"],[1755,"impl-Transaction-for-Transaction%3CRwLockWriteGuard%3C\'a,+FileSystemStorageInner%3CTypes%3E%3E%3E"],[1756,"impl-Transaction-for-Transaction%3CRwLockReadGuard%3C\'a,+FileSystemStorageInner%3CTypes%3E%3E%3E"],[1861,"impl-AsRef%3Cdyn+Error+%2B+Send+%2B+Sync%3E-for-Error"],[1862,"impl-AsRef%3Cdyn+Error%3E-for-Error"],[2000,"impl-Debug-for-Error"],[2001,"impl-Display-for-Error"],[2002,"impl-Display-for-Migration"],[2003,"impl-Debug-for-Migration"],[2762,"impl-Display-for-CurrencyMismatchError"],[2763,"impl-Debug-for-CurrencyMismatchError"],[2764,"impl-Display-for-InvalidCurrencyCodeError"],[2765,"impl-Debug-for-InvalidCurrencyCodeError"],[2766,"impl-Display-for-CurrencyCode"],[2767,"impl-Debug-for-CurrencyCode"],[2768,"impl-Debug-for-MonetaryValue"],[2769,"impl-Display-for-MonetaryValue"],[2770,"impl-Debug-for-BlockIdentifier%3CTypes%3E"],[2771,"impl-Display-for-BlockIdentifier%3CTypes%3E"],[2772,"impl-Debug-for-TransactionIdentifier%3CTypes%3E"],[2773,"impl-Display-for-TransactionIdentifier%3CTypes%3E"],[2779,"impl-Display-for-TimestampConversionError"],[2780,"impl-Debug-for-TimestampConversionError"],[2791,"impl-Display-for-GetBlockDetailError"],[2792,"impl-Debug-for-GetBlockDetailError"],[2793,"impl-Display-for-GetBlockSummariesError"],[2794,"impl-Debug-for-GetBlockSummariesError"],[2795,"impl-Debug-for-GetTransactionDetailError"],[2796,"impl-Display-for-GetTransactionDetailError"],[2797,"impl-Display-for-GetTransactionSummariesError"],[2798,"impl-Debug-for-GetTransactionSummariesError"],[2799,"impl-Display-for-GetExplorerSummaryError"],[2800,"impl-Debug-for-GetExplorerSummaryError"],[2801,"impl-Display-for-GetSearchResultsError"],[2802,"impl-Debug-for-GetSearchResultsError"],[2803,"impl-Display-for-Error"],[2804,"impl-Debug-for-Error"],[2823,"impl-From%3CTryFromIntError%3E-for-TimestampConversionError"],[2824,"impl-From%3CComponentRange%3E-for-TimestampConversionError"],[2836,"impl-From%3CQueryError%3E-for-GetBlockDetailError"],[2837,"impl-From%3CError%3E-for-GetBlockDetailError"],[2839,"impl-From%3CError%3E-for-GetBlockSummariesError"],[2840,"impl-From%3CQueryError%3E-for-GetBlockSummariesError"],[2842,"impl-From%3CError%3E-for-GetTransactionDetailError"],[2843,"impl-From%3CQueryError%3E-for-GetTransactionDetailError"],[2844,"impl-From%3CTimestampConversionError%3E-for-GetTransactionDetailError"],[2846,"impl-From%3CQueryError%3E-for-GetTransactionSummariesError"],[2848,"impl-From%3CError%3E-for-GetTransactionSummariesError"],[2849,"impl-From%3CQueryError%3E-for-GetExplorerSummaryError"],[2850,"impl-From%3CGetTransactionSummariesError%3E-for-GetExplorerSummaryError"],[2851,"impl-From%3CGetBlockDetailError%3E-for-GetExplorerSummaryError"],[2852,"impl-From%3CGetBlockSummariesError%3E-for-GetExplorerSummaryError"],[2854,"impl-From%3CError%3E-for-GetExplorerSummaryError"],[2856,"impl-From%3CQueryError%3E-for-GetSearchResultsError"],[2857,"impl-From%3CError%3E-for-GetSearchResultsError"],[3374,"impl-Provider%3CTypes,+VidCommonRequest%3E-for-AnyProvider%3CTypes%3E"],[3375,"impl-Provider%3CTypes,+LeafRequest%3CTypes%3E%3E-for-AnyProvider%3CTypes%3E"],[3376,"impl-Provider%3CTypes,+PayloadRequest%3E-for-AnyProvider%3CTypes%3E"],[3377,"impl-Provider%3CTypes,+PayloadRequest%3E-for-QueryServiceProvider%3CVer%3E"],[3378,"impl-Provider%3CTypes,+LeafRequest%3CTypes%3E%3E-for-QueryServiceProvider%3CVer%3E"],[3379,"impl-Provider%3CTypes,+VidCommonRequest%3E-for-QueryServiceProvider%3CVer%3E"],[3589,"impl-Debug-for-Snapshot%3CTypes,+T,+ARITY%3E"],[3590,"impl-Display-for-Snapshot%3CTypes,+T,+ARITY%3E"],[3591,"impl-Display-for-Error"],[3592,"impl-Debug-for-Error"],[3595,"impl-From%3CQueryError%3E-for-Error"],[3597,"impl-From%3C(String,+StatusCode)%3E-for-Error"],[3598,"impl-From%3CRequestError%3E-for-Error"],[3762,"impl-Display-for-MetricsError"],[3763,"impl-Debug-for-MetricsError"],[3782,"impl-PrometheusMetrics"],[3783,"impl-Metrics-for-PrometheusMetrics"],[4067,"impl-Display-for-Error"],[4068,"impl-Debug-for-Error"],[4081,"impl-From%3CRequestError%3E-for-Error"],[4082,"impl-From%3CQueryError%3E-for-Error"],[4084,"impl-From%3C(String,+StatusCode)%3E-for-Error"],[4268,"impl-Display-for-Error"],[4269,"impl-Debug-for-Error"],[4271,"impl-From%3CString%3E-for-Error"],[4273,"impl-From%3CRequestError%3E-for-Error"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAN0OMgECAAEABQAAAAgAAQALAAEADwAAABMAAwAZAAEAHwAGACcABQAuAAIANAAPAEcAGABiAAEAZgAsAJoACQClAAIAqQACAK8AAQCzAAEAtgAEALwAAAC+AAEAwgANANgAAgDcAAkA5wABAOoAAADtAAkA+AACAPwAAQD/AAIAAwEaAB8BCAAtAQ8APwEAAEEBAgBFAQAARwEAAEkBAABLAQEATgEBAFEBAQBVAQcAXgEDAGMBAABlAQEAaAEDAG0BAgBxARcAigELAJcBAQCaAS8A0gFIABwCbQCMAjwA0QIaAO0CAQDwAgAA8gIAAPQCAAD5AgAA/AIAAAADAQANAxoAKQMKADUDDwBGAxkAeAMHAIIDAACFAwAAhwMaAKMDAQCmAwIAqgMBALIDIQDXAwEA2gMQAOwDKgAZBAAAHQQAACEELwBSBDIAhwQLAJQEAQCXBAEAnQQEAKMEGwDABAEAxAQgAOcEAADqBAQA8AQAAPIEAwD3BAUA/wQIAAkFAwAOBQMAFQUMACQFBQArBQAALgUIADkFBABBBR4AYwUDAGoFBQBxBRAAkAUAAJIFAQCVBQAAlwUAAJoFAACcBQoAqgUAAK4FAgCyBQUAugUCAL4FBADEBQwA0gUAANQFAQDXBQAA2gUJAOUFAADoBQgA8gUAAPQFBQD7BQMAAAYBAAUGQgBJBgAASwYAAE0GGwBsBiUAkwYNAKMGEAC3BhQAzwYEANYGBwDfBhUA9gYKAAIHAgAHBwEACwcCAA8HAAARBwsAIAcAACMHAAArBwIAPQcGAEYHAQBJBwMATgcUAGQHAABmBwAAaQcTAIEHCACLByQAswcQANAHDQDfBwAA5wcAAOoHDAD4BwwACQgNACIICQAtCAEAMAgAADcIDABFCAAATAgAAE4IAABQCAAAUggBAFUIAgBZCCsAhggBAIkIHgCqCAIArwgOAL8IAADDCAEAyAgCAM4IAgDYCAIA3AgAAN4IAQDhCAAA4wgAAOUIAADnCAAA6QgAAOsIAADtCAQA8wgFAPwIAQD/CAYACAkCAA0JAQASCQEAGAkHACEJEAAzCWcAnAk2ANQJSwAhCgQAJwqaAMQKAQDICgIAzAoAAM4KAADQCgEA0wooAAgLAQAVCwEAGAsBABsLAgAfCwAAIQsEACcLAAApCwEALQsAAC8LAAAxCwAAMwsAADYLAwBACysAjwspALwLCADGCyIA6gsCAO4LAwD0CwAA9wsWAA8MEQAiDJUAuQwjAOAMDADuDAAA8AwCAPUMAQD4DAQAAg0DAAcNJQAvDQsAPw0DAEcNGQBjDQMAcA0xAKQNAACmDQkAsw0dANMNAwDYDQAA2g0qAAYOAwAMDgAADg4FABUOAwAdDgkAKA4EAC4ODwBEDgMASg5zAMgOBQDUDgkA5w5NADYPBgA+DwAAQA8AAEIPAABEDwEARw8nAHAPZwDaDwwA8g8BAPUPEAAREC8AQhA5AH0QLgCtEAEAsBAAALIQAgC3EBYA0BASAOUQAQDqEAMA8BARAAMRCwAQEQQAFhEEABwRCQAnEQ0ANxEFAD4RLQBvEQkAfBEAAH4RAwCDEQQAiREDAI4RAACQEQIAlBEBAJcRAwCcEQkAqRECAK0RAAA="}]]')); if (typeof exports !== 'undefined') exports.searchIndex = searchIndex; else if (window.initSearch) window.initSearch(searchIndex); -//{"start":39,"fragment_lengths":[110229]} \ No newline at end of file +//{"start":39,"fragment_lengths":[110327]} \ No newline at end of file diff --git a/search.desc/hotshot_query_service/hotshot_query_service-desc-0-.js b/search.desc/hotshot_query_service/hotshot_query_service-desc-0-.js index 38135588..c416cb96 100644 --- a/search.desc/hotshot_query_service/hotshot_query_service-desc-0-.js +++ b/search.desc/hotshot_query_service/hotshot_query_service-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("hotshot_query_service", 0, "The HotShot Query Service is a minimal, generic query …\nRead-only wrapper for API state which does not require …\nContains the error value\nThere was an error while trying to fetch the requested …\nSNAFU context selector for the QueryError::Error variant\nThis is the consensus-internal analogous concept to a …\nThe requested resource exists but is not currently …\nSNAFU context selector for the QueryError::Missing variant\nThe requested resource does not exist or is not known to …\nSNAFU context selector for the QueryError::NotFound variant\nContains the success value\nType alias for a QuorumCertificate, which is a …\nA reference to a T which can be resolved into a whole T.\nItem within a Payload.\nVID commitment type\nVID common type\nVID share type\nphantom data for THRESHOLD and TYPES\nQueries for HotShot chain state.\nThe block header contained in this leaf.\nGet a mutable reference to the block header contained in …\nOptional block payload.\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nCalculate the leaf commitment, which is gated on the …\nGet a commitment to the underlying object.\nThe data this certificate is for. I.e the thing that was …\nPersistent storage and sources of data consumed by APIs.\nValidate that a leaf has the right upgrade certificate to …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nFetching missing data from remote providers.\nFill this leaf with the block payload.\nFill this leaf with the block payload, without checking …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstructs a leaf from a given quorum proposal.\nCreate a new leaf from its components.\nHeight of this leaf in the chain.\nEmbed migrations from the given directory into the current …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe QC linking this leaf to its parent in the chain.\nApi for querying merklized state\nA node’s view of a HotShot chain\nCommitment to this leaf’s parent.\nA commitment to the block payload contained in this leaf.\nRun an instance of the HotShot Query service with no …\nassembled signature for certificate aggregation\nQueries for node-specific state and uncommitted data.\nAsync task utilites.\nGet the underlying object if it is available without …\nCommon functionality provided by types used in this crate.\nTake the block payload from the leaf and return it if it …\nThe QC linking this leaf to its parent in the chain.\nTime when this leaf was created.\nWhich view this QC relates to\nAn interface for querying a HotShot blockchain.\nA block hash is the hash of the block header.\nInformation about a block.\nSNAFU context selector for the Error::Custom variant\nAn in-progress request to fetch some data.\nSNAFU context selector for the Error::FetchBlock variant\nSNAFU context selector for the Error::FetchLeaf variant\nSNAFU context selector for the Error::FetchTransaction …\nA proof that a certain transaction exists in the block.\nSNAFU context selector for the …\nEnumerate the transactions in this block.\nA summary of a payload without all the data.\nA block payload whose contents (e.g. individual …\nSNAFU context selector for the Error::RangeLimit variant\nSNAFU context selector for the Error::Request variant\nAn index which can be used to efficiently retrieve a …\nA summary of a VID payload without all the data.\nAppend information about a new block to the database.\nThe hash of the block containing this transaction.\nThe height of the block containing this transaction.\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nGet the index of the transaction with a given hash, if it …\nGet the index of the transaction with a given hash, if it …\nConvert this Fetch to a Result with the provided error …\nEnumerate the transactions in the block with their indices.\nEnumerate the transactions in the block with their indices.\nAdditional API specification files to merge with …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nTimeout for failing requests due to missing data.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the transaction with the given hash.\nThe hash of this transaction.\nThe (0-based) position of this transaction within its …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nWhether this block is empty of transactions.\nWhether this block is empty of transactions.\nDoes this fetch represent an unresolved query?\nList the transaction indices in the block.\nThe maximum number of large objects which can be loaded in …\nThe number of transactions in the block.\nTransform the result of this fetch.\nCollect information about a Leaf.\nGet the index of the nth transaction.\nGet the index of the nth transaction.\nGet the nth transaction.\nGet the nth transaction.\nGet the nth transaction, along with an inclusion proof.\nGet the nth transaction, along with an inclusion proof.\nGet an inclusion proof for a transaction with a given …\nGet an inclusion proof for a transaction with a given …\nA proof of inclusion of this transaction in its block.\nWait for the data to become available, if it is not …\nThe maximum number of small objects which can be loaded in …\nGet a transaction by its block-specific index.\nGet a transaction by its block-specific index.\nThe underlying transaction data.\nGet the transaction with a given hash, if it is in the …\nGet the transaction with a given hash, if it is in the …\nGet the transaction with a given hash, if it is in the …\nGet the transaction with a given hash, if it is in the …\nGet a transaction by its block-specific index, along with …\nGet the requested data if it is available immediately.\nConvert this Fetch to a Result with the provided error …\nWait for the requested data to become available, but only …\nWrapper to add extensibility to an existing data source.\nA minimal data source for the status API provided in this …\nA unit of atomicity for updating a shared data sourec.\nA transaction which can read and modify the data source.\nAn extension trait for types which implement the update …\nA data source with an atomic transaction-based …\nGeneric tests we can instantiate for all the availability …\nAsynchronous retrieval of missing data.\nReturns the argument unchanged.\nReturns the argument unchanged.\nAccess the underlying data source.\nMutably access the underlying data source.\nCalls U::from(self).\nCalls U::from(self).\nGeneric tests we can instantiate for all the node data …\nGeneric tests we can instantiate for any data source with …\nStart a read-only transaction on the data source.\nGeneric tests we can instantiate for all the status data …\nPersistent storage for data sources.\nUpdate query state based on a new consensus event.\nStart an atomic transaction on the data source.\nA provider which can be used as a fetcher by the …\nBuilder for FetchingDataSource with configuration.\nThe most basic kind of data source.\nBuild a FetchingDataSource with these options.\nBuild a FetchingDataSource with the given storage and …\nConnect to a remote database.\nCreate a new FileSystemDataSource with storage at path.\nCreate a new FileSystemDataSource using a persistent …\nRun without an aggregator.\nRun without proactive fetching.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nConstruct a new builder with the given storage and fetcher …\nOpen an existing FileSystemDataSource from storage at path.\nOpen an existing FileSystemDataSource using a persistent …\nAdvance the version of the persistent store without …\nAdd a delay between active fetches in proactive scans.\nSet the number of items to process at a time when …\nAdds a delay between chunk fetches during proactive scans.\nSet the interval (denominated in minor scans) between …\nSet the offset (denominated in minor scans) before the …\nSet the maximum delay between retries of failed operations.\nSet the minimum delay between retries of failed operations.\nSet the time interval between minor proactive fetching …\nSet the number of items to process at a time when scanning …\nSet the number of items to process at a time when loading …\nSet the maximum number of simultaneous fetches.\nSet the multiplier for exponential backoff when retrying …\nSet the randomization factor for randomized backoff when …\nSet the maximum time to retry failed operations before …\nA data source for the APIs provided in this crate, backed …\nCreate a new FileSystemDataSource with storage at path.\nCreate a new FileSystemDataSource using a persistent …\nOpen an existing FileSystemDataSource from storage at path.\nOpen an existing FileSystemDataSource using a persistent …\nAdvance the version of the persistent store without …\nThe Error type, a wrapper around a dynamic error type.\nRepresents a schema migration to be run on the database, …\nA data source for the APIs provided in this crate, backed …\nConnect to the database, setting options on the underlying …\nConnect to the database with this config.\nConnect to a remote database.\nEmbed migrations from the given directory into the current …\nPersistent storage for a HotShot blockchain.\nAn interface for querying Data and Statistics from the …\nThis trait defines methods that a data source should …\nThe block height for which aggregate statistics are …\nGet the first leaf which is available in the database with …\nReturns the argument unchanged.\nget_block_detail is a method that retrieves the details of …\nget_block_summaries is a method that retrieves a list of …\nget_explorer_summary is a method that retrieves a summary …\nget_search_results is a method that retrieves the results …\nget_transaction_detail is a method that retrieves the …\nget_transaction_summaries is a method that retrieves a …\nCalls U::from(self).\nthe last aggregate\nSearch the database for missing objects and generate a …\nUpdate aggregate statistics based on a new block.\nTarget any action for failure.\nStorage wrapper for error injection.\nA specific action that can be targetted to inject an error.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nStorage for the APIs provided in this crate, backed by a …\nCreate a new FileSystemStorage with storage at path.\nCreate a new FileSystemStorage using a persistent storage …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nOpen an existing FileSystemStorage from storage at path.\nOpen an existing FileSystemStorage using a persistent …\nAdvance the version of the persistent store without …\nNumber of blocks to remove in a single pruning operation.\nReturns the argument unchanged.\nPruning interval\nCalls U::from(self).\nMaximum disk usage (in basis points).\nMinimum data retention period\nDisk space threshold (in bytes).\nTarget data retention period\nThe concrete type used as a buffer for arguments while …\nThe concrete Arguments implementation for this database.\nThe concrete Column implementation for this database.\nThe concrete Connection implementation for this database.\nA database driver.\nThe underlying database type for a SQL data source.\nThe Error type, a wrapper around a dynamic error type.\nA type that contains or can provide a database connection …\nA collection of parameters with a statically known length.\nRepresents a schema migration to be run on the database, …\nThe display name for this database driver.\nA collection of parameters which can be bound to a SQL …\nHelper type for programatically constructing queries.\nThe concrete QueryResult implementation for this database.\nMarker type indicating a transaction with read-only access …\nThe concrete Row implementation for this database.\nStorage for the APIs provided in this crate, backed by a …\nSqlite database driver.\nThe concrete Statement implementation for this database.\nAn atomic SQL transaction.\nThe concrete TransactionManager implementation for this …\nTrait for marker types indicating what type of access a …\nThe concrete TypeInfo implementation for this database.\nThe schemes for database URLs that should match this …\nThe concrete type used to hold an owned copy of the …\nThe concrete type used to hold a reference to the …\nMarker type indicating a transaction with read-write …\nGet the timestamp from when the Migration was applied. None…\nDisable pruning and reconstruct previously pruned data.\nGet the backtrace for this Error.\nAdd an argument and return its name as a formal parameter …\nConvert range bounds to a SQL WHERE clause constraining a …\nConnect to the database, setting options on the underlying …\nAn iterator of the chain of source errors contained by …\nGet the Migration checksum. Checksum is formed from the …\nConnect to the database with this config.\nConnect to a remote database.\nSet the maximum lifetime of a connection.\nWrap the error value with additional context.\nThe migrations requied to build the default schema for …\nAttempt to downcast the error object to a concrete type.\nDowncast this error object by mutable reference.\nDowncast this error object by reference.\nExecute the query and return the total number of rows …\nExecute the query and return the total number of rows …\nExecute multiple queries and return the rows affected from …\nExecute multiple queries and return the rows affected from …\nExecute the query and return the generated results as a …\nExecute the query and return the generated results as a …\nExecute the query and return all the generated results, …\nExecute the query and return all the generated results, …\nExecute multiple queries and return the generated results …\nExecute the query and returns exactly one row.\nExecute the query and returns exactly one row.\nExecute the query and returns at most one row.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nRetreives a Merkle path from the database\nConstruct a SQL WHERE clause which filters for a header …\nSet the maximum idle time of a connection.\nEmbed the contents of a directory in your crate.\nEmbed migrations from the given directory into the current …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns true if E is the type held by this error object.\nLoad a header from storage.\nSet the maximum number of connections to maintain at any …\nAdd custom migrations to run when connecting to the …\nSet the minimum number of connections to maintain at any …\nCreate a new error object from a printable error message.\nGet the Migration Name\nCreate a new error object from any error type.\nSkip all migrations when connecting to the database.\nSets the database connection pool This allows reusing an …\nGet the Prefix\nPrepare the SQL query to inspect the type information of …\nPrepare the SQL query to inspect the type information of …\nPrepare the SQL query, with parameter type information, to …\nNote: The prune operation may not immediately free up …\nEnable pruning with a given configuration.\nFinalize the query with a constructed SQL statement.\nFinalize the query with a constructed SQL statement and a …\nReset the schema on connection.\nThe lowest level cause of this error — this error’s …\nLog at WARN level any time a SQL statement takes longer …\nCreate an unapplied migration, name and version are parsed …\nGet the Migration version\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nBalanceAmount is a type that represents a general balance …\nBlockDetail is a struct that represents the details of a …\nBlockDetailResponse is a struct that represents the …\nBlockIdentifier is an enum that represents multiple ways …\nBlockRange is a struct that represents a range for a …\nBlockSummary is a struct that represents a summary …\nBlockSummaryResponse is a struct that represents the …\nCurrencyCode represents an enumeration of all …\nCurrencyMismatchError is an error that occurs when two …\nError is an enum that represents the various errors that …\nAn interface for querying Data and Statistics from the …\nExplorerHeader is a trait that represents certain …\nExplorerHistograms provides a series of data points that …\nExplorerSummary is a struct that represents an at-a-glance …\nExplorerSummaryResponse is a struct that represents the …\nExplorerTransaction is a trait that allows the Explorer …\nFeeAttribution represents a specific attribution of fees …\nGenesisOverview provides a summary overview of the block …\nGetBlockDetailError represents an error that has occurred …\nGetBlockSummariesError represents an error that has …\nGetBlockSummariesRequest is a struct that represents an …\nGetExplorerSummaryError represents an error that has …\nGetSearchResultsError represents an error that has …\nGetTransactionDetailError represents an error that has …\nGetTransactionSummariesError represents an error that has …\nGetTransactionSummariesRequest is a struct that represents …\nInvalidCurrencyCodeError is an error that occurs when an …\nMonetaryValues is a struct that paris a CurrencyCode with …\nNamespaceId is a type that represents the id of a …\nNamespaceId is a type that represents the id of a …\nProposerId is a type that represents the proposer id of …\nSearchResult is a struct that represents the results of …\nSearchResultResponse is a struct that represents the …\nTimestamp represents a specific point in time that has a …\nTimestampConversionError represents an error that has …\nTransactionDetail is a struct that represents the details …\nTransactionDetailResponse is a struct that represents the …\nTransactionIdentifier is an enum that represents multiple …\nTransactionRange is a struct that represents a range for a …\nTransactionSummariesResponse is a struct that represents …\nTransactionSummary is a struct that represents a summary …\nTransactionSummaryFilter represents the various filters …\nWalletAddress is a type that represents the address of a …\nadd attempts to add the two MonetaryValues together. This …\nbtc is a convenience function to create a MonetaryValue …\ndefine_api is a function that defines the API endpoints …\ndeserialize attempts to convert a string into a …\ndeserialize converts a string representation of a RFC3339 …\nesp is a convenience function to create a MonetaryValue …\neth is a convenience function to create a MonetaryValue …\nThe wallet address of the fee info account contained …\nThe balance amount of the fee info contained within the …\nfmt formats the error into a human readable string\nfmt formats the error into a human readable string\nfmt formats the currency code into a human readable string\nfmt formats the MonetaryValue into a human readable …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nfrom converts an i128 into a MonetaryValue with the USD …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nget_block_detail is a method that retrieves the details of …\nget_block_summaries is a method that retrieves a list of …\nget_explorer_summary is a method that retrieves a summary …\nget_search_results is a method that retrieves the results …\nget_transaction_detail is a method that retrieves the …\nget_transaction_summaries is a method that retrieves a …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nA collection of namespace ids that are contained within …\nnew creates a new MonetaryValue instance with the given …\nThe proposer id of the block as stored within the block …\nThe balance amount of the reward for constructing the …\nserialize converts the error into a struct representation\nserialize converts the error into a struct representation\nserialize converts the MonetaryValue into a String …\nserialize converts the timestamp into a string …\nsignificant_digits represents the total number of …\nsub attempts to subtract the two MonetaryValues together. …\nusd is a convenience function to create a MonetaryValue …\nA callback to process the result of a request.\nManagement of concurrent requests to fetch resources.\nA callback to process the result of a request.\nReturns the argument unchanged.\nCalls U::from(self).\nAsynchronous fetching from external data availability …\nRequests for fetching resources.\nFetch a resource, if it is not already being fetched.\nAdaptor combining multiple data availability providers.\nTrivial Provider where fetching always fails.\nA provider which is able to satisfy requests for data of …\nData availability provider backed by another instance of …\nAdaptor to add test-only functionality to an existing …\nDelay fetch requests until unblock.\nCause subsequent requests to fail.\nFetch a resource.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nAllow blocked fetch requests to proceed.\nStop requests from failing as a result of a previous call …\nAdd a sub-provider which fetches blocks.\nAdd a sub-provider which fetches leaves.\nAdd a sub-provider which fetches both blocks and leaves.\nAdd a sub-provider which fetches VID common data.\nA request for a leaf with a given height.\nA request for a payload with a given commitment.\nA request for a resource.\nThe type of resource that will be returned as a successful …\nA request for VID common data.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThis trait should be implemented by the MerkleTree that …\nThis trait defines methods that a data source should …\nSnapshot can be queried by block height (index) or merkle …\nThis trait defines methods for updating the storage with …\nAdditional API specification files to merge with …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nRetrieves the field in the header containing the Merkle …\nInsert a forgotten path into the tree.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nRetrieves the name of the state being queried.\nGet the height of the tree\nA Counter metric.\nA CounterFamily metric.\nA Gauge metric.\nA GaugeFamily metric.\nA Histogram metric.\nA HistogramFamily metric.\nA Prometheus-based implementation of a Metrics registry.\nA TextFamily metric.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a gauge family in this sub-group by name.\nGet a counter in this sub-group by name.\nGet a counter family in this sub-group by name.\nGet a gauge in this sub-group by name.\nGet a histogram in this sub-group by name.\nGet a histogram family in this sub-group by name.\nGet a (possibly nested) subgroup of this group by its path.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nSNAFU context selector for the Error::Custom variant\nSNAFU context selector for the Error::Query variant\nSNAFU context selector for the Error::QueryVid variant\nSNAFU context selector for the Error::QueryWindow variant\nSNAFU context selector for the Error::Request variant\nResponse to a /:resource/window query.\nConsume the selector and return the associated error\nAdditional API specification files to merge with …\nConsume the selector and return a Result with the …\nReturns the argument unchanged.\nReturns the argument unchanged.\nThe block height of the block that starts the window.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nSearch the database for missing objects and generate a …\nThe maximum number of headers which can be loaded in a …\nAdditional API specification files to merge with …\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nA background task which is cancelled on Drop\nA task handle which can be joined, but is cancelled on Drop\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nWait for the task to complete and get its output.\nSpawn a background task, which will be cancelled when …\nSpawn a task, which will be cancelled when dropped.\nBacking storage for the data source.\nReturns the argument unchanged.\nCalls U::from(self).\nSetup runs after setting up the network but before …\nA type alias for the mock base version\nThe block header to append\nBlock number.\nFast commitment for builder verification\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nPer spec, justification\nblock metadata\nVID commitment to the payload.\nPossible timeout or view sync certificate.\nrandom\nshould_return_err is a testing utility to validate …\nTimestamp when this header was created.\nList of transactions.\nPossible upgrade certificate, which the leader may …\nThe URL of the builder to reach out to.\nCurView from leader when proposing leaf\nTypes which have a notion of “height” within a chain.") \ No newline at end of file +searchState.loadedDescShard("hotshot_query_service", 0, "The HotShot Query Service is a minimal, generic query …\nRead-only wrapper for API state which does not require …\nContains the error value\nThere was an error while trying to fetch the requested …\nSNAFU context selector for the QueryError::Error variant\nThis is the consensus-internal analogous concept to a …\nThe requested resource exists but is not currently …\nSNAFU context selector for the QueryError::Missing variant\nThe requested resource does not exist or is not known to …\nSNAFU context selector for the QueryError::NotFound variant\nContains the success value\nType alias for a QuorumCertificate, which is a …\nA reference to a T which can be resolved into a whole T.\nItem within a Payload.\nVID commitment type\nVID common type\nVID share type\nphantom data for THRESHOLD and TYPES\nQueries for HotShot chain state.\nThe block header contained in this leaf.\nGet a mutable reference to the block header contained in …\nOptional block payload.\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nCalculate the leaf commitment, which is gated on the …\nGet a commitment to the underlying object.\nThe data this certificate is for. I.e the thing that was …\nPersistent storage and sources of data consumed by APIs.\nValidate that a leaf has the right upgrade certificate to …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nFetching missing data from remote providers.\nFill this leaf with the block payload.\nFill this leaf with the block payload, without checking …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstructs a leaf from a given quorum proposal.\nCreate a new leaf from its components.\nHeight of this leaf in the chain.\nEmbed migrations from the given directory into the current …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe QC linking this leaf to its parent in the chain.\nApi for querying merklized state\nA node’s view of a HotShot chain\nCommitment to this leaf’s parent.\nA commitment to the block payload contained in this leaf.\nRun an instance of the HotShot Query service with no …\nassembled signature for certificate aggregation\nQueries for node-specific state and uncommitted data.\nAsync task utilites.\nGet the underlying object if it is available without …\nCommon functionality provided by types used in this crate.\nTake the block payload from the leaf and return it if it …\nThe QC linking this leaf to its parent in the chain.\nTime when this leaf was created.\nWhich view this QC relates to\nAn interface for querying a HotShot blockchain.\nA block hash is the hash of the block header.\nInformation about a block.\nSNAFU context selector for the Error::Custom variant\nAn in-progress request to fetch some data.\nSNAFU context selector for the Error::FetchBlock variant\nSNAFU context selector for the Error::FetchLeaf variant\nSNAFU context selector for the Error::FetchTransaction …\nA proof that a certain transaction exists in the block.\nSNAFU context selector for the …\nEnumerate the transactions in this block.\nA summary of a payload without all the data.\nA block payload whose contents (e.g. individual …\nSNAFU context selector for the Error::RangeLimit variant\nSNAFU context selector for the Error::Request variant\nAn index which can be used to efficiently retrieve a …\nA summary of a VID payload without all the data.\nAppend information about a new block to the database.\nThe hash of the block containing this transaction.\nThe height of the block containing this transaction.\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nConsume the selector and return the associated error\nGet the index of the transaction with a given hash, if it …\nGet the index of the transaction with a given hash, if it …\nConvert this Fetch to a Result with the provided error …\nEnumerate the transactions in the block with their indices.\nEnumerate the transactions in the block with their indices.\nAdditional API specification files to merge with …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nConsume the selector and return a Result with the …\nTimeout for failing requests due to missing data.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the transaction with the given hash.\nThe hash of this transaction.\nThe (0-based) position of this transaction within its …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nWhether this block is empty of transactions.\nWhether this block is empty of transactions.\nDoes this fetch represent an unresolved query?\nList the transaction indices in the block.\nThe maximum number of large objects which can be loaded in …\nThe number of transactions in the block.\nTransform the result of this fetch.\nCollect information about a Leaf.\nGet the index of the nth transaction.\nGet the index of the nth transaction.\nGet the nth transaction.\nGet the nth transaction.\nGet the nth transaction, along with an inclusion proof.\nGet the nth transaction, along with an inclusion proof.\nGet an inclusion proof for a transaction with a given …\nGet an inclusion proof for a transaction with a given …\nA proof of inclusion of this transaction in its block.\nWait for the data to become available, if it is not …\nThe maximum number of small objects which can be loaded in …\nGet a transaction by its block-specific index.\nGet a transaction by its block-specific index.\nThe underlying transaction data.\nGet the transaction with a given hash, if it is in the …\nGet the transaction with a given hash, if it is in the …\nGet the transaction with a given hash, if it is in the …\nGet the transaction with a given hash, if it is in the …\nGet a transaction by its block-specific index, along with …\nGet the requested data if it is available immediately.\nConvert this Fetch to a Result with the provided error …\nWait for the requested data to become available, but only …\nWrapper to add extensibility to an existing data source.\nA minimal data source for the status API provided in this …\nA unit of atomicity for updating a shared data sourec.\nA transaction which can read and modify the data source.\nAn extension trait for types which implement the update …\nA data source with an atomic transaction-based …\nGeneric tests we can instantiate for all the availability …\nAsynchronous retrieval of missing data.\nReturns the argument unchanged.\nReturns the argument unchanged.\nAccess the underlying data source.\nMutably access the underlying data source.\nCalls U::from(self).\nCalls U::from(self).\nGeneric tests we can instantiate for all the node data …\nGeneric tests we can instantiate for any data source with …\nStart a read-only transaction on the data source.\nGeneric tests we can instantiate for all the status data …\nPersistent storage for data sources.\nUpdate query state based on a new consensus event.\nStart an atomic transaction on the data source.\nA provider which can be used as a fetcher by the …\nBuilder for FetchingDataSource with configuration.\nThe most basic kind of data source.\nBuild a FetchingDataSource with these options.\nBuild a FetchingDataSource with the given storage and …\nConnect to a remote database.\nCreate a new FileSystemDataSource with storage at path.\nCreate a new FileSystemDataSource using a persistent …\nRun without an aggregator.\nRun without proactive fetching.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nConstruct a new builder with the given storage and fetcher …\nOpen an existing FileSystemDataSource from storage at path.\nOpen an existing FileSystemDataSource using a persistent …\nAdvance the version of the persistent store without …\nAdd a delay between active fetches in proactive scans.\nSet the number of items to process at a time when …\nAdds a delay between chunk fetches during proactive scans.\nSet the interval (denominated in minor scans) between …\nSet the offset (denominated in minor scans) before the …\nSet the maximum delay between retries of failed operations.\nSet the minimum delay between retries of failed operations.\nSet the time interval between minor proactive fetching …\nSet the number of items to process at a time when scanning …\nSet the number of items to process at a time when loading …\nSet the maximum number of simultaneous fetches.\nSet the multiplier for exponential backoff when retrying …\nSet the randomization factor for randomized backoff when …\nSet the maximum time to retry failed operations before …\nA data source for the APIs provided in this crate, backed …\nCreate a new FileSystemDataSource with storage at path.\nCreate a new FileSystemDataSource using a persistent …\nOpen an existing FileSystemDataSource from storage at path.\nOpen an existing FileSystemDataSource using a persistent …\nAdvance the version of the persistent store without …\nThe Error type, a wrapper around a dynamic error type.\nRepresents a schema migration to be run on the database, …\nA data source for the APIs provided in this crate, backed …\nConnect to the database, setting options on the underlying …\nConnect to the database with this config.\nConnect to a remote database.\nEmbed migrations from the given directory into the current …\nPersistent storage for a HotShot blockchain.\nAn interface for querying Data and Statistics from the …\nThis trait defines methods that a data source should …\nThe block height for which aggregate statistics are …\nGet the first leaf which is available in the database with …\nReturns the argument unchanged.\nget_block_detail is a method that retrieves the details of …\nget_block_summaries is a method that retrieves a list of …\nget_explorer_summary is a method that retrieves a summary …\nget_search_results is a method that retrieves the results …\nget_transaction_detail is a method that retrieves the …\nget_transaction_summaries is a method that retrieves a …\nCalls U::from(self).\nthe last aggregate\nSearch the database for missing objects and generate a …\nUpdate aggregate statistics based on a new block.\nTarget any action for failure.\nStorage wrapper for error injection.\nA specific action that can be targetted to inject an error.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nStorage for the APIs provided in this crate, backed by a …\nCreate a new FileSystemStorage with storage at path.\nCreate a new FileSystemStorage using a persistent storage …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nOpen an existing FileSystemStorage from storage at path.\nOpen an existing FileSystemStorage using a persistent …\nAdvance the version of the persistent store without …\nNumber of blocks to remove in a single pruning operation.\nReturns the argument unchanged.\nPruning interval\nCalls U::from(self).\nMaximum disk usage (in basis points).\nMinimum data retention period\nDisk space threshold (in bytes).\nTarget data retention period\nThe concrete type used as a buffer for arguments while …\nThe concrete Arguments implementation for this database.\nThe concrete Column implementation for this database.\nThe concrete Connection implementation for this database.\nA database driver.\nThe underlying database type for a SQL data source.\nThe Error type, a wrapper around a dynamic error type.\nA type that contains or can provide a database connection …\nA collection of parameters with a statically known length.\nRepresents a schema migration to be run on the database, …\nThe display name for this database driver.\nA collection of parameters which can be bound to a SQL …\nHelper type for programatically constructing queries.\nThe concrete QueryResult implementation for this database.\nMarker type indicating a transaction with read-only access …\nThe concrete Row implementation for this database.\nStorage for the APIs provided in this crate, backed by a …\nSqlite database driver.\nThe concrete Statement implementation for this database.\nAn atomic SQL transaction.\nThe concrete TransactionManager implementation for this …\nTrait for marker types indicating what type of access a …\nThe concrete TypeInfo implementation for this database.\nThe schemes for database URLs that should match this …\nThe concrete type used to hold an owned copy of the …\nThe concrete type used to hold a reference to the …\nMarker type indicating a transaction with read-write …\nGet the timestamp from when the Migration was applied. None…\nDisable pruning and reconstruct previously pruned data.\nGet the backtrace for this Error.\nAdd an argument and return its name as a formal parameter …\nConvert range bounds to a SQL WHERE clause constraining a …\nConnect to the database, setting options on the underlying …\nAn iterator of the chain of source errors contained by …\nGet the Migration checksum. Checksum is formed from the …\nConnect to the database with this config.\nConnect to a remote database.\nSet the maximum lifetime of a connection.\nWrap the error value with additional context.\nThe migrations requied to build the default schema for …\nAttempt to downcast the error object to a concrete type.\nDowncast this error object by mutable reference.\nDowncast this error object by reference.\nExecute the query and return the total number of rows …\nExecute the query and return the total number of rows …\nExecute multiple queries and return the rows affected from …\nExecute multiple queries and return the rows affected from …\nExecute the query and return the generated results as a …\nExecute the query and return the generated results as a …\nExecute the query and return all the generated results, …\nExecute the query and return all the generated results, …\nExecute multiple queries and return the generated results …\nExecute the query and returns exactly one row.\nExecute the query and returns exactly one row.\nExecute the query and returns at most one row.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nRetreives a Merkle path from the database\nConstruct a SQL WHERE clause which filters for a header …\nSet the maximum idle time of a connection.\nEmbed the contents of a directory in your crate.\nEmbed migrations from the given directory into the current …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns true if E is the type held by this error object.\nLoad a header from storage.\nSet the maximum number of connections to maintain at any …\nAdd custom migrations to run when connecting to the …\nSet the minimum number of connections to maintain at any …\nCreate a new error object from a printable error message.\nGet the Migration Name\nCreate a new error object from any error type.\nSkip all migrations when connecting to the database.\nSets the database connection pool This allows reusing an …\nGet the Prefix\nPrepare the SQL query to inspect the type information of …\nPrepare the SQL query to inspect the type information of …\nPrepare the SQL query, with parameter type information, to …\nNote: The prune operation may not immediately free up …\nEnable pruning with a given configuration.\nFinalize the query with a constructed SQL statement.\nFinalize the query with a constructed SQL statement and a …\nReset the schema on connection.\nThe lowest level cause of this error — this error’s …\nLog at WARN level any time a SQL statement takes longer …\nCreate an unapplied migration, name and version are parsed …\nGet the Migration version\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nBalanceAmount is a type that represents a general balance …\nBlockDetail is a struct that represents the details of a …\nBlockDetailResponse is a struct that represents the …\nBlockIdentifier is an enum that represents multiple ways …\nBlockRange is a struct that represents a range for a …\nBlockSummary is a struct that represents a summary …\nBlockSummaryResponse is a struct that represents the …\nCurrencyCode represents an enumeration of all …\nCurrencyMismatchError is an error that occurs when two …\nError is an enum that represents the various errors that …\nAn interface for querying Data and Statistics from the …\nExplorerHeader is a trait that represents certain …\nExplorerHistograms provides a series of data points that …\nExplorerSummary is a struct that represents an at-a-glance …\nExplorerSummaryResponse is a struct that represents the …\nExplorerTransaction is a trait that allows the Explorer …\nFeeAttribution represents a specific attribution of fees …\nGenesisOverview provides a summary overview of the block …\nGetBlockDetailError represents an error that has occurred …\nGetBlockSummariesError represents an error that has …\nGetBlockSummariesRequest is a struct that represents an …\nGetExplorerSummaryError represents an error that has …\nGetSearchResultsError represents an error that has …\nGetTransactionDetailError represents an error that has …\nGetTransactionSummariesError represents an error that has …\nGetTransactionSummariesRequest is a struct that represents …\nInvalidCurrencyCodeError is an error that occurs when an …\nMonetaryValues is a struct that paris a CurrencyCode with …\nNamespaceId is a type that represents the id of a …\nNamespaceId is a type that represents the id of a …\nProposerId is a type that represents the proposer id of …\nSearchResult is a struct that represents the results of …\nSearchResultResponse is a struct that represents the …\nTimestamp represents a specific point in time that has a …\nTimestampConversionError represents an error that has …\nTransactionDetail is a struct that represents the details …\nTransactionDetailResponse is a struct that represents the …\nTransactionIdentifier is an enum that represents multiple …\nTransactionRange is a struct that represents a range for a …\nTransactionSummariesResponse is a struct that represents …\nTransactionSummary is a struct that represents a summary …\nTransactionSummaryFilter represents the various filters …\nWalletAddress is a type that represents the address of a …\nadd attempts to add the two MonetaryValues together. This …\nbtc is a convenience function to create a MonetaryValue …\ndefine_api is a function that defines the API endpoints …\ndeserialize attempts to convert a string into a …\ndeserialize converts a string representation of a RFC3339 …\nesp is a convenience function to create a MonetaryValue …\neth is a convenience function to create a MonetaryValue …\nThe wallet address of the fee info account contained …\nThe balance amount of the fee info contained within the …\nfmt formats the error into a human readable string\nfmt formats the error into a human readable string\nfmt formats the currency code into a human readable string\nfmt formats the MonetaryValue into a human readable …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nfrom converts an i128 into a MonetaryValue with the USD …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nget_block_detail is a method that retrieves the details of …\nget_block_summaries is a method that retrieves a list of …\nget_explorer_summary is a method that retrieves a summary …\nget_search_results is a method that retrieves the results …\nget_transaction_detail is a method that retrieves the …\nget_transaction_summaries is a method that retrieves a …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nnamespace_id returns the namespace id of the individual …\nA collection of namespace ids that are contained within …\nnew creates a new MonetaryValue instance with the given …\npayload_size returns the size of the payload of the …\nThe proposer id of the block as stored within the block …\nThe balance amount of the reward for constructing the …\nserialize converts the error into a struct representation\nserialize converts the error into a struct representation\nserialize converts the MonetaryValue into a String …\nserialize converts the timestamp into a string …\nsignificant_digits represents the total number of …\nsub attempts to subtract the two MonetaryValues together. …\nusd is a convenience function to create a MonetaryValue …\nA callback to process the result of a request.\nManagement of concurrent requests to fetch resources.\nA callback to process the result of a request.\nReturns the argument unchanged.\nCalls U::from(self).\nAsynchronous fetching from external data availability …\nRequests for fetching resources.\nFetch a resource, if it is not already being fetched.\nAdaptor combining multiple data availability providers.\nTrivial Provider where fetching always fails.\nA provider which is able to satisfy requests for data of …\nData availability provider backed by another instance of …\nAdaptor to add test-only functionality to an existing …\nDelay fetch requests until unblock.\nCause subsequent requests to fail.\nFetch a resource.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nAllow blocked fetch requests to proceed.\nStop requests from failing as a result of a previous call …\nAdd a sub-provider which fetches blocks.\nAdd a sub-provider which fetches leaves.\nAdd a sub-provider which fetches both blocks and leaves.\nAdd a sub-provider which fetches VID common data.\nA request for a leaf with a given height.\nA request for a payload with a given commitment.\nA request for a resource.\nThe type of resource that will be returned as a successful …\nA request for VID common data.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThis trait should be implemented by the MerkleTree that …\nThis trait defines methods that a data source should …\nSnapshot can be queried by block height (index) or merkle …\nThis trait defines methods for updating the storage with …\nAdditional API specification files to merge with …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nRetrieves the field in the header containing the Merkle …\nInsert a forgotten path into the tree.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nRetrieves the name of the state being queried.\nGet the height of the tree\nA Counter metric.\nA CounterFamily metric.\nA Gauge metric.\nA GaugeFamily metric.\nA Histogram metric.\nA HistogramFamily metric.\nA Prometheus-based implementation of a Metrics registry.\nA TextFamily metric.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a gauge family in this sub-group by name.\nGet a counter in this sub-group by name.\nGet a counter family in this sub-group by name.\nGet a gauge in this sub-group by name.\nGet a histogram in this sub-group by name.\nGet a histogram family in this sub-group by name.\nGet a (possibly nested) subgroup of this group by its path.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nSNAFU context selector for the Error::Custom variant\nSNAFU context selector for the Error::Query variant\nSNAFU context selector for the Error::QueryVid variant\nSNAFU context selector for the Error::QueryWindow variant\nSNAFU context selector for the Error::Request variant\nResponse to a /:resource/window query.\nConsume the selector and return the associated error\nAdditional API specification files to merge with …\nConsume the selector and return a Result with the …\nReturns the argument unchanged.\nReturns the argument unchanged.\nThe block height of the block that starts the window.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nSearch the database for missing objects and generate a …\nThe maximum number of headers which can be loaded in a …\nAdditional API specification files to merge with …\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nA background task which is cancelled on Drop\nA task handle which can be joined, but is cancelled on Drop\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nWait for the task to complete and get its output.\nSpawn a background task, which will be cancelled when …\nSpawn a task, which will be cancelled when dropped.\nBacking storage for the data source.\nReturns the argument unchanged.\nCalls U::from(self).\nSetup runs after setting up the network but before …\nA type alias for the mock base version\nThe block header to append\nBlock number.\nFast commitment for builder verification\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nPer spec, justification\nblock metadata\nVID commitment to the payload.\nPossible timeout or view sync certificate.\nrandom\nshould_return_err is a testing utility to validate …\nTimestamp when this header was created.\nList of transactions.\nPossible upgrade certificate, which the leader may …\nThe URL of the builder to reach out to.\nCurView from leader when proposing leaf\nTypes which have a notion of “height” within a chain.") \ No newline at end of file diff --git a/src/hotshot_query_service/data_source/storage/sql/queries/explorer.rs.html b/src/hotshot_query_service/data_source/storage/sql/queries/explorer.rs.html index ca455004..7e1ef088 100644 --- a/src/hotshot_query_service/data_source/storage/sql/queries/explorer.rs.html +++ b/src/hotshot_query_service/data_source/storage/sql/queries/explorer.rs.html @@ -574,7 +574,79 @@ 573 574 575 -576

    // Copyright (c) 2022 Espresso Systems (espressosys.com)
    +576
    +577
    +578
    +579
    +580
    +581
    +582
    +583
    +584
    +585
    +586
    +587
    +588
    +589
    +590
    +591
    +592
    +593
    +594
    +595
    +596
    +597
    +598
    +599
    +600
    +601
    +602
    +603
    +604
    +605
    +606
    +607
    +608
    +609
    +610
    +611
    +612
    +613
    +614
    +615
    +616
    +617
    +618
    +619
    +620
    +621
    +622
    +623
    +624
    +625
    +626
    +627
    +628
    +629
    +630
    +631
    +632
    +633
    +634
    +635
    +636
    +637
    +638
    +639
    +640
    +641
    +642
    +643
    +644
    +645
    +646
    +647
    +648
    // Copyright (c) 2022 Espresso Systems (espressosys.com)
     // This file is part of the HotShot Query Service library.
     //
     // This program is free software: you can redistribute it and/or modify it under the terms of the GNU
    @@ -590,7 +662,7 @@
     
     use super::{
         super::transaction::{query, Transaction, TransactionMode},
    -    Database, Db, DecodeError, QueryBuilder, BLOCK_COLUMNS,
    +    Database, Db, DecodeError, BLOCK_COLUMNS,
     };
     use crate::{
         availability::{BlockQueryData, QueryableHeader, QueryablePayload, TransactionIndex},
    @@ -615,7 +687,7 @@
     use hotshot_types::traits::node_implementation::NodeType;
     use itertools::Itertools;
     use sqlx::{types::Json, FromRow, Row};
    -use std::num::NonZeroUsize;
    +use std::{collections::VecDeque, num::NonZeroUsize};
     use tagged_base64::{Tagged, TaggedBase64};
     
     impl From<sqlx::Error> for GetExplorerSummaryError {
    @@ -681,6 +753,164 @@
         }
     }
     
    +lazy_static::lazy_static! {
    +    static ref GET_BLOCK_SUMMARIES_QUERY_FOR_LATEST: String = {
    +        format!(
    +            "SELECT {BLOCK_COLUMNS}
    +                FROM header AS h
    +                JOIN payload AS p ON h.height = p.height
    +                ORDER BY h.height DESC
    +                LIMIT $1"
    +            )
    +    };
    +
    +    static ref GET_BLOCK_SUMMARIES_QUERY_FOR_HEIGHT: String = {
    +        format!(
    +            "SELECT {BLOCK_COLUMNS}
    +                FROM header AS h
    +                JOIN payload AS p ON h.height = p.height
    +                WHERE h.height <= $1
    +                ORDER BY h.height DESC
    +                LIMIT $2"
    +        )
    +    };
    +
    +    // We want to match the blocks starting with the given hash, and working backwards
    +    // until we have returned up to the number of requested blocks.  The hash for a
    +    // block should be unique, so we should just need to start with identifying the
    +    // block height with the given hash, and return all blocks with a height less than
    +    // or equal to that height, up to the number of requested blocks.
    +    static ref GET_BLOCK_SUMMARIES_QUERY_FOR_HASH: String = {
    +        format!(
    +            "SELECT {BLOCK_COLUMNS}
    +                FROM header AS h
    +                JOIN payload AS p ON h.height = p.height
    +                WHERE h.height <= (SELECT h1.height FROM header AS h1 WHERE h1.hash = $1)
    +                ORDER BY h.height DESC
    +                LIMIT $2",
    +        )
    +    };
    +
    +    static ref GET_BLOCK_DETAIL_QUERY_FOR_LATEST: String = {
    +        format!(
    +            "SELECT {BLOCK_COLUMNS}
    +                FROM header AS h
    +                JOIN payload AS p ON h.height = p.height
    +                ORDER BY h.height DESC
    +                LIMIT 1"
    +        )
    +    };
    +
    +    static ref GET_BLOCK_DETAIL_QUERY_FOR_HEIGHT: String = {
    +        format!(
    +            "SELECT {BLOCK_COLUMNS}
    +                FROM header AS h
    +                JOIN payload AS p ON h.height = p.height
    +                WHERE h.height = $1
    +                ORDER BY h.height DESC
    +                LIMIT 1"
    +        )
    +    };
    +
    +    static ref GET_BLOCK_DETAIL_QUERY_FOR_HASH: String = {
    +        format!(
    +            "SELECT {BLOCK_COLUMNS}
    +                FROM header AS h
    +                JOIN payload AS p ON h.height = p.height
    +                WHERE h.hash = $1
    +                ORDER BY h.height DESC
    +                LIMIT 1"
    +        )
    +    };
    +
    +
    +    static ref GET_TRANSACTION_SUMMARIES_QUERY_FOR_NO_FILTER: String = {
    +        format!(
    +            "SELECT {BLOCK_COLUMNS}
    +                FROM header AS h
    +                JOIN payload AS p ON h.height = p.height
    +                WHERE h.height IN (
    +                    SELECT t.block_height
    +                        FROM transactions AS t
    +                        WHERE
    +                            (t.block_height = $1 AND t.idx <= $2)
    +                            OR t.block_height < $1
    +                        ORDER BY t.block_height DESC, t.idx DESC
    +                        LIMIT $3
    +                )
    +                ORDER BY h.height DESC"
    +        )
    +    };
    +
    +    static ref GET_TRANSACTION_SUMMARIES_QUERY_FOR_BLOCK: String = {
    +        format!(
    +            "SELECT {BLOCK_COLUMNS}
    +                FROM header AS h
    +                JOIN payload AS p ON h.height = p.height
    +                WHERE  h.height = $1
    +                ORDER BY h.height DESC"
    +        )
    +    };
    +
    +    static ref GET_TRANSACTION_DETAIL_QUERY_FOR_LATEST: String = {
    +        format!(
    +            "SELECT {BLOCK_COLUMNS}
    +                FROM header AS h
    +                JOIN payload AS p ON h.height = p.height
    +                WHERE h.height = (
    +                    SELECT MAX(t1.block_height)
    +                        FROM transactions AS t1
    +                )
    +                ORDER BY h.height DESC"
    +        )
    +    };
    +
    +    static ref GET_TRANSACTION_DETAIL_QUERY_FOR_HEIGHT_AND_OFFSET: String = {
    +        format!(
    +            "SELECT {BLOCK_COLUMNS}
    +                FROM header AS h
    +                JOIN payload AS p ON h.height = p.height
    +                WHERE h.height = (
    +                    SELECT t1.block_height
    +                        FROM transactions AS t1
    +                        WHERE t1.block_height = $1
    +                        ORDER BY t1.block_height, t1.idx
    +                        OFFSET $2
    +                        LIMIT 1
    +                )
    +                ORDER BY h.height DESC",
    +        )
    +    };
    +
    +    static ref GET_TRANSACTION_DETAIL_QUERY_FOR_HASH: String = {
    +        format!(
    +            "SELECT {BLOCK_COLUMNS}
    +                FROM header AS h
    +                JOIN payload AS p ON h.height = p.height
    +                WHERE h.height = (
    +                    SELECT t1.block_height
    +                        FROM transactions AS t1
    +                        WHERE t1.hash = $1
    +                        ORDER BY t1.block_height DESC, t1.idx DESC
    +                        LIMIT 1
    +                )
    +                ORDER BY h.height DESC"
    +        )
    +    };
    +}
    +
    +/// [EXPLORER_SUMMARY_HISTOGRAM_NUM_ENTRIES] is the number of entries we want
    +/// to return in our histogram summary.
    +const EXPLORER_SUMMARY_HISTOGRAM_NUM_ENTRIES: usize = 50;
    +
    +/// [EXPLORER_SUMMARY_NUM_BLOCKS] is the number of blocks we want to return in
    +/// our explorer summary.
    +const EXPLORER_SUMMARY_NUM_BLOCKS: usize = 10;
    +
    +/// [EXPLORER_SUMMARY_NUM_TRANSACTIONS] is the number of transactions we want
    +/// to return in our explorer summary.
    +const EXPLORER_SUMMARY_NUM_TRANSACTIONS: usize = 10;
    +
     #[async_trait]
     impl<Mode, Types> ExplorerStorage<Types> for Transaction<Mode>
     where
    @@ -697,46 +927,19 @@
         ) -> Result<Vec<BlockSummary<Types>>, GetBlockSummariesError> {
             let request = &request.0;
     
    -        let mut query = QueryBuilder::default();
    -        let sql = match request.target {
    -            BlockIdentifier::Latest => format!(
    -                "SELECT {BLOCK_COLUMNS}
    -                    FROM header AS h
    -                    JOIN payload AS p ON h.height = p.height
    -                    ORDER BY h.height DESC 
    -                    LIMIT {}",
    -                query.bind(request.num_blocks.get() as i64)?,
    -            ),
    -            BlockIdentifier::Height(height) => format!(
    -                "SELECT {BLOCK_COLUMNS}
    -                    FROM header AS h
    -                    JOIN payload AS p ON h.height = p.height
    -                    WHERE h.height <= {}
    -                    ORDER BY h.height DESC 
    -                    LIMIT {}",
    -                query.bind(height as i64)?,
    -                query.bind(request.num_blocks.get() as i64)?,
    -            ),
    -            BlockIdentifier::Hash(hash) => {
    -                // We want to match the blocks starting with the given hash, and working backwards
    -                // until we have returned up to the number of requested blocks.  The hash for a
    -                // block should be unique, so we should just need to start with identifying the
    -                // block height with the given hash, and return all blocks with a height less than
    -                // or equal to that height, up to the number of requested blocks.
    -                format!(
    -                    "SELECT {BLOCK_COLUMNS}
    -                        FROM header AS h
    -                        JOIN payload AS p ON h.height = p.height
    -                        WHERE h.height <= (SELECT h1.height FROM header AS h1 WHERE h1.hash = {})
    -                        ORDER BY h.height DESC 
    -                        LIMIT {}",
    -                    query.bind(hash.to_string())?,
    -                    query.bind(request.num_blocks.get() as i64)?,
    -                )
    +        let query_stmt = match request.target {
    +            BlockIdentifier::Latest => {
    +                query(&GET_BLOCK_SUMMARIES_QUERY_FOR_LATEST).bind(request.num_blocks.get() as i64)
                 }
    +            BlockIdentifier::Height(height) => query(&GET_BLOCK_SUMMARIES_QUERY_FOR_HEIGHT)
    +                .bind(height as i64)
    +                .bind(request.num_blocks.get() as i64),
    +            BlockIdentifier::Hash(hash) => query(&GET_BLOCK_SUMMARIES_QUERY_FOR_HASH)
    +                .bind(hash.to_string())
    +                .bind(request.num_blocks.get() as i64),
             };
     
    -        let row_stream = query.query(&sql).fetch(self.as_mut());
    +        let row_stream = query_stmt.fetch(self.as_mut());
             let result = row_stream.map(|row| BlockSummary::from_row(&row?));
     
             Ok(result.try_collect().await?)
    @@ -746,36 +949,17 @@
             &mut self,
             request: BlockIdentifier<Types>,
         ) -> Result<BlockDetail<Types>, GetBlockDetailError> {
    -        let mut query = QueryBuilder::default();
    -        let sql = match request {
    -            BlockIdentifier::Latest => format!(
    -                "SELECT {BLOCK_COLUMNS}
    -                    FROM header AS h
    -                    JOIN payload AS p ON h.height = p.height
    -                    ORDER BY h.height DESC 
    -                    LIMIT 1"
    -            ),
    -            BlockIdentifier::Height(height) => format!(
    -                "SELECT {BLOCK_COLUMNS}
    -                    FROM header AS h
    -                    JOIN payload AS p ON h.height = p.height
    -                    WHERE h.height = {}
    -                    ORDER BY h.height DESC 
    -                    LIMIT 1",
    -                query.bind(height as i64)?,
    -            ),
    -            BlockIdentifier::Hash(hash) => format!(
    -                "SELECT {BLOCK_COLUMNS}
    -                    FROM header AS h
    -                    JOIN payload AS p ON h.height = p.height
    -                    WHERE h.hash = {}
    -                    ORDER BY h.height DESC 
    -                    LIMIT 1",
    -                query.bind(hash.to_string())?,
    -            ),
    +        let query_stmt = match request {
    +            BlockIdentifier::Latest => query(&GET_BLOCK_DETAIL_QUERY_FOR_LATEST),
    +            BlockIdentifier::Height(height) => {
    +                query(&GET_BLOCK_DETAIL_QUERY_FOR_HEIGHT).bind(height as i64)
    +            }
    +            BlockIdentifier::Hash(hash) => {
    +                query(&GET_BLOCK_DETAIL_QUERY_FOR_HASH).bind(hash.to_string())
    +            }
             };
     
    -        let query_result = query.query(&sql).fetch_one(self.as_mut()).await?;
    +        let query_result = query_stmt.fetch_one(self.as_mut()).await?;
             let block = BlockDetail::from_row(&query_result)?;
     
             Ok(block)
    @@ -829,38 +1013,20 @@
             // transactions from that point.  We then grab only the blocks for those
             // identified transactions, as only those blocks are needed to pull all
             // of the relevant transactions.
    -        let mut query = QueryBuilder::default();
    -        let sql = match filter {
    +        let query_stmt = match filter {
                 TransactionSummaryFilter::RollUp(_) => return Ok(vec![]),
     
    -            TransactionSummaryFilter::None => format!(
    -                "SELECT {BLOCK_COLUMNS}
    -                        FROM header AS h
    -                        JOIN payload AS p ON h.height = p.height
    -                        WHERE h.height IN (
    -                            SELECT t.block_height
    -                                FROM transactions AS t
    -                                WHERE (t.block_height, t.idx) <= ({}, {})
    -                                ORDER BY t.block_height DESC, t.idx DESC
    -                                LIMIT {}
    -                        )
    -                        ORDER BY h.height DESC",
    -                query.bind(block_height as i64)?,
    -                query.bind(transaction_index)?,
    -                query.bind((range.num_transactions.get() + offset) as i64)?,
    -            ),
    +            TransactionSummaryFilter::None => query(&GET_TRANSACTION_SUMMARIES_QUERY_FOR_NO_FILTER)
    +                .bind(block_height as i64)
    +                .bind(transaction_index)
    +                .bind((range.num_transactions.get() + offset) as i64),
     
    -            TransactionSummaryFilter::Block(block) => format!(
    -                "SELECT {BLOCK_COLUMNS}
    -                    FROM header AS h
    -                    JOIN payload AS p ON h.height = p.height
    -                    WHERE  h.height = {}
    -                    ORDER BY h.height DESC",
    -                query.bind(*block as i64)?,
    -            ),
    +            TransactionSummaryFilter::Block(block) => {
    +                query(&GET_TRANSACTION_SUMMARIES_QUERY_FOR_BLOCK).bind(*block as i64)
    +            }
             };
    -        let block_stream = query
    -            .query(&sql)
    +
    +        let block_stream = query_stmt
                 .fetch(self.as_mut())
                 .map(|row| BlockQueryData::from_row(&row?));
     
    @@ -898,6 +1064,7 @@
                         false
                     }
                 })
    +            .take(range.num_transactions.get())
                 .collect::<Vec<TransactionSummary<Types>>>())
         }
     
    @@ -907,51 +1074,19 @@
         ) -> Result<TransactionDetailResponse<Types>, GetTransactionDetailError> {
             let target = request;
     
    -        let mut query = QueryBuilder::default();
    -        let sql = match target {
    -            TransactionIdentifier::Latest => format!(
    -                "SELECT {BLOCK_COLUMNS}
    -                    FROM header AS h
    -                    JOIN payload AS p ON h.height = p.height
    -                    WHERE h.height = (
    -                        SELECT MAX(t1.block_height)
    -                            FROM transactions AS t1
    -                    )
    -                    ORDER BY h.height DESC"
    -            ),
    -            TransactionIdentifier::HeightAndOffset(height, offset) => format!(
    -                "SELECT {BLOCK_COLUMNS}
    -                    FROM header AS h
    -                    JOIN payload AS p ON h.height = p.height
    -                    WHERE h.height = (
    -                        SELECT t1.block_height
    -                            FROM transactions AS t1
    -                            WHERE t1.block_height = {}
    -                            ORDER BY t1.block_height, t1.idx
    -                            OFFSET {}
    -                            LIMIT 1
    -                    )
    -                    ORDER BY h.height DESC",
    -                query.bind(height as i64)?,
    -                query.bind(offset as i64)?,
    -            ),
    -            TransactionIdentifier::Hash(hash) => format!(
    -                "SELECT {BLOCK_COLUMNS}
    -                    FROM header AS h
    -                    JOIN payload AS p ON h.height = p.height
    -                    WHERE h.height = (
    -                        SELECT t1.block_height
    -                            FROM transactions AS t1
    -                            WHERE t1.hash = {}
    -                            ORDER BY t1.block_height DESC, t1.idx DESC
    -                            LIMIT 1
    -                    )
    -                    ORDER BY h.height DESC",
    -                query.bind(hash.to_string())?,
    -            ),
    +        let query_stmt = match target {
    +            TransactionIdentifier::Latest => query(&GET_TRANSACTION_DETAIL_QUERY_FOR_LATEST),
    +            TransactionIdentifier::HeightAndOffset(height, offset) => {
    +                query(&GET_TRANSACTION_DETAIL_QUERY_FOR_HEIGHT_AND_OFFSET)
    +                    .bind(height as i64)
    +                    .bind(offset as i64)
    +            }
    +            TransactionIdentifier::Hash(hash) => {
    +                query(&GET_TRANSACTION_DETAIL_QUERY_FOR_HASH).bind(hash.to_string())
    +            }
             };
     
    -        let query_row = query.query(&sql).fetch_one(self.as_mut()).await?;
    +        let query_row = query_stmt.fetch_one(self.as_mut()).await?;
             let block = BlockQueryData::<Types>::from_row(&query_row)?;
     
             let txns = block.enumerate().map(|(_, txn)| txn).collect::<Vec<_>>();
    @@ -985,7 +1120,7 @@
             &mut self,
         ) -> Result<ExplorerSummary<Types>, GetExplorerSummaryError> {
             let histograms = {
    -            let historgram_query_result = query(
    +            let histogram_query_result = query(
                     "SELECT
                         h.height AS height,
                         h.timestamp AS timestamp,
    @@ -996,13 +1131,14 @@
                     JOIN payload AS p ON
                         p.height = h.height
                     WHERE
    -                    h.height IN (SELECT height FROM header ORDER BY height DESC LIMIT 50)
    -                ORDER BY h.height 
    +                    h.height IN (SELECT height FROM header ORDER BY height DESC LIMIT $1)
    +                ORDER BY h.height
                     ",
                 )
    +            .bind((EXPLORER_SUMMARY_HISTOGRAM_NUM_ENTRIES + 1) as i64)
                 .fetch(self.as_mut());
     
    -            let histograms: Result<ExplorerHistograms, sqlx::Error> = historgram_query_result
    +            let mut histograms: ExplorerHistograms = histogram_query_result
                     .map(|row_stream| {
                         row_stream.map(|row| {
                             let height: i64 = row.try_get("height")?;
    @@ -1016,25 +1152,33 @@
                     })
                     .try_fold(
                         ExplorerHistograms {
    -                        block_time: Vec::with_capacity(50),
    -                        block_size: Vec::with_capacity(50),
    -                        block_transactions: Vec::with_capacity(50),
    -                        block_heights: Vec::with_capacity(50),
    +                        block_time: VecDeque::with_capacity(EXPLORER_SUMMARY_HISTOGRAM_NUM_ENTRIES),
    +                        block_size: VecDeque::with_capacity(EXPLORER_SUMMARY_HISTOGRAM_NUM_ENTRIES),
    +                        block_transactions: VecDeque::with_capacity(EXPLORER_SUMMARY_HISTOGRAM_NUM_ENTRIES),
    +                        block_heights: VecDeque::with_capacity(EXPLORER_SUMMARY_HISTOGRAM_NUM_ENTRIES),
                         },
                         |mut histograms: ExplorerHistograms,
                          row: sqlx::Result<(i64, i64, Option<i64>, Option<i32>, i32)>| async {
                             let (height, _timestamp, time, size, num_transactions) = row?;
    -                        histograms.block_time.push(time.map(|i| i as u64));
    -                        histograms.block_size.push(size.map(|i| i as u64));
    -                        histograms.block_transactions.push(num_transactions as u64);
    -                        histograms.block_heights.push(height as u64);
    +
    +                        histograms.block_time.push_back(time.map(|i| i as u64));
    +                        histograms.block_size.push_back(size.map(|i| i as u64));
    +                        histograms.block_transactions.push_back(num_transactions as u64);
    +                        histograms.block_heights.push_back(height as u64);
                             Ok(histograms)
                         },
                     )
    -                .await;
    +                .await?;
     
    -            histograms?
    -        };
    +            while histograms.block_time.len() > EXPLORER_SUMMARY_HISTOGRAM_NUM_ENTRIES {
    +                histograms.block_time.pop_front();
    +                histograms.block_size.pop_front();
    +                histograms.block_transactions.pop_front();
    +                histograms.block_heights.pop_front();
    +            }
    +
    +            histograms
    +        };
     
             let genesis_overview = {
                 let blocks = NodeStorage::<Types>::block_height(self).await? as u64;
    @@ -1053,7 +1197,7 @@
             let latest_blocks: Vec<BlockSummary<Types>> = self
                 .get_block_summaries(GetBlockSummariesRequest(BlockRange {
                     target: BlockIdentifier::Latest,
    -                num_blocks: NonZeroUsize::new(10).unwrap(),
    +                num_blocks: NonZeroUsize::new(EXPLORER_SUMMARY_NUM_BLOCKS).unwrap(),
                 }))
                 .await?;
     
    @@ -1061,7 +1205,7 @@
                 .get_transaction_summaries(GetTransactionSummariesRequest {
                     range: TransactionRange {
                         target: TransactionIdentifier::Latest,
    -                    num_transactions: NonZeroUsize::new(10).unwrap(),
    +                    num_transactions: NonZeroUsize::new(EXPLORER_SUMMARY_NUM_TRANSACTIONS).unwrap(),
                     },
                     filter: TransactionSummaryFilter::None,
                 })
    diff --git a/src/hotshot_query_service/explorer/query_data.rs.html b/src/hotshot_query_service/explorer/query_data.rs.html
    index 8eb7e04a..439837a4 100644
    --- a/src/hotshot_query_service/explorer/query_data.rs.html
    +++ b/src/hotshot_query_service/explorer/query_data.rs.html
    @@ -896,7 +896,9 @@
     895
     896
     897
    -898

    // Copyright (c) 2022 Espresso Systems (espressosys.com)
    +898
    +899
    +900
    // Copyright (c) 2022 Espresso Systems (espressosys.com)
     // This file is part of the HotShot Query Service library.
     //
     // This program is free software: you can redistribute it and/or modify it under the terms of the GNU
    @@ -921,6 +923,7 @@
     use hotshot_types::traits::node_implementation::NodeType;
     use serde::{Deserialize, Serialize};
     use std::{
    +    collections::VecDeque,
         fmt::{Debug, Display},
         num::{NonZeroUsize, TryFromIntError},
     };
    @@ -1278,6 +1281,7 @@
         BlockQueryData<Types>: HeightIndexed,
         Payload<Types>: QueryablePayload<Types>,
         Header<Types>: QueryableHeader<Types> + ExplorerHeader<Types>,
    +    <Types as NodeType>::Transaction: ExplorerTransaction,
     {
         type Error = TimestampConversionError;
     
    @@ -1297,7 +1301,7 @@
                     block_confirmed: true,
                     offset: offset as u64,
                     num_transactions: block.num_transactions,
    -                size: block.size,
    +                size: transaction.payload_size(),
                     time: Timestamp(time::OffsetDateTime::from_unix_timestamp(seconds)?),
                     sequencing_fees: vec![],
                     fee_details: vec![],
    @@ -1366,10 +1370,10 @@
     /// `block_transactions` for those `block_heights`.
     #[derive(Debug, Serialize, Deserialize)]
     pub struct ExplorerHistograms {
    -    pub block_time: Vec<Option<u64>>,
    -    pub block_size: Vec<Option<u64>>,
    -    pub block_transactions: Vec<u64>,
    -    pub block_heights: Vec<u64>,
    +    pub block_time: VecDeque<Option<u64>>,
    +    pub block_size: VecDeque<Option<u64>>,
    +    pub block_transactions: VecDeque<u64>,
    +    pub block_heights: VecDeque<u64>,
     }
     
     /// [ExplorerSummary] is a struct that represents an at-a-glance snapshot of
    diff --git a/src/hotshot_query_service/explorer/traits.rs.html b/src/hotshot_query_service/explorer/traits.rs.html
    index 5e9dfaa1..c89002a1 100644
    --- a/src/hotshot_query_service/explorer/traits.rs.html
    +++ b/src/hotshot_query_service/explorer/traits.rs.html
    @@ -68,7 +68,11 @@
     67
     68
     69
    -70
    // Copyright (c) 2022 Espresso Systems (espressosys.com)
    +70
    +71
    +72
    +73
    +74
    // Copyright (c) 2022 Espresso Systems (espressosys.com)
     // This file is part of the HotShot Query Service library.
     //
     // This program is free software: you can redistribute it and/or modify it under the terms of the GNU
    @@ -136,6 +140,10 @@
         /// a representation of it that adheres to the trait restrictions specified.
         type NamespaceId: Clone + Debug + Serialize + DeserializeOwned + Send + Sync + PartialEq + Eq;
     
    -    fn namespace_id(&self) -> Self::NamespaceId;
    +    /// namespace_id returns the namespace id of the individual transaction.
    +    fn namespace_id(&self) -> Self::NamespaceId;
    +
    +    /// payload_size returns the size of the payload of the transaction.
    +    fn payload_size(&self) -> u64;
     }
     

    \ No newline at end of file diff --git a/src/hotshot_query_service/testing/mocks.rs.html b/src/hotshot_query_service/testing/mocks.rs.html index ae24b4a3..b395a531 100644 --- a/src/hotshot_query_service/testing/mocks.rs.html +++ b/src/hotshot_query_service/testing/mocks.rs.html @@ -206,7 +206,11 @@ 205 206 207 -208
    // Copyright (c) 2022 Espresso Systems (espressosys.com)
    +208
    +209
    +210
    +211
    +212
    // Copyright (c) 2022 Espresso Systems (espressosys.com)
     // This file is part of the HotShot Query Service library.
     //
     // This program is free software: you can redistribute it and/or modify it under the terms of the GNU
    @@ -297,6 +301,10 @@
         fn namespace_id(&self) -> Self::NamespaceId {
             0
         }
    +
    +    fn payload_size(&self) -> u64 {
    +        self.bytes().len() as u64
    +    }
     }
     
     impl HeightIndexed for MockHeader {
    diff --git a/type.impl/hotshot_query_service/testing/mocks/struct.MockVersions.js b/type.impl/hotshot_query_service/testing/mocks/struct.MockVersions.js
    index 430d424b..46eea26f 100644
    --- a/type.impl/hotshot_query_service/testing/mocks/struct.MockVersions.js
    +++ b/type.impl/hotshot_query_service/testing/mocks/struct.MockVersions.js
    @@ -1,5 +1,5 @@
     (function() {
    -    var type_impls = Object.fromEntries([["hotshot_query_service",[["
    source§

    impl Clone for MockVersions

    source§

    fn clone(&self) -> MockVersions

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","hotshot_query_service::testing::mocks::MockBase"],["
    source§

    impl Debug for MockVersions

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    ","Debug","hotshot_query_service::testing::mocks::MockBase"],["
    source§

    impl Versions for MockVersions

    source§

    const UPGRADE_HASH: [u8; 32] = _

    The hash for the upgrade.
    source§

    type Base = StaticVersion<0, 1>

    The base version of HotShot this node is instantiated with.
    source§

    type Upgrade = StaticVersion<0, 2>

    The version of HotShot this node may be upgraded to. Set equal to Base to disable upgrades.
    source§

    type Marketplace = StaticVersion<0, 3>

    The version at which to switch over to marketplace logic
    source§

    type Epochs = StaticVersion<0, 4>

    The version at which to switch over to epochs logic
    ","Versions","hotshot_query_service::testing::mocks::MockBase"],["
    source§

    impl Copy for MockVersions

    ","Copy","hotshot_query_service::testing::mocks::MockBase"]]]]); + var type_impls = Object.fromEntries([["hotshot_query_service",[["
    source§

    impl Clone for MockVersions

    source§

    fn clone(&self) -> MockVersions

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","hotshot_query_service::testing::mocks::MockBase"],["
    source§

    impl Debug for MockVersions

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    ","Debug","hotshot_query_service::testing::mocks::MockBase"],["
    source§

    impl Versions for MockVersions

    source§

    const UPGRADE_HASH: [u8; 32] = _

    The hash for the upgrade.
    source§

    type Base = StaticVersion<0, 1>

    The base version of HotShot this node is instantiated with.
    source§

    type Upgrade = StaticVersion<0, 2>

    The version of HotShot this node may be upgraded to. Set equal to Base to disable upgrades.
    source§

    type Marketplace = StaticVersion<0, 3>

    The version at which to switch over to marketplace logic
    source§

    type Epochs = StaticVersion<0, 4>

    The version at which to switch over to epochs logic
    ","Versions","hotshot_query_service::testing::mocks::MockBase"],["
    source§

    impl Copy for MockVersions

    ","Copy","hotshot_query_service::testing::mocks::MockBase"]]]]); if (window.register_type_impls) { window.register_type_impls(type_impls); } else {