diff --git a/cairo_native/error/libfuncs/enum.ErrorImpl.html b/cairo_native/error/libfuncs/enum.ErrorImpl.html index 3ea1057f3..6bfd6c0f0 100644 --- a/cairo_native/error/libfuncs/enum.ErrorImpl.html +++ b/cairo_native/error/libfuncs/enum.ErrorImpl.html @@ -4,7 +4,7 @@ MlirError(Error), ProgramRegistryError(Box<ProgramRegistryError>), TryFromIntError(TryFromIntError), -}
pub struct Error {
+Error in cairo_native::error::libfuncs - Rust Struct cairo_native::error::libfuncs::Error
source · pub struct Error {
pub source: ErrorImpl,
}
Fields§
§source: ErrorImpl
Trait Implementations§
source§impl Error for Error
source§fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more1.0.0 · source§fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()Auto Trait Implementations§
§impl RefUnwindSafe for Error
§impl Send for Error
§impl Sync for Error
§impl Unpin for Error
§impl UnwindSafe for Error
Blanket Implementations§
Auto Trait Implementations§
§impl RefUnwindSafe for Error
§impl Send for Error
§impl Sync for Error
§impl Unpin for Error
§impl UnwindSafe for Error
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
- &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read moresource§impl<T> From<T> for T
source§fn from(t: T) -> T
Returns the argument unchanged.
+ &'a Self: for<'a> IntoIterator,Formats each item in a sequence. Read more§impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
source§impl<T, U> Into<U> for Twhere
diff --git a/cairo_native/error/types/enum.ErrorImpl.html b/cairo_native/error/types/enum.ErrorImpl.html
index 8798d7030..77fb686c6 100644
--- a/cairo_native/error/types/enum.ErrorImpl.html
+++ b/cairo_native/error/types/enum.ErrorImpl.html
@@ -1,9 +1,11 @@
-ErrorImpl in cairo_native::error::types - Rust Enum cairo_native::error::types::ErrorImpl
source · pub enum ErrorImpl {
+ErrorImpl in cairo_native::error::types - Rust Enum cairo_native::error::types::ErrorImpl
source · pub enum ErrorImpl {
LayoutError(LayoutError),
LayoutErrorPolyfill(LayoutError),
ProgramRegistryError(Box<ProgramRegistryError>),
TryFromIntError(TryFromIntError),
-}
Variants§
§LayoutError(LayoutError)
§LayoutErrorPolyfill(LayoutError)
§ProgramRegistryError(Box<ProgramRegistryError>)
§TryFromIntError(TryFromIntError)
Trait Implementations§
source§impl Error for ErrorImpl
source§fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more1.0.0 · source§fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()source§impl From<LayoutError> for ErrorImpl
source§fn from(source: LayoutError) -> Self
Converts to this type from the input type.source§impl From<LayoutError> for ErrorImpl
source§fn from(source: LayoutError) -> Self
Converts to this type from the input type.source§impl From<TryFromIntError> for ErrorImpl
source§fn from(source: TryFromIntError) -> Self
Converts to this type from the input type.Auto Trait Implementations§
§impl RefUnwindSafe for ErrorImpl
§impl Send for ErrorImpl
§impl Sync for ErrorImpl
§impl Unpin for ErrorImpl
§impl UnwindSafe for ErrorImpl
Blanket Implementations§
source§impl<T> Any for Twhere
+ MlirError(Error),
+ LibFuncError(Error),
+}Variants§
§LayoutError(LayoutError)
§LayoutErrorPolyfill(LayoutError)
§ProgramRegistryError(Box<ProgramRegistryError>)
§TryFromIntError(TryFromIntError)
§MlirError(Error)
§LibFuncError(Error)
Trait Implementations§
source§impl Error for ErrorImpl
source§fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more1.0.0 · source§fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()source§impl From<LayoutError> for ErrorImpl
source§fn from(source: LayoutError) -> Self
Converts to this type from the input type.source§impl From<LayoutError> for ErrorImpl
source§fn from(source: LayoutError) -> Self
Converts to this type from the input type.source§impl From<TryFromIntError> for ErrorImpl
source§fn from(source: TryFromIntError) -> Self
Converts to this type from the input type.Auto Trait Implementations§
§impl RefUnwindSafe for ErrorImpl
§impl Send for ErrorImpl
§impl Sync for ErrorImpl
§impl Unpin for ErrorImpl
§impl UnwindSafe for ErrorImpl
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
- &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§impl<T> From<T> for T
source§fn from(t: T) -> T
Returns the argument unchanged.
+ &'a Self: for<'a> IntoIterator,Formats each item in a sequence. Read more§impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
source§impl<T, U> Into<U> for Twhere
diff --git a/cairo_native/error/types/index.html b/cairo_native/error/types/index.html
index cc6640d88..198c43522 100644
--- a/cairo_native/error/types/index.html
+++ b/cairo_native/error/types/index.html
@@ -1 +1 @@
-cairo_native::error::types - Rust
\ No newline at end of file
+cairo_native::error::types - Rust
\ No newline at end of file
diff --git a/cairo_native/error/types/struct.Error.html b/cairo_native/error/types/struct.Error.html
index 46c071532..3c9aa7a8c 100644
--- a/cairo_native/error/types/struct.Error.html
+++ b/cairo_native/error/types/struct.Error.html
@@ -1,7 +1,7 @@
Error in cairo_native::error::types - Rust Struct cairo_native::error::types::Error
source · pub struct Error {
pub source: ErrorImpl,
}
Fields§
§source: ErrorImpl
Trait Implementations§
source§impl Error for Error
source§fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more1.0.0 · source§fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()Auto Trait Implementations§
§impl RefUnwindSafe for Error
§impl Send for Error
§impl Sync for Error
§impl Unpin for Error
§impl UnwindSafe for Error
Blanket Implementations§
Auto Trait Implementations§
§impl RefUnwindSafe for Error
§impl Send for Error
§impl Sync for Error
§impl Unpin for Error
§impl UnwindSafe for Error
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more§impl<T> Conv for T
§fn conv<T>(self) -> Twhere
diff --git a/cairo_native/libfuncs/drop/fn.build.html b/cairo_native/libfuncs/drop/fn.build.html
index d5282cced..e6007db43 100644
--- a/cairo_native/libfuncs/drop/fn.build.html
+++ b/cairo_native/libfuncs/drop/fn.build.html
@@ -1,11 +1,11 @@
-build in cairo_native::libfuncs::drop - Rust Function cairo_native::libfuncs::drop::build
source · pub fn build<'ctx, 'this, TType, TLibfunc>(
- _context: &'ctx Context,
- _registry: &ProgramRegistry<TType, TLibfunc>,
+build in cairo_native::libfuncs::drop - Rust Function cairo_native::libfuncs::drop::build
source · pub fn build<'ctx, 'this, TType, TLibfunc>(
+ context: &'ctx Context,
+ registry: &ProgramRegistry<TType, TLibfunc>,
entry: &'this Block<'ctx>,
location: Location<'ctx>,
helper: &LibfuncHelper<'ctx, 'this>,
- _metadata: &mut MetadataStorage,
- _info: &SignatureOnlyConcreteLibfunc
+ metadata: &mut MetadataStorage,
+ info: &SignatureOnlyConcreteLibfunc
) -> Result<()>where
TType: GenericType,
TLibfunc: GenericLibfunc,
diff --git a/cairo_native/libfuncs/drop/index.html b/cairo_native/libfuncs/drop/index.html
index ecfe71f51..be442990a 100644
--- a/cairo_native/libfuncs/drop/index.html
+++ b/cairo_native/libfuncs/drop/index.html
@@ -1,4 +1,4 @@
-cairo_native::libfuncs::drop - Rust Module cairo_native::libfuncs::drop
source · Expand description
AP
tracking libfuncs
+cairo_native::libfuncs::drop - Rust Module cairo_native::libfuncs::drop
source · Expand description
AP
tracking libfuncs
Most types are trivial and don’t need dropping (or rather, they will be dropped automatically
by MLIR). For those types, this libfunc is a no-op.
However, types like an array need manual dropping.
diff --git a/cairo_native/metadata/realloc_bindings/index.html b/cairo_native/metadata/realloc_bindings/index.html
index 513db65ff..c42a0ddd8 100644
--- a/cairo_native/metadata/realloc_bindings/index.html
+++ b/cairo_native/metadata/realloc_bindings/index.html
@@ -1,4 +1,4 @@
-cairo_native::metadata::realloc_bindings - Rust Module cairo_native::metadata::realloc_bindings
source · Expand description
Memory allocation external bindings
+cairo_native::metadata::realloc_bindings - Rust Module cairo_native::metadata::realloc_bindings
source · Expand description
Memory allocation external bindings
This metadata ensures that the bindings to the C function realloc
exist in the current
compilation context.
Structs
- Memory allocation
realloc
metadata.
\ No newline at end of file
diff --git a/cairo_native/metadata/realloc_bindings/struct.ReallocBindingsMeta.html b/cairo_native/metadata/realloc_bindings/struct.ReallocBindingsMeta.html
index 25c985f57..29eef4083 100644
--- a/cairo_native/metadata/realloc_bindings/struct.ReallocBindingsMeta.html
+++ b/cairo_native/metadata/realloc_bindings/struct.ReallocBindingsMeta.html
@@ -1,11 +1,16 @@
-ReallocBindingsMeta in cairo_native::metadata::realloc_bindings - Rust pub struct ReallocBindingsMeta { /* private fields */ }
Expand description
Memory allocation realloc
metadata.
-Implementations§
source§impl ReallocBindingsMeta
sourcepub fn new(context: &Context, module: &Module<'_>) -> Self
Register the bindings to the realloc
C function and return the metadata.
-sourcepub fn realloc<'c, 'a>(
+ReallocBindingsMeta in cairo_native::metadata::realloc_bindings - Rust pub struct ReallocBindingsMeta { /* private fields */ }
Expand description
Memory allocation realloc
metadata.
+Implementations§
source§impl ReallocBindingsMeta
sourcepub fn new(context: &Context, module: &Module<'_>) -> Self
Register the bindings to the realloc
C function and return the metadata.
+Trait Implementations§
Auto Trait Implementations§
§impl RefUnwindSafe for ReallocBindingsMeta
§impl Send for ReallocBindingsMeta
§impl Sync for ReallocBindingsMeta
§impl Unpin for ReallocBindingsMeta
§impl UnwindSafe for ReallocBindingsMeta
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
diff --git a/cairo_native/metadata/runtime_bindings/index.html b/cairo_native/metadata/runtime_bindings/index.html
index 07f17af97..6ebd41aab 100644
--- a/cairo_native/metadata/runtime_bindings/index.html
+++ b/cairo_native/metadata/runtime_bindings/index.html
@@ -1,4 +1,4 @@
-cairo_native::metadata::runtime_bindings - Rust Module cairo_native::metadata::runtime_bindings
source · Expand description
Runtime library bindings
+cairo_native::metadata::runtime_bindings - Rust Module cairo_native::metadata::runtime_bindings
source · Expand description
Runtime library bindings
This metadata ensures that the bindings to the runtime functions exist in the current
compilation context.
Structs
- Runtime library bindings metadata.
\ No newline at end of file
diff --git a/cairo_native/metadata/runtime_bindings/struct.RuntimeBindingsMeta.html b/cairo_native/metadata/runtime_bindings/struct.RuntimeBindingsMeta.html
index d7ded6cab..23b801e68 100644
--- a/cairo_native/metadata/runtime_bindings/struct.RuntimeBindingsMeta.html
+++ b/cairo_native/metadata/runtime_bindings/struct.RuntimeBindingsMeta.html
@@ -1,5 +1,5 @@
-RuntimeBindingsMeta in cairo_native::metadata::runtime_bindings - Rust pub struct RuntimeBindingsMeta { /* private fields */ }
Expand description
Runtime library bindings metadata.
-Implementations§
source§impl RuntimeBindingsMeta
sourcepub fn libfunc_debug_print<'c, 'a>(
+RuntimeBindingsMeta in cairo_native::metadata::runtime_bindings - Rust pub struct RuntimeBindingsMeta { /* private fields */ }
Expand description
Runtime library bindings metadata.
+Implementations§
source§impl RuntimeBindingsMeta
sourcepub fn libfunc_debug_print<'c, 'a>(
&mut self,
context: &'c Context,
module: &Module<'_>,
@@ -10,7 +10,7 @@
location: Location<'c>
) -> Result<Value<'c, 'a>>where
'c: 'a,
Register if necessary, then invoke the debug::print()
function.
-sourcepub fn libfunc_pedersen<'c, 'a>(
+
sourcepub fn libfunc_pedersen<'c, 'a>(
&mut self,
context: &'c Context,
module: &Module<'_>,
@@ -21,7 +21,7 @@
location: Location<'c>
) -> Result<OperationRef<'c, 'a>>where
'c: 'a,
Register if necessary, then invoke the pedersen()
function.
-sourcepub fn libfunc_hades_permutation<'c, 'a>(
+
sourcepub fn libfunc_hades_permutation<'c, 'a>(
&mut self,
context: &'c Context,
module: &Module<'_>,
@@ -33,7 +33,7 @@
) -> Result<OperationRef<'c, 'a>>where
'c: 'a,
Register if necessary, then invoke the poseidon()
function.
The passed pointers serve both as in/out pointers. I.E results are stored in the given pointers.
-sourcepub fn libfunc_ec_point_from_x_nz<'c, 'a>(
+
sourcepub fn libfunc_ec_point_from_x_nz<'c, 'a>(
&mut self,
context: &'c Context,
module: &Module<'_>,
@@ -42,7 +42,7 @@
location: Location<'c>
) -> Result<OperationRef<'c, 'a>>where
'c: 'a,
Register if necessary, then invoke the ec_point_from_x_nz()
function.
-sourcepub fn libfunc_ec_point_try_new_nz<'c, 'a>(
+
sourcepub fn libfunc_ec_point_try_new_nz<'c, 'a>(
&mut self,
context: &'c Context,
module: &Module<'_>,
@@ -51,7 +51,7 @@
location: Location<'c>
) -> Result<OperationRef<'c, 'a>>where
'c: 'a,
Register if necessary, then invoke the ec_point_try_new_nz()
function.
-sourcepub fn libfunc_ec_state_add<'c, 'a>(
+
sourcepub fn libfunc_ec_state_add<'c, 'a>(
&mut self,
context: &'c Context,
module: &Module<'_>,
@@ -61,7 +61,7 @@
location: Location<'c>
) -> Result<OperationRef<'c, 'a>>where
'c: 'a,
Register if necessary, then invoke the ec_state_add()
function.
-sourcepub fn libfunc_ec_state_add_mul<'c, 'a>(
+
sourcepub fn libfunc_ec_state_add_mul<'c, 'a>(
&mut self,
context: &'c Context,
module: &Module<'_>,
@@ -72,7 +72,7 @@
location: Location<'c>
) -> Result<OperationRef<'c, 'a>>where
'c: 'a,
Register if necessary, then invoke the ec_state_add_mul()
function.
-sourcepub fn libfunc_ec_state_try_finalize_nz<'c, 'a>(
+
sourcepub fn libfunc_ec_state_try_finalize_nz<'c, 'a>(
&mut self,
context: &'c Context,
module: &Module<'_>,
@@ -81,7 +81,7 @@
state_ptr: Value<'c, '_>,
location: Location<'c>
) -> Result<OperationRef<'c, 'a>>where
- 'c: 'a,
sourcepub fn dict_alloc_new<'c, 'a>(
+ 'c: 'a,
sourcepub fn dict_alloc_new<'c, 'a>(
&mut self,
context: &'c Context,
module: &Module<'_>,
@@ -90,7 +90,17 @@
) -> Result<OperationRef<'c, 'a>>where
'c: 'a,
Register if necessary, then invoke the dict_alloc_new()
function.
Returns a opaque pointer as the result.
-
sourcepub fn dict_alloc_free<'c, 'a>(
+ &mut self,
+ context: &'c Context,
+ module: &Module<'_>,
+ ptr: Value<'c, 'a>,
+ block: &'a Block<'c>,
+ location: Location<'c>
+) -> Result<OperationRef<'c, 'a>>where
+ 'c: 'a,
Register if necessary, then invoke the dict_alloc_new()
function.
+Returns a opaque pointer as the result.
+sourcepub fn dict_get<'c, 'a>(
&mut self,
context: &'c Context,
module: &Module<'_>,
@@ -102,7 +112,7 @@
'c: 'a,
Register if necessary, then invoke the dict_get()
function.
Gets the value for a given key, the returned pointer is null if not found.
Returns a opaque pointer as the result.
-sourcepub fn dict_insert<'c, 'a>(
+
sourcepub fn dict_insert<'c, 'a>(
&mut self,
context: &'c Context,
module: &Module<'_>,
@@ -115,7 +125,7 @@
'c: 'a,
Register if necessary, then invoke the dict_insert()
function.
Inserts the provided key value. Returning the old one or nullptr if there was none.
Returns a opaque pointer as the result.
-
Trait Implementations§
source§impl Debug for RuntimeBindingsMeta
Auto Trait Implementations§
§impl RefUnwindSafe for RuntimeBindingsMeta
§impl Send for RuntimeBindingsMeta
§impl Sync for RuntimeBindingsMeta
§impl Unpin for RuntimeBindingsMeta
§impl UnwindSafe for RuntimeBindingsMeta
Blanket Implementations§
Trait Implementations§
source§impl Debug for RuntimeBindingsMeta
Auto Trait Implementations§
§impl RefUnwindSafe for RuntimeBindingsMeta
§impl Send for RuntimeBindingsMeta
§impl Sync for RuntimeBindingsMeta
§impl Unpin for RuntimeBindingsMeta
§impl UnwindSafe for RuntimeBindingsMeta
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more§impl<T> Conv for T
§fn conv<T>(self) -> Twhere
diff --git a/cairo_native/types/index.html b/cairo_native/types/index.html
index db5db842c..cbe7061f4 100644
--- a/cairo_native/types/index.html
+++ b/cairo_native/types/index.html
@@ -1,3 +1,3 @@
-cairo_native::types - Rust Module cairo_native::types
source · Expand description
Compiler type infrastructure
+cairo_native::types - Rust Module cairo_native::types
source · Expand description
Compiler type infrastructure
Contains type generation stuff (aka. conversion from Sierra to MLIR types).
Modules
- Array type
- Bitwise type
- Box type
- Builtin costs type
- Elliptic curve operation type
- Elliptic curve point type
- Elliptic curve state type
- Enum type
felt252
typefelt252
dictionary typefelt252
dictionary entry type- Gas builtin type
- Non-zero type
- Nullable type
- Pedersen type
- Poseidon type
- Builtin costs type
- Segment arena type
- Snapshot type
- Squashed
felt252
dictionary type - StarkNet types
- Struct type
- Unsigned 8-bit integer type
- Unsigned 16-bit integer type
- Unsigned 32-bit integer type
- Unsigned 64-bit integer type
- Unsigned 128-bit integer type
- Unsigned 128-bit multiplication guarantee type
- Uninitialized type
Structs
Traits
- Generation of MLIR types from their Sierra counterparts.
\ No newline at end of file
diff --git a/cairo_native/types/struct.WithSelf.html b/cairo_native/types/struct.WithSelf.html
index 25db56383..6dddc859a 100644
--- a/cairo_native/types/struct.WithSelf.html
+++ b/cairo_native/types/struct.WithSelf.html
@@ -1,8 +1,8 @@
-WithSelf in cairo_native::types - Rust Struct cairo_native::types::WithSelf
source · pub struct WithSelf<'a, T> { /* private fields */ }
Implementations§
Trait Implementations§
source§impl<'a, T: Hash> Hash for WithSelf<'a, T>
1.3.0 · source§fn hash_slice<H>(data: &[Self], state: &mut H)where
+WithSelf in cairo_native::types - Rust Struct cairo_native::types::WithSelf
source · pub struct WithSelf<'a, T> { /* private fields */ }
Implementations§
Trait Implementations§
source§impl<'a, T: PartialEq> PartialEq<WithSelf<'a, T>> for WithSelf<'a, T>
source§impl<'a, T: PartialEq> PartialEq<WithSelf<'a, T>> for WithSelf<'a, T>
source§impl<'a, T: Eq> Eq for WithSelf<'a, T>
source§impl<'a, T> StructuralEq for WithSelf<'a, T>
source§impl<'a, T> StructuralPartialEq for WithSelf<'a, T>
Auto Trait Implementations§
§impl<'a, T> RefUnwindSafe for WithSelf<'a, T>where
+sufficient, and should not be overridden without very good reason.
source§impl<'a, T: Eq> Eq for WithSelf<'a, T>
source§impl<'a, T> StructuralEq for WithSelf<'a, T>
source§impl<'a, T> StructuralPartialEq for WithSelf<'a, T>
Auto Trait Implementations§
§impl<'a, T> RefUnwindSafe for WithSelf<'a, T>where
T: RefUnwindSafe,
§impl<'a, T> Send for WithSelf<'a, T>where
T: Sync,
§impl<'a, T> Sync for WithSelf<'a, T>where
T: Sync,
§impl<'a, T> Unpin for WithSelf<'a, T>
§impl<'a, T> UnwindSafe for WithSelf<'a, T>where
diff --git a/cairo_native/types/trait.TypeBuilder.html b/cairo_native/types/trait.TypeBuilder.html
index b2636fb02..1b537dd07 100644
--- a/cairo_native/types/trait.TypeBuilder.html
+++ b/cairo_native/types/trait.TypeBuilder.html
@@ -1,4 +1,4 @@
-TypeBuilder in cairo_native::types - Rust Trait cairo_native::types::TypeBuilder
source · pub trait TypeBuilder<TType, TLibfunc>where
+TypeBuilder in cairo_native::types - Rust Trait cairo_native::types::TypeBuilder
source · pub trait TypeBuilder<TType, TLibfunc>where
TType: GenericType<Concrete = Self>,
TLibfunc: GenericLibfunc,{
type Error: Error;
@@ -18,11 +18,21 @@
) -> Result<Layout, Self::Error>;
fn integer_width(&self) -> Option<usize>;
fn variants(&self) -> Option<&[ConcreteTypeId]>;
+ fn build_drop<'ctx, 'this>(
+ &self,
+ context: &'ctx Context,
+ registry: &ProgramRegistry<TType, TLibfunc>,
+ entry: &'this Block<'ctx>,
+ location: Location<'ctx>,
+ helper: &LibfuncHelper<'ctx, 'this>,
+ metadata: &mut MetadataStorage,
+ self_ty: &ConcreteTypeId
+ ) -> Result<(), Self::Error>;
}
Expand description
Generation of MLIR types from their Sierra counterparts.
All possible Sierra types must implement it. It is already implemented for all the core Sierra
types, contained in [CoreTypeConcrete].
-Required Associated Types§
Required Methods§
Required Associated Types§
Required Methods§
sourcefn build<'ctx>(
&self,
context: &'ctx Context,
module: &Module<'ctx>,
@@ -30,25 +40,43 @@
metadata: &mut MetadataStorage,
self_ty: &ConcreteTypeId
) -> Result<Type<'ctx>, Self::Error>
Build the MLIR type.
-sourcefn layout(
&self,
registry: &ProgramRegistry<TType, TLibfunc>
) -> Result<Layout, Self::Error>
Generate the layout of the MLIR type.
Used in both the compiler and the interface when calling the compiled code.
-sourcefn integer_width(&self) -> Option<usize>
If the type is an integer (felt not included) type, return its width in bits.
+sourcefn integer_width(&self) -> Option<usize>
If the type is an integer (felt not included) type, return its width in bits.
TODO: How is it used?
-Implementations on Foreign Types§
source§impl<TType, TLibfunc> TypeBuilder<TType, TLibfunc> for CoreTypeConcretewhere
+
sourcefn build_drop<'ctx, 'this>(
+ &self,
+ context: &'ctx Context,
+ registry: &ProgramRegistry<TType, TLibfunc>,
+ entry: &'this Block<'ctx>,
+ location: Location<'ctx>,
+ helper: &LibfuncHelper<'ctx, 'this>,
+ metadata: &mut MetadataStorage,
+ self_ty: &ConcreteTypeId
+) -> Result<(), Self::Error>
Implementations on Foreign Types§
source§impl<TType, TLibfunc> TypeBuilder<TType, TLibfunc> for CoreTypeConcretewhere
TType: 'static + GenericType<Concrete = Self>,
- TLibfunc: 'static + GenericLibfunc<Concrete = CoreConcreteLibfunc>,
§type Error = Error
source§fn build<'ctx>(
+ TLibfunc: 'static + GenericLibfunc<Concrete = CoreConcreteLibfunc>,
§type Error = Error
source§fn build<'ctx>(
&self,
context: &'ctx Context,
module: &Module<'ctx>,
registry: &ProgramRegistry<TType, TLibfunc>,
metadata: &mut MetadataStorage,
self_ty: &ConcreteTypeId
-) -> Result<Type<'ctx>, Self::Error>
source§fn layout(
+) -> Result<Type<'ctx>, Self::Error>
source§fn layout(
&self,
registry: &ProgramRegistry<TType, TLibfunc>
-) -> Result<Layout, Self::Error>
source§fn integer_width(&self) -> Option<usize>
source§fn variants(&self) -> Option<&[ConcreteTypeId]>
Implementors§
\ No newline at end of file
+) -> Result<Layout, Self::Error>
source§fn integer_width(&self) -> Option<usize>
source§fn variants(&self) -> Option<&[ConcreteTypeId]>
source§fn build_drop<'ctx, 'this>(
+ &self,
+ context: &'ctx Context,
+ registry: &ProgramRegistry<TType, TLibfunc>,
+ entry: &'this Block<'ctx>,
+ location: Location<'ctx>,
+ helper: &LibfuncHelper<'ctx, 'this>,
+ metadata: &mut MetadataStorage,
+ self_ty: &ConcreteTypeId
+) -> Result<(), Self::Error>
Implementors§
\ No newline at end of file
diff --git a/cairo_native/utils/fn.debug_with.html b/cairo_native/utils/fn.debug_with.html
index e949eb9ec..b98e8a750 100644
--- a/cairo_native/utils/fn.debug_with.html
+++ b/cairo_native/utils/fn.debug_with.html
@@ -1,3 +1,3 @@
-debug_with in cairo_native::utils - Rust Function cairo_native::utils::debug_with
source · pub fn debug_with<F>(fmt: F) -> impl Debugwhere
+debug_with in cairo_native::utils - Rust Function cairo_native::utils::debug_with
source · pub fn debug_with<F>(fmt: F) -> impl Debugwhere
F: Fn(&mut Formatter<'_>) -> Result,
Expand description
Return a type that calls a closure when formatted using Debug.
\ No newline at end of file
diff --git a/cairo_native/utils/fn.layout_repeat.html b/cairo_native/utils/fn.layout_repeat.html
index ee277df45..22eb64aa2 100644
--- a/cairo_native/utils/fn.layout_repeat.html
+++ b/cairo_native/utils/fn.layout_repeat.html
@@ -1,4 +1,4 @@
-layout_repeat in cairo_native::utils - Rust Function cairo_native::utils::layout_repeat
source · pub fn layout_repeat(
+layout_repeat in cairo_native::utils - Rust Function cairo_native::utils::layout_repeat
source · pub fn layout_repeat(
layout: &Layout,
n: usize
) -> Result<(Layout, usize), LayoutError>
Expand description
Copied from std.
diff --git a/cairo_native/utils/fn.next_multiple_of_u32.html b/cairo_native/utils/fn.next_multiple_of_u32.html
index bc8794532..815a50ce5 100644
--- a/cairo_native/utils/fn.next_multiple_of_u32.html
+++ b/cairo_native/utils/fn.next_multiple_of_u32.html
@@ -1 +1 @@
-next_multiple_of_u32 in cairo_native::utils - Rust Function cairo_native::utils::next_multiple_of_u32
source · pub const fn next_multiple_of_u32(lhs: u32, rhs: u32) -> u32
\ No newline at end of file
+next_multiple_of_u32 in cairo_native::utils - Rust Function cairo_native::utils::next_multiple_of_u32
source · pub const fn next_multiple_of_u32(lhs: u32, rhs: u32) -> u32
\ No newline at end of file
diff --git a/cairo_native/utils/fn.next_multiple_of_usize.html b/cairo_native/utils/fn.next_multiple_of_usize.html
index d49fc3fcd..8a03900c8 100644
--- a/cairo_native/utils/fn.next_multiple_of_usize.html
+++ b/cairo_native/utils/fn.next_multiple_of_usize.html
@@ -1 +1 @@
-next_multiple_of_usize in cairo_native::utils - Rust Function cairo_native::utils::next_multiple_of_usize
source · pub const fn next_multiple_of_usize(lhs: usize, rhs: usize) -> usize
\ No newline at end of file
+next_multiple_of_usize in cairo_native::utils - Rust Function cairo_native::utils::next_multiple_of_usize
source · pub const fn next_multiple_of_usize(lhs: usize, rhs: usize) -> usize
\ No newline at end of file
diff --git a/cairo_native/utils/fn.padding_needed_for.html b/cairo_native/utils/fn.padding_needed_for.html
index 1dca75c78..1ac6bcf53 100644
--- a/cairo_native/utils/fn.padding_needed_for.html
+++ b/cairo_native/utils/fn.padding_needed_for.html
@@ -1,4 +1,4 @@
-padding_needed_for in cairo_native::utils - Rust Function cairo_native::utils::padding_needed_for
source · pub const fn padding_needed_for(layout: &Layout, align: usize) -> usize
Expand description
Edit: Copied from the std lib.
+padding_needed_for in cairo_native::utils - Rust Function cairo_native::utils::padding_needed_for
source · pub const fn padding_needed_for(layout: &Layout, align: usize) -> usize
Expand description
Edit: Copied from the std lib.
Returns the amount of padding we must insert after layout
to ensure that the following address will satisfy align
(measured in bytes).
diff --git a/cairo_native/utils/fn.register_runtime_symbols.html b/cairo_native/utils/fn.register_runtime_symbols.html
index cb8cb0ffe..028de89c8 100644
--- a/cairo_native/utils/fn.register_runtime_symbols.html
+++ b/cairo_native/utils/fn.register_runtime_symbols.html
@@ -1 +1 @@
-register_runtime_symbols in cairo_native::utils - Rust Function cairo_native::utils::register_runtime_symbols
source · pub fn register_runtime_symbols(engine: &ExecutionEngine)
\ No newline at end of file
+register_runtime_symbols in cairo_native::utils - Rust Function cairo_native::utils::register_runtime_symbols
source · pub fn register_runtime_symbols(engine: &ExecutionEngine)
\ No newline at end of file
diff --git a/cairo_native/utils/index.html b/cairo_native/utils/index.html
index fd8c54285..f1d6919e5 100644
--- a/cairo_native/utils/index.html
+++ b/cairo_native/utils/index.html
@@ -1 +1 @@
-cairo_native::utils - Rust Module cairo_native::utils
source · Expand description
Structs
Traits
Functions
- Compile a cairo program found at the given path to sierra.
- Creates the execution engine, with all symbols registered.
- Return a type that calls a closure when formatted using Debug.
- Parse any type that can be a bigint to a felt that can be used in the cairo-native input.
- Parse a short string into a felt that can be used in the cairo-native input.
- Parse a numeric string into felt, wrapping negatives around the prime modulo.
- Returns the given entry point if present.
- Returns the given entry point if present.
- Given a string representing a function name, searches in the program for the id corresponding to said function, and returns a reference to it.
- Generate a function name.
- Return the layout for an integer of arbitrary width.
- Copied from std.
- Edit: Copied from the std lib.
- Converts a u32 slice into a Felt252
\ No newline at end of file
+cairo_native::utils - Rust Module cairo_native::utils
source · Expand description
Structs
Traits
Functions
- Compile a cairo program found at the given path to sierra.
- Creates the execution engine, with all symbols registered.
- Return a type that calls a closure when formatted using Debug.
- Parse any type that can be a bigint to a felt that can be used in the cairo-native input.
- Parse a short string into a felt that can be used in the cairo-native input.
- Parse a numeric string into felt, wrapping negatives around the prime modulo.
- Returns the given entry point if present.
- Returns the given entry point if present.
- Given a string representing a function name, searches in the program for the id corresponding to said function, and returns a reference to it.
- Generate a function name.
- Return the layout for an integer of arbitrary width.
- Copied from std.
- Edit: Copied from the std lib.
- Converts a u32 slice into a Felt252
\ No newline at end of file
diff --git a/cairo_native/utils/struct.LayoutError.html b/cairo_native/utils/struct.LayoutError.html
index 3023bb00a..2301867b9 100644
--- a/cairo_native/utils/struct.LayoutError.html
+++ b/cairo_native/utils/struct.LayoutError.html
@@ -1,6 +1,6 @@
-LayoutError in cairo_native::utils - Rust Struct cairo_native::utils::LayoutError
source · pub struct LayoutError;
Trait Implementations§
source§impl Clone for LayoutError
source§fn clone(&self) -> LayoutError
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read moresource§impl Debug for LayoutError
source§impl Display for LayoutError
source§impl Error for LayoutError
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more1.0.0 · source§fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()source§impl From<LayoutError> for ErrorImpl
source§fn from(source: LayoutError) -> Self
Converts to this type from the input type.source§impl From<LayoutError> for ErrorImpl
source§fn from(source: LayoutError) -> Self
Converts to this type from the input type.source§impl PartialEq<LayoutError> for LayoutError
source§fn eq(&self, other: &LayoutError) -> bool
This method tests for self
and other
values to be equal, and is used
+LayoutError in cairo_native::utils - Rust Struct cairo_native::utils::LayoutError
source · pub struct LayoutError;
Trait Implementations§
source§impl Clone for LayoutError
source§fn clone(&self) -> LayoutError
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read moresource§impl Debug for LayoutError
source§impl Display for LayoutError
source§impl Error for LayoutError
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more1.0.0 · source§fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()source§impl From<LayoutError> for ErrorImpl
source§fn from(source: LayoutError) -> Self
Converts to this type from the input type.source§impl From<LayoutError> for ErrorImpl
source§fn from(source: LayoutError) -> Self
Converts to this type from the input type.source§impl PartialEq<LayoutError> for LayoutError
source§fn eq(&self, other: &LayoutError) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
.source§impl Eq for LayoutError
source§impl StructuralEq for LayoutError
source§impl StructuralPartialEq for LayoutError
Auto Trait Implementations§
§impl RefUnwindSafe for LayoutError
§impl Send for LayoutError
§impl Sync for LayoutError
§impl Unpin for LayoutError
§impl UnwindSafe for LayoutError
Blanket Implementations§
source§impl Eq for LayoutError
source§impl StructuralEq for LayoutError
source§impl StructuralPartialEq for LayoutError
Auto Trait Implementations§
§impl RefUnwindSafe for LayoutError
§impl Send for LayoutError
§impl Sync for LayoutError
§impl Unpin for LayoutError
§impl UnwindSafe for LayoutError
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more§impl<T> Conv for T
§fn conv<T>(self) -> Twhere
diff --git a/cairo_native/utils/trait.ProgramRegistryExt.html b/cairo_native/utils/trait.ProgramRegistryExt.html
index d07d0c6f6..cce53da74 100644
--- a/cairo_native/utils/trait.ProgramRegistryExt.html
+++ b/cairo_native/utils/trait.ProgramRegistryExt.html
@@ -1,4 +1,4 @@
-ProgramRegistryExt in cairo_native::utils - Rust Trait cairo_native::utils::ProgramRegistryExt
source · pub trait ProgramRegistryExt<TType, TLibfunc>where
+ProgramRegistryExt in cairo_native::utils - Rust Trait cairo_native::utils::ProgramRegistryExt
source · pub trait ProgramRegistryExt<TType, TLibfunc>where
TType: GenericType,
TLibfunc: GenericLibfunc,{
// Required methods
@@ -22,7 +22,7 @@
) -> Result<(Type<'ctx>, Layout), <TType::Concrete as TypeBuilder<TType, TLibfunc>>::Error>
where <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,
<<TType as GenericType>::Concrete as TypeBuilder<TType, TLibfunc>>::Error: From<Box<ProgramRegistryError>>;
-}
Required Methods§
sourcefn build_type<'ctx>(
+}Required Methods§
sourcefn build_type<'ctx>(
&self,
context: &'ctx Context,
module: &Module<'ctx>,
@@ -31,7 +31,7 @@
id: &ConcreteTypeId
) -> Result<Type<'ctx>, <TType::Concrete as TypeBuilder<TType, TLibfunc>>::Error>where
<TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,
- <<TType as GenericType>::Concrete as TypeBuilder<TType, TLibfunc>>::Error: From<Box<ProgramRegistryError>>,
sourcefn build_type_with_layout<'ctx>(
+ <<TType as GenericType>::Concrete as TypeBuilder<TType, TLibfunc>>::Error: From<Box<ProgramRegistryError>>,
sourcefn build_type_with_layout<'ctx>(
&self,
context: &'ctx Context,
module: &Module<'ctx>,
@@ -40,10 +40,10 @@
id: &ConcreteTypeId
) -> Result<(Type<'ctx>, Layout), <TType::Concrete as TypeBuilder<TType, TLibfunc>>::Error>where
<TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,
- <<TType as GenericType>::Concrete as TypeBuilder<TType, TLibfunc>>::Error: From<Box<ProgramRegistryError>>,
Implementations on Foreign Types§
source§impl<TType, TLibfunc> ProgramRegistryExt<TType, TLibfunc> for ProgramRegistry<TType, TLibfunc>where
+ <<TType as GenericType>::Concrete as TypeBuilder<TType, TLibfunc>>::Error: From<Box<ProgramRegistryError>>,
Implementations on Foreign Types§
source§impl<TType, TLibfunc> ProgramRegistryExt<TType, TLibfunc> for ProgramRegistry<TType, TLibfunc>where
TType: GenericType,
TLibfunc: GenericLibfunc,
- <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,
source§fn build_type<'ctx>(
+ <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,
source§fn build_type<'ctx>(
&self,
context: &'ctx Context,
module: &Module<'ctx>,
@@ -52,7 +52,7 @@
id: &ConcreteTypeId
) -> Result<Type<'ctx>, <TType::Concrete as TypeBuilder<TType, TLibfunc>>::Error>where
<TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,
- <<TType as GenericType>::Concrete as TypeBuilder<TType, TLibfunc>>::Error: From<Box<ProgramRegistryError>>,
source§fn build_type_with_layout<'ctx>(
+ <<TType as GenericType>::Concrete as TypeBuilder<TType, TLibfunc>>::Error: From<Box<ProgramRegistryError>>,
source§fn build_type_with_layout<'ctx>(
&self,
context: &'ctx Context,
module: &Module<'ctx>,
diff --git a/cairo_native/values/enum.JITValue.html b/cairo_native/values/enum.JITValue.html
index f16d2d5c6..2a3f92d48 100644
--- a/cairo_native/values/enum.JITValue.html
+++ b/cairo_native/values/enum.JITValue.html
@@ -25,7 +25,7 @@
They map to the cairo/sierra types.
The debug_name field on some variants is Some
when receiving a JITValue
as a result.
Variants§
§Felt252(Felt252)
§Array(Vec<Self>)
all elements need to be same type
-§Struct
§Enum
§Felt252Dict
§Uint8(u8)
§Uint16(u16)
§Uint32(u32)
§Uint64(u64)
§Uint128(u128)
§EcPoint(Felt252, Felt252)
§EcState(Felt252, Felt252, Felt252, Felt252)
Implementations§
source§impl JITValue
Implementations§
Trait Implementations§
source§impl PartialEq<JITValue> for JITValue
source§impl Eq for JITValue
Auto Trait Implementations§
§impl RefUnwindSafe for JITValue
§impl Send for JITValue
§impl Sync for JITValue
§impl Unpin for JITValue
§impl UnwindSafe for JITValue
Blanket Implementations§
source§impl<T> Any for Twhere
diff --git a/cairo_native/values/index.html b/cairo_native/values/index.html
index d52140ad3..b8f2e1e15 100644
--- a/cairo_native/values/index.html
+++ b/cairo_native/values/index.html
@@ -1,4 +1,4 @@
-cairo_native::values - Rust Module cairo_native::values
source · Expand description
JIT params and return values de/serialization
+cairo_native::values - Rust Module cairo_native::values
source · Expand description
JIT params and return values de/serialization
A Rusty interface to provide parameters to JIT calls.
Enums
- A JITValue is a value that can be passed to the JIT engine as an argument or received as a result.
Traits
- The
ValueBuilder
trait is implemented any de/serializable value, which is the TType
generic.
\ No newline at end of file
diff --git a/cairo_native/values/trait.ValueBuilder.html b/cairo_native/values/trait.ValueBuilder.html
index bd65d835e..3d15af867 100644
--- a/cairo_native/values/trait.ValueBuilder.html
+++ b/cairo_native/values/trait.ValueBuilder.html
@@ -1,10 +1,10 @@
-ValueBuilder in cairo_native::values - Rust Trait cairo_native::values::ValueBuilder
source · pub trait ValueBuilder {
+ValueBuilder in cairo_native::values - Rust Trait cairo_native::values::ValueBuilder
source · pub trait ValueBuilder {
// Required method
fn is_complex(&self) -> bool;
}
Expand description
The ValueBuilder
trait is implemented any de/serializable value, which is the TType
generic.
-Required Methods§
sourcefn is_complex(&self) -> bool
Return whether the type is considered complex or simple.
+Required Methods§
sourcefn is_complex(&self) -> bool
Return whether the type is considered complex or simple.
Complex types are always passed by pointer (both as params and return values) and require a
stack allocation. Examples of complex values include structs and enums, but not felts since
LLVM considers them integers.
-Implementations on Foreign Types§
source§impl ValueBuilder for CoreTypeConcrete
source§fn is_complex(&self) -> bool
Implementors§
\ No newline at end of file
+
Implementations on Foreign Types§
source§impl ValueBuilder for CoreTypeConcrete
source§fn is_complex(&self) -> bool
Implementors§
\ No newline at end of file
diff --git a/cairo_native_runtime/all.html b/cairo_native_runtime/all.html
index 2e2d089ac..58bd5956f 100644
--- a/cairo_native_runtime/all.html
+++ b/cairo_native_runtime/all.html
@@ -1 +1 @@
-List of all items in this crate List of all items
Functions
- cairo_native__alloc_dict
- cairo_native__dict_get
- cairo_native__dict_insert
- cairo_native__libfunc__debug__print
- cairo_native__libfunc__ec__ec_point_from_x_nz
- cairo_native__libfunc__ec__ec_point_try_new_nz
- cairo_native__libfunc__ec__ec_state_add
- cairo_native__libfunc__ec__ec_state_add_mul
- cairo_native__libfunc__ec__ec_state_try_finalize_nz
- cairo_native__libfunc__hades_permutation
- cairo_native__libfunc__pedersen
\ No newline at end of file
+List of all items in this crate List of all items
Functions
- cairo_native__alloc_dict
- cairo_native__dict_free
- cairo_native__dict_get
- cairo_native__dict_insert
- cairo_native__libfunc__debug__print
- cairo_native__libfunc__ec__ec_point_from_x_nz
- cairo_native__libfunc__ec__ec_point_try_new_nz
- cairo_native__libfunc__ec__ec_state_add
- cairo_native__libfunc__ec__ec_state_add_mul
- cairo_native__libfunc__ec__ec_state_try_finalize_nz
- cairo_native__libfunc__hades_permutation
- cairo_native__libfunc__pedersen
\ No newline at end of file
diff --git a/cairo_native_runtime/fn.cairo_native__dict_free.html b/cairo_native_runtime/fn.cairo_native__dict_free.html
new file mode 100644
index 000000000..4b7ed310a
--- /dev/null
+++ b/cairo_native_runtime/fn.cairo_native__dict_free.html
@@ -0,0 +1,6 @@
+cairo_native__dict_free in cairo_native_runtime - Rust Function cairo_native_runtime::cairo_native__dict_free
source · #[no_mangle]
+pub unsafe extern "C" fn cairo_native__dict_free(map: *mut c_void)
Expand description
Frees the dictionary.
+Safety
+This function is intended to be called from MLIR, deals with pointers, and is therefore
+definitely unsafe to use manually.
+
\ No newline at end of file
diff --git a/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_point_from_x_nz.html b/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_point_from_x_nz.html
index c4e407546..2a92082c4 100644
--- a/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_point_from_x_nz.html
+++ b/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_point_from_x_nz.html
@@ -1,4 +1,4 @@
-cairo_native__libfunc__ec__ec_point_from_x_nz in cairo_native_runtime - Rust #[no_mangle]
+cairo_native__libfunc__ec__ec_point_from_x_nz in cairo_native_runtime - Rust #[no_mangle]
pub unsafe extern "C" fn cairo_native__libfunc__ec__ec_point_from_x_nz(
point_ptr: NonNull<[[u8; 32]; 2]>
) -> bool
Expand description
Compute ec_point_from_x_nz(x)
and store it.
diff --git a/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_point_try_new_nz.html b/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_point_try_new_nz.html
index 4335a21ec..c959b12d3 100644
--- a/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_point_try_new_nz.html
+++ b/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_point_try_new_nz.html
@@ -1,4 +1,4 @@
-cairo_native__libfunc__ec__ec_point_try_new_nz in cairo_native_runtime - Rust #[no_mangle]
+cairo_native__libfunc__ec__ec_point_try_new_nz in cairo_native_runtime - Rust #[no_mangle]
pub unsafe extern "C" fn cairo_native__libfunc__ec__ec_point_try_new_nz(
point_ptr: NonNull<[[u8; 32]; 2]>
) -> bool
Expand description
Compute ec_point_try_new_nz(x)
.
diff --git a/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_add.html b/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_add.html
index 2c6af91cd..7705a3428 100644
--- a/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_add.html
+++ b/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_add.html
@@ -1,4 +1,4 @@
-cairo_native__libfunc__ec__ec_state_add in cairo_native_runtime - Rust #[no_mangle]
+cairo_native__libfunc__ec__ec_state_add in cairo_native_runtime - Rust #[no_mangle]
pub unsafe extern "C" fn cairo_native__libfunc__ec__ec_state_add(
state_ptr: NonNull<[[u8; 32]; 4]>,
point_ptr: NonNull<[[u8; 32]; 2]>
diff --git a/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_add_mul.html b/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_add_mul.html
index e2c66afcd..9d0f78764 100644
--- a/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_add_mul.html
+++ b/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_add_mul.html
@@ -1,4 +1,4 @@
-cairo_native__libfunc__ec__ec_state_add_mul in cairo_native_runtime - Rust #[no_mangle]
+cairo_native__libfunc__ec__ec_state_add_mul in cairo_native_runtime - Rust #[no_mangle]
pub unsafe extern "C" fn cairo_native__libfunc__ec__ec_state_add_mul(
state_ptr: NonNull<[[u8; 32]; 4]>,
scalar_ptr: NonNull<[u8; 32]>,
diff --git a/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_try_finalize_nz.html b/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_try_finalize_nz.html
index 2744a134c..2d9844943 100644
--- a/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_try_finalize_nz.html
+++ b/cairo_native_runtime/fn.cairo_native__libfunc__ec__ec_state_try_finalize_nz.html
@@ -1,4 +1,4 @@
-cairo_native__libfunc__ec__ec_state_try_finalize_nz in cairo_native_runtime - Rust #[no_mangle]
+cairo_native__libfunc__ec__ec_state_try_finalize_nz in cairo_native_runtime - Rust #[no_mangle]
pub unsafe extern "C" fn cairo_native__libfunc__ec__ec_state_try_finalize_nz(
point_ptr: NonNull<[[u8; 32]; 2]>,
state_ptr: NonNull<[[u8; 32]; 4]>
diff --git a/cairo_native_runtime/index.html b/cairo_native_runtime/index.html
index 09e70d2f2..c59161a4c 100644
--- a/cairo_native_runtime/index.html
+++ b/cairo_native_runtime/index.html
@@ -1 +1 @@
-cairo_native_runtime - Rust Crate cairo_native_runtime
source · Functions
- Allocates a new dictionary. Internally a rust hashmap:
HashMap<[u8; 32], NonNull<()>
- Gets the value for a given key, the returned pointer is null if not found.
- Inserts the provided key value. Returning the old one or nullptr if there was none.
- Based on
cairo-lang-runner
’s implementation. - Compute
ec_point_from_x_nz(x)
and store it. - Compute
ec_point_try_new_nz(x)
. - Compute
ec_state_add(state, point)
and store the state back. - Compute
ec_state_add_mul(state, scalar, point)
and store the state back. - Compute
ec_state_try_finalize_nz(state)
and store the result. - Compute
hades_permutation(op0, op1, op2)
and replace the operands with the results. - Compute
pedersen(lhs, rhs)
and store it into dst
.
\ No newline at end of file
+cairo_native_runtime - Rust Crate cairo_native_runtime
source · Functions
- Allocates a new dictionary. Internally a rust hashmap:
HashMap<[u8; 32], NonNull<()>
- Frees the dictionary.
- Gets the value for a given key, the returned pointer is null if not found.
- Inserts the provided key value. Returning the old one or nullptr if there was none.
- Based on
cairo-lang-runner
’s implementation. - Compute
ec_point_from_x_nz(x)
and store it. - Compute
ec_point_try_new_nz(x)
. - Compute
ec_state_add(state, point)
and store the state back. - Compute
ec_state_add_mul(state, scalar, point)
and store the state back. - Compute
ec_state_try_finalize_nz(state)
and store the result. - Compute
hades_permutation(op0, op1, op2)
and replace the operands with the results. - Compute
pedersen(lhs, rhs)
and store it into dst
.
\ No newline at end of file
diff --git a/cairo_native_runtime/sidebar-items.js b/cairo_native_runtime/sidebar-items.js
index 9bcca5258..9fda77553 100644
--- a/cairo_native_runtime/sidebar-items.js
+++ b/cairo_native_runtime/sidebar-items.js
@@ -1 +1 @@
-window.SIDEBAR_ITEMS = {"fn":["cairo_native__alloc_dict","cairo_native__dict_get","cairo_native__dict_insert","cairo_native__libfunc__debug__print","cairo_native__libfunc__ec__ec_point_from_x_nz","cairo_native__libfunc__ec__ec_point_try_new_nz","cairo_native__libfunc__ec__ec_state_add","cairo_native__libfunc__ec__ec_state_add_mul","cairo_native__libfunc__ec__ec_state_try_finalize_nz","cairo_native__libfunc__hades_permutation","cairo_native__libfunc__pedersen"]};
\ No newline at end of file
+window.SIDEBAR_ITEMS = {"fn":["cairo_native__alloc_dict","cairo_native__dict_free","cairo_native__dict_get","cairo_native__dict_insert","cairo_native__libfunc__debug__print","cairo_native__libfunc__ec__ec_point_from_x_nz","cairo_native__libfunc__ec__ec_point_try_new_nz","cairo_native__libfunc__ec__ec_state_add","cairo_native__libfunc__ec__ec_state_add_mul","cairo_native__libfunc__ec__ec_state_try_finalize_nz","cairo_native__libfunc__hades_permutation","cairo_native__libfunc__pedersen"]};
\ No newline at end of file
diff --git a/help.html b/help.html
index 8b363e0fe..3aa214f0e 100644
--- a/help.html
+++ b/help.html
@@ -1 +1 @@
-Rustdoc help Rustdoc help
Back
\ No newline at end of file
+Rustdoc help Rustdoc help
Back
\ No newline at end of file
diff --git a/implementors/core/convert/trait.From.js b/implementors/core/convert/trait.From.js
index 7f7519df7..837f3581a 100644
--- a/implementors/core/convert/trait.From.js
+++ b/implementors/core/convert/trait.From.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"cairo_native":[["impl<E> From<E> for Errorwhere\n ErrorImpl: From<E>,"],["impl<TType, TLibfunc> From<EditStateError> for ErrorImpl<TType, TLibfunc>where\n TType: GenericType,\n TLibfunc: GenericLibfunc,\n <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,\n <TLibfunc as GenericLibfunc>::Concrete: LibfuncBuilder<TType, TLibfunc>,"],["impl From<LayoutError> for ErrorImpl"],["impl From<Box<ProgramRegistryError, Global>> for ErrorImpl"],["impl<T: Into<JITValue>, const N: usize> From<[T; N]> for JITValue"],["impl<E> From<E> for Errorwhere\n ErrorImpl: From<E>,"],["impl From<u64> for JITValue"],["impl<TType, TLibfunc, E> From<E> for Box<Error<TType, TLibfunc>>where\n TType: GenericType,\n TLibfunc: GenericLibfunc,\n <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,\n <TLibfunc as GenericLibfunc>::Concrete: LibfuncBuilder<TType, TLibfunc>,\n ErrorImpl<TType, TLibfunc>: From<E>,"],["impl<TType, TLibfunc, E> From<E> for Error<TType, TLibfunc>where\n TType: GenericType,\n TLibfunc: GenericLibfunc,\n <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,\n <TLibfunc as GenericLibfunc>::Concrete: LibfuncBuilder<TType, TLibfunc>,\n ErrorImpl<TType, TLibfunc>: From<E>,"],["impl From<Error> for ErrorImpl"],["impl From<Box<ProgramRegistryError, Global>> for ErrorImpl"],["impl From<LayoutError> for ErrorImpl"],["impl From<u16> for JITValue"],["impl<TType, TLibfunc> From<Box<ProgramRegistryError, Global>> for ErrorImpl<TType, TLibfunc>where\n TType: GenericType,\n TLibfunc: GenericLibfunc,\n <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,\n <TLibfunc as GenericLibfunc>::Concrete: LibfuncBuilder<TType, TLibfunc>,"],["impl From<Felt252> for JITValue"],["impl From<TryFromIntError> for ErrorImpl"],["impl<T: Into<JITValue> + Clone> From<&[T]> for JITValue"],["impl From<u32> for JITValue"],["impl From<TryFromIntError> for ErrorImpl"],["impl From<Error> for ErrorImpl"],["impl<TType, TLibfunc> From<Error> for ErrorImpl<TType, TLibfunc>where\n TType: GenericType,\n TLibfunc: GenericLibfunc,\n <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,\n <TLibfunc as GenericLibfunc>::Concrete: LibfuncBuilder<TType, TLibfunc>,"],["impl From<Box<ProgramRegistryError, Global>> for ErrorImpl"],["impl<T: Into<JITValue>> From<Vec<T, Global>> for JITValue"],["impl From<LayoutError> for ErrorImpl"],["impl<E> From<E> for Errorwhere\n ErrorImpl: From<E>,"],["impl From<LayoutError> for ErrorImpl"],["impl<E> From<E> for Box<Error>where\n ErrorImpl: From<E>,"],["impl From<Error> for ErrorImpl"],["impl From<u128> for JITValue"],["impl From<u8> for JITValue"],["impl From<LayoutError> for ErrorImpl"]]
+"cairo_native":[["impl<E> From<E> for Errorwhere\n ErrorImpl: From<E>,"],["impl<TType, TLibfunc> From<EditStateError> for ErrorImpl<TType, TLibfunc>where\n TType: GenericType,\n TLibfunc: GenericLibfunc,\n <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,\n <TLibfunc as GenericLibfunc>::Concrete: LibfuncBuilder<TType, TLibfunc>,"],["impl From<LayoutError> for ErrorImpl"],["impl From<Box<ProgramRegistryError, Global>> for ErrorImpl"],["impl<T: Into<JITValue>, const N: usize> From<[T; N]> for JITValue"],["impl<E> From<E> for Errorwhere\n ErrorImpl: From<E>,"],["impl From<u64> for JITValue"],["impl<TType, TLibfunc, E> From<E> for Box<Error<TType, TLibfunc>>where\n TType: GenericType,\n TLibfunc: GenericLibfunc,\n <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,\n <TLibfunc as GenericLibfunc>::Concrete: LibfuncBuilder<TType, TLibfunc>,\n ErrorImpl<TType, TLibfunc>: From<E>,"],["impl<TType, TLibfunc, E> From<E> for Error<TType, TLibfunc>where\n TType: GenericType,\n TLibfunc: GenericLibfunc,\n <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,\n <TLibfunc as GenericLibfunc>::Concrete: LibfuncBuilder<TType, TLibfunc>,\n ErrorImpl<TType, TLibfunc>: From<E>,"],["impl From<Error> for ErrorImpl"],["impl From<Box<ProgramRegistryError, Global>> for ErrorImpl"],["impl From<LayoutError> for ErrorImpl"],["impl From<u16> for JITValue"],["impl<TType, TLibfunc> From<Box<ProgramRegistryError, Global>> for ErrorImpl<TType, TLibfunc>where\n TType: GenericType,\n TLibfunc: GenericLibfunc,\n <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,\n <TLibfunc as GenericLibfunc>::Concrete: LibfuncBuilder<TType, TLibfunc>,"],["impl From<Felt252> for JITValue"],["impl From<TryFromIntError> for ErrorImpl"],["impl<T: Into<JITValue> + Clone> From<&[T]> for JITValue"],["impl From<u32> for JITValue"],["impl From<TryFromIntError> for ErrorImpl"],["impl From<Error> for ErrorImpl"],["impl<TType, TLibfunc> From<Error> for ErrorImpl<TType, TLibfunc>where\n TType: GenericType,\n TLibfunc: GenericLibfunc,\n <TType as GenericType>::Concrete: TypeBuilder<TType, TLibfunc>,\n <TLibfunc as GenericLibfunc>::Concrete: LibfuncBuilder<TType, TLibfunc>,"],["impl From<Box<ProgramRegistryError, Global>> for ErrorImpl"],["impl<T: Into<JITValue>> From<Vec<T, Global>> for JITValue"],["impl From<Error> for ErrorImpl"],["impl From<Error> for ErrorImpl"],["impl From<LayoutError> for ErrorImpl"],["impl<E> From<E> for Errorwhere\n ErrorImpl: From<E>,"],["impl From<LayoutError> for ErrorImpl"],["impl<E> From<E> for Box<Error>where\n ErrorImpl: From<E>,"],["impl From<Error> for ErrorImpl"],["impl From<u128> for JITValue"],["impl From<u8> for JITValue"],["impl From<LayoutError> for ErrorImpl"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/search-index.js b/search-index.js
index 9b32a616c..22aa47ac7 100644
--- a/search-index.js
+++ b/search-index.js
@@ -1,9 +1,9 @@
var searchIndex = JSON.parse('{\
-"cairo_native":{"doc":"This crate is a compiler and JIT engine that transforms …","t":"DDLLLLLLALLLLFAAAFFAALLLLLLLAAAFFLMMLLLLLLLLLLLLLLALLLLLLLLLALLLLAALLDLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLFLLLLLLLLLLLLLLLDDLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLCCCCAAAAGNDENNNNLLLLLLLLLLLLLLLLLFFLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLMMMMDENNNNNNGNNLLLLLLLLLLLLLLLLLFFFFLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLMMMMDENNNNGNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLDENNNGNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLDLLLMMLLLLMMLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLEQNIDNLALAAALLLLALAKALLLALAAAAAAALLAALLLKAAAALLLLLLLLLLLLLLAAALLLLLLLLAAAAAAAAALLLLLLFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDLLALALLALLLLLLAALLLLLLLLAAAALLLLLLDLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLDDDLMLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLGDLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLLLLDDDDIGDDLMMMMLLLLLLLLLLLLKMMLLMKKMLLLLLLLKKLLLLLLKKMMKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKKKKKKKKMKKKKKKKKKKKKMKKLMLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLMLLLLLLQIDLALLLLALLAKALLLLAAALLALLLLLLAAALLALLKLKLAAAAALLLLLLLALAAAALLLLLAAAAAAALLKLFFFFFFFGFFFDDLLLLFLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLFFFFFFFFFFFFFFFFFFFFFFFFFDILLLKKFLLFFLLLLLLFFFFFFLLLFFLFFFFLFLLLLLLLFLLLLLFLLLNNNNNNENNNNNNILLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLMMMMMMM","n":["ExecutionResult","LLVMCompileError","__clone_box","__clone_box","borrow","borrow","borrow_mut","borrow_mut","cache","clone","clone","clone_into","clone_into","compile","context","debug_info","error","execute","execute_contract","execution_result","executor","fmt","fmt","fmt","from","from","into","into","libfuncs","metadata","module","module_to_object","object_to_shared_lib","provide","remaining_gas","return_values","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","starknet","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","types","upcast","upcast","upcast_mut","upcast_mut","utils","values","vzip","vzip","ProgramCache","borrow","borrow_mut","compile_and_insert","context","fmt","from","get","into","new","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","NativeContext","borrow","borrow_mut","compile","default","eq","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","from","initialize_mlir","into","new","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","DebugInfo","DebugLocations","__clone_box","__clone_box","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","extract","extract","fmt","fmt","from","from","funcs","funcs","into","into","libfunc_declarations","libfunc_declarations","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","statements","statements","to_owned","to_owned","try_from","try_from","try_into","try_into","type_declarations","type_declarations","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","CompileError","CoreLibfuncBuilderError","CoreTypeBuilderError","JitRunnerError","compile","jit_engine","libfuncs","types","CompileError","EditStateError","Error","ErrorImpl","LibfuncBuilderError","MlirError","ProgramRegistryError","TypeBuilderError","borrow","borrow","borrow_mut","borrow_mut","deref","fmt","fmt","fmt","fmt","from","from","from","from","from","from","into","into","make_libfunc_builder_error","make_type_builder_error","provide","provide","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","source","source","source","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","error","error","libfunc_id","type_id","Error","ErrorImpl","InsufficientGasError","LayoutError","MissingParameter","MissingSyscallHandler","MlirError","ProgramRegistryError","RunnerError","TypeBuilderError","UnexpectedValue","borrow","borrow","borrow_mut","borrow_mut","deref","fmt","fmt","fmt","fmt","from","from","from","from","from","from","into","into","make_insufficient_gas_error","make_missing_parameter","make_type_builder_error","make_unexpected_value_error","provide","provide","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","source","source","source","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","error","have","needed","type_id","Error","ErrorImpl","LayoutError","LayoutErrorPolyfill","MlirError","ProgramRegistryError","Result","TryFromIntError","borrow","borrow","borrow_mut","borrow_mut","deref","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","into","into","provide","provide","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","source","source","source","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","Error","ErrorImpl","LayoutError","LayoutErrorPolyfill","ProgramRegistryError","Result","TryFromIntError","borrow","borrow","borrow_mut","borrow_mut","deref","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","into","into","provide","provide","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","source","source","source","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","ContractExecutionResult","borrow","borrow_mut","default","error_msg","failure_flag","fmt","from","from_execution_result","into","remaining_gas","return_values","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","NativeExecutor","borrow","borrow_mut","execute","execute_contract","from","get_module","get_module_mut","get_program_registry","into","new","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","BranchTarget","Error","Jump","LibfuncBuilder","LibfuncHelper","Return","__clone_box","ap_tracking","append_block","array","bitwise","bool","borrow","borrow","borrow_mut","borrow_mut","box","br","branch_align","build","cast","clone","clone_into","cond_br","debug","deref","drop","dup","ec","enum","felt252","felt252_dict","felt252_dict_entry","from","from","function_call","gas","init_block","into","into","is_function_call","mem","nullable","pedersen","poseidon","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","snapshot_take","stark_net","struct","switch","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","uint128","uint16","uint256","uint32","uint512","uint64","uint8","unconditional_jump","unwrap_non_zero","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","build","build_disable","build_enable","build_revoke","build","build_append","build_get","build_len","build_new","build_pop_front","build_pop_front_consume","build_slice","build_snapshot_pop_back","build_snapshot_pop_front","build","build","build_bool_not","build_bool_to_felt252","build","build_into_box","build_unbox","build","build","build_downcast","build_upcast","build","build_print","build","build","build","build_is_zero","build_neg","build_point_from_x","build_state_add","build_state_add_mul","build_state_finalize","build_state_init","build_try_new","build_unwrap_point","build_zero","build","build_init","build_match","build_snapshot_match","build","build_binary_operation","build_const","build_is_zero","build","build_new","build_squash","build","build_finalize","build_get","build","build","build_builtin_withdraw_gas","build_get_builtin_costs","build_withdraw_gas","build","build_alloc_local","build_finalize_locals","build_rename","build_store_local","build_store_temp","build","build","build_pedersen","build","build_hades_permutation","build","build","build_call_contract","build_class_hash_const","build_class_hash_to_felt252","build_class_hash_try_from_felt252","build_contract_address_const","build_contract_address_to_felt252","build_contract_address_try_from_felt252","build_deploy","build_emit_event","build_get_block_hash","build_get_execution_info","build_keccak","build_library_call","build_replace_class","build_send_message_to_l1","build_storage_address_from_base","build_storage_address_from_base_and_offset","build_storage_address_to_felt252","build_storage_address_try_from_felt252","build_storage_base_address_const","build_storage_base_address_from_felt252","build_storage_read","build_storage_write","build","build_construct","build_deconstruct","build","build_byte_reverse","build_const","build_divmod","build_equal","build_from_felt252","build_guarantee_mul","build_guarantee_verify","build_is_zero","build_operation","build_square_root","build_to_felt252","build","build_const","build_divmod","build_equal","build_from_felt252","build_is_zero","build_operation","build_square_root","build_to_felt252","build_widemul","build","build_divmod","build_is_zero","build_square_root","build","build_const","build_divmod","build_equal","build_from_felt252","build_is_zero","build_operation","build_square_root","build_to_felt252","build_widemul","build","build_divmod_u256","build","build_const","build_divmod","build_equal","build_from_felt252","build_is_zero","build_operation","build_square_root","build_to_felt252","build_widemul","build","build_const","build_divmod","build_equal","build_from_felt252","build_is_zero","build_operation","build_square_root","build_to_felt252","build_widemul","build","build","MetadataStorage","borrow","borrow_mut","debug_utils","default","enum_snapshot_variants","fmt","from","gas","get","get_mut","get_or_insert_with","insert","into","new","prime_modulo","realloc_bindings","remove","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","runtime_bindings","snapshot_clones","syscall_handler","tail_recursion","try_from","try_into","type_id","upcast","upcast_mut","vzip","DebugUtils","borrow","borrow_mut","breakpoint_marker","default","fmt","from","into","print_i1","print_pointer","register_impls","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","EnumSnapshotVariantsMeta","borrow","borrow_mut","default","from","get_variants","into","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","set_mapping","try_from","try_into","type_id","upcast","upcast_mut","vzip","GasCost","GasMetadata","MetadataComputationConfig","__clone_box","ap_change_info","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","fmt","from","from","from","function_set_costs","gas_info","get_gas_cost_for_statement","get_initial_required_gas","into","into","into","new","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","upcast","upcast","upcast","upcast_mut","upcast_mut","upcast_mut","vzip","vzip","vzip","PrimeModuloMeta","borrow","borrow_mut","fmt","from","into","new","prime","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","ReallocBindingsMeta","borrow","borrow_mut","fmt","from","into","new","realloc","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","RuntimeBindingsMeta","borrow","borrow_mut","default","dict_alloc_new","dict_get","dict_insert","fmt","from","into","libfunc_debug_print","libfunc_ec_point_from_x_nz","libfunc_ec_point_try_new_nz","libfunc_ec_state_add","libfunc_ec_state_add_mul","libfunc_ec_state_try_finalize_nz","libfunc_hades_permutation","libfunc_pedersen","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","CloneFn","SnapshotClonesMeta","borrow","borrow_mut","default","from","into","register","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","wrap_invoke","SyscallHandlerMeta","__clone_box","as_ptr","borrow","borrow_mut","clone","clone_into","drop","eq","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","from","into","new","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","to_owned","try_from","try_into","type_id","upcast","upcast_mut","vzip","TailRecursionMeta","borrow","borrow_mut","depth_counter","fmt","from","into","new","recursion_target","return_target","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","set_return_target","try_from","try_into","type_id","upcast","upcast_mut","vzip","NativeModule","borrow","borrow_mut","fmt","from","get_metadata","get_required_init_gas","insert_metadata","into","metadata","module","new","program_registry","remove_metadata","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","BlockInfo","ExecutionInfo","Secp256k1Point","Secp256r1Point","StarkNetSyscallHandler","SyscallResult","TxInfo","U256","__clone_box","account_contract_address","block_info","block_number","block_timestamp","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","call_contract","caller_address","chain_id","clone","clone_into","contract_address","deploy","emit_event","entry_point_selector","fmt","from","from","from","from","from","from","get_block_hash","get_execution_info","into","into","into","into","into","into","keccak","library_call","max_fee","nonce","pop_log","replace_class","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","secp256k1_add","secp256k1_get_point_from_x","secp256k1_get_xy","secp256k1_mul","secp256k1_new","secp256r1_add","secp256r1_get_point_from_x","secp256r1_get_xy","secp256r1_mul","secp256r1_new","send_message_to_l1","sequencer_address","set_account_contract_address","set_block_number","set_block_timestamp","set_caller_address","set_chain_id","set_contract_address","set_max_fee","set_nonce","set_sequencer_address","set_signature","set_transaction_hash","set_version","signature","storage_read","storage_write","to_owned","transaction_hash","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","tx_info","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast_mut","upcast_mut","upcast_mut","upcast_mut","upcast_mut","upcast_mut","version","vzip","vzip","vzip","vzip","vzip","vzip","Error","TypeBuilder","WithSelf","__clone_box","array","as_bits","as_byte_slice","as_ref","as_slice_of","bitwise","borrow","borrow_mut","box","build","builtin_costs","clone","clone_into","deref","dim","ec_op","ec_point","ec_state","encode_hex","encode_hex_upper","enum","eq","equivalent","equivalent","equivalent","equivalent","equivalent","felt252","felt252_dict","felt252_dict_entry","fmt","from","gas_builtin","get_hash","hash","integer_width","into","layout","new","non_zero","nullable","pedersen","poseidon","range_check","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","segment_arena","self_ty","snapshot","squashed_felt252_dict","stark_net","struct","to_owned","try_as_bits","try_from","try_into","type_id","uint128","uint128_mul_guarantee","uint16","uint32","uint64","uint8","uninitialized","upcast","upcast_mut","variants","vzip","build","build","build","build","build","build","build","TypeLayout","build","get_layout_for_variants","get_type_for_variants","Felt252","PRIME","borrow","borrow","borrow_mut","borrow_mut","build","deref","fmt","from","from","into","into","register_prime_modulo_meta","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","build","build","build","build","build","build","build","build","build","build","build","build","build_class_hash","build_contract_address","build_storage_address","build_storage_base_address","build_system","build","build","build","build","build","build","build","build","LayoutError","ProgramRegistryExt","__clone_box","borrow","borrow_mut","build_type","build_type_with_layout","cairo_to_sierra","clone","clone_into","create_engine","debug_with","eq","equivalent","equivalent","equivalent","equivalent","equivalent","felt252_bigint","felt252_short_str","felt252_str","find_entry_point","find_entry_point_by_idx","find_function_id","fmt","fmt","from","generate_function_name","get_integer_layout","into","layout_repeat","next_multiple_of_u32","next_multiple_of_usize","padding_needed_for","provide","register_runtime_symbols","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","run_pass_manager","to_owned","to_string","try_from","try_into","type_id","u32_vec_to_felt","upcast","upcast_mut","vzip","Array","EcPoint","EcState","Enum","Felt252","Felt252Dict","JITValue","Struct","Uint128","Uint16","Uint32","Uint64","Uint8","ValueBuilder","__clone_box","borrow","borrow_mut","clone","clone_into","eq","equivalent","equivalent","equivalent","equivalent","equivalent","felt_str","fmt","from","from","from","from","from","from","from","from","from","from","into","is_complex","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","to_owned","try_from","try_into","type_id","upcast","upcast_mut","vzip","debug_name","debug_name","debug_name","fields","tag","value","value"],"q":[[0,"cairo_native"],[69,"cairo_native::cache"],[92,"cairo_native::context"],[121,"cairo_native::debug_info"],[177,"cairo_native::error"],[185,"cairo_native::error::compile"],[245,"cairo_native::error::compile::ErrorImpl"],[249,"cairo_native::error::jit_engine"],[314,"cairo_native::error::jit_engine::ErrorImpl"],[318,"cairo_native::error::libfuncs"],[379,"cairo_native::error::types"],[437,"cairo_native::execution_result"],[462,"cairo_native::executor"],[486,"cairo_native::libfuncs"],[571,"cairo_native::libfuncs::ap_tracking"],[575,"cairo_native::libfuncs::array"],[585,"cairo_native::libfuncs::bitwise"],[586,"cairo_native::libfuncs::bool"],[589,"cairo_native::libfuncs::box"],[592,"cairo_native::libfuncs::branch_align"],[593,"cairo_native::libfuncs::cast"],[596,"cairo_native::libfuncs::debug"],[598,"cairo_native::libfuncs::drop"],[599,"cairo_native::libfuncs::dup"],[600,"cairo_native::libfuncs::ec"],[611,"cairo_native::libfuncs::enum"],[615,"cairo_native::libfuncs::felt252"],[619,"cairo_native::libfuncs::felt252_dict"],[622,"cairo_native::libfuncs::felt252_dict_entry"],[625,"cairo_native::libfuncs::function_call"],[626,"cairo_native::libfuncs::gas"],[630,"cairo_native::libfuncs::mem"],[636,"cairo_native::libfuncs::nullable"],[637,"cairo_native::libfuncs::pedersen"],[639,"cairo_native::libfuncs::poseidon"],[641,"cairo_native::libfuncs::snapshot_take"],[642,"cairo_native::libfuncs::stark_net"],[666,"cairo_native::libfuncs::struct"],[669,"cairo_native::libfuncs::uint128"],[681,"cairo_native::libfuncs::uint16"],[691,"cairo_native::libfuncs::uint256"],[695,"cairo_native::libfuncs::uint32"],[705,"cairo_native::libfuncs::uint512"],[707,"cairo_native::libfuncs::uint64"],[717,"cairo_native::libfuncs::uint8"],[727,"cairo_native::libfuncs::unconditional_jump"],[728,"cairo_native::libfuncs::unwrap_non_zero"],[729,"cairo_native::metadata"],[764,"cairo_native::metadata::debug_utils"],[788,"cairo_native::metadata::enum_snapshot_variants"],[809,"cairo_native::metadata::gas"],[875,"cairo_native::metadata::prime_modulo"],[896,"cairo_native::metadata::realloc_bindings"],[917,"cairo_native::metadata::runtime_bindings"],[948,"cairo_native::metadata::snapshot_clones"],[970,"cairo_native::metadata::syscall_handler"],[1002,"cairo_native::metadata::tail_recursion"],[1026,"cairo_native::module"],[1053,"cairo_native::starknet"],[1217,"cairo_native::types"],[1294,"cairo_native::types::array"],[1295,"cairo_native::types::bitwise"],[1296,"cairo_native::types::box"],[1297,"cairo_native::types::builtin_costs"],[1298,"cairo_native::types::ec_op"],[1299,"cairo_native::types::ec_point"],[1300,"cairo_native::types::ec_state"],[1301,"cairo_native::types::enum"],[1305,"cairo_native::types::felt252"],[1345,"cairo_native::types::felt252_dict"],[1346,"cairo_native::types::felt252_dict_entry"],[1347,"cairo_native::types::gas_builtin"],[1348,"cairo_native::types::non_zero"],[1349,"cairo_native::types::nullable"],[1350,"cairo_native::types::pedersen"],[1351,"cairo_native::types::poseidon"],[1352,"cairo_native::types::range_check"],[1353,"cairo_native::types::segment_arena"],[1354,"cairo_native::types::snapshot"],[1355,"cairo_native::types::squashed_felt252_dict"],[1356,"cairo_native::types::stark_net"],[1362,"cairo_native::types::struct"],[1363,"cairo_native::types::uint128"],[1364,"cairo_native::types::uint128_mul_guarantee"],[1365,"cairo_native::types::uint16"],[1366,"cairo_native::types::uint32"],[1367,"cairo_native::types::uint64"],[1368,"cairo_native::types::uint8"],[1369,"cairo_native::types::uninitialized"],[1370,"cairo_native::utils"],[1423,"cairo_native::values"],[1476,"cairo_native::values::JITValue"]],"d":["The result of the JIT execution.","","","","","","","","","","","","","Run the compiler on a program. The compiled program is …","","Extracts useful debugging information from cairo programs …","Various error types used thorough the crate.","Execute a function on an engine loaded with a Sierra …","Utility function to make it easier to execute contracts. …","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self)
.","Calls U::from(self)
.","Compiler libfunc infrastructure","Code generation metadata","","Make sure to call","","","","","","","","","","","","","","","","","","","Starknet related code for cairo_native
","","","","","","","","","","Compiler type infrastructure","","","","","Various utilities","JIT params and return values de/serialization","","","A Cache for programs with the same context.","","","","","","Returns the argument unchanged.","","Calls U::from(self)
.","","","","","","","","","","","","","","","Context of IRs, dialects and passes for Cairo programs …","","","Compiles a sierra program into MLIR and then lowers to …","","","","","","","","","Returns the argument unchanged.","Initialize an MLIR context.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Starknet contract execution result.","","","","","","","Returns the argument unchanged.","Convert a [ExecuteResult
] to a [NativeExecutionResult
]","Calls U::from(self)
.","","","","","","","","","","","","","","","","A MLIR JIT execution engine in the context of Cairo Native.","","","Execute a program with the given params.","Execute a contract with the given calldata.","Returns the argument unchanged.","","","","Calls U::from(self)
.","","","","","","","","","","","","","","","A libfunc branching target.","Error type returned by this trait’s methods.","A block within the current libfunc.","Generation of MLIR operations from their Sierra …","Helper struct which contains logic generation for extra …","A statement’s branch target by its index.","","AP
tracking libfuncs","Inserts a new block after all the current libfunc’s …","Array libfuncs","Bitwise libfuncs","Boolean libfuncs","","","","","Box libfuncs","Creates an unconditional branching operation out of the …","Branch alignment libfunc","Generate the MLIR operations.","Casting libfuncs","","","Creates a conditional binary branching operation, …","Debug libfuncs","","AP
tracking libfuncs","State value duplication libfunc","Elliptic curve libfuncs","Enum-related libfuncs","felt252
-related libfuncs","felt252
dictionary libfuncs","felt252
dictionary entry libfuncs","Returns the argument unchanged.","Returns the argument unchanged.","Function call libfuncs","Gas management libfuncs","Return the initialization block.","Calls U::from(self)
.","Calls U::from(self)
.","Return the target function if the statement is a function …","Memory-related libfuncs","Nullable libfuncs","Pedersen hashing libfuncs","Poseidon hashing libfuncs","","","","","","","","","","","","","","","Snapshot taking libfuncs","StarkNet libfuncs","Struct-related libfuncs","Creates a conditional multi-branching operation, …","","","","","","","","u128
-related libfuncs","u16
-related libfuncs","u256
-related libfuncs","u32
-related libfuncs","u512
-related libfuncs","u64
-related libfuncs","u8
-related libfuncs","Unconditional jump libfunc","Non-zero unwrapping libfuncs","","","","","","","Select and call the correct libfunc builder function from …","Generate MLIR operations for the disable_ap_tracking
…","Generate MLIR operations for the enable_ap_tracking.
…","Generate MLIR operations for the revoke_ap_tracking.
…","Select and call the correct libfunc builder function from …","Generate MLIR operations for the array_append
libfunc.","Generate MLIR operations for the array_get
libfunc.","Generate MLIR operations for the array_append
libfunc.","Generate MLIR operations for the array_new
libfunc.","Generate MLIR operations for the array_pop_front
libfunc.","Generate MLIR operations for the array_pop_front_consume
…","Generate MLIR operations for the array_slice
libfunc.","Generate MLIR operations for the array_snapshot_pop_back
…","Generate MLIR operations for the array_snapshot_pop_front
…","Generate MLIR operations for the bitwise
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the bool_not_impl
libfunc.","Generate MLIR operations for the unbox
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the into_box
libfunc.","Generate MLIR operations for the unbox
libfunc.","Generate MLIR operations for the branch_align
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the downcast
libfunc.","Generate MLIR operations for the upcast
libfunc.","","","Generate MLIR operations for the drop
libfunc.","Generate MLIR operations for the dup
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the ec_point_is_zero
libfunc.","Generate MLIR operations for the ec_neg
libfunc.","Generate MLIR operations for the ec_point_from_x_nz
…","Generate MLIR operations for the ec_state_add
libfunc.","Generate MLIR operations for the ec_state_add_mul
libfunc.","Generate MLIR operations for the ec_state_try_finalize_nz
…","Generate MLIR operations for the ec_state_init
libfunc.","Generate MLIR operations for the ec_point_try_new_nz
…","Generate MLIR operations for the ec_point_unwrap
libfunc.","Generate MLIR operations for the ec_point_zero
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the enum_init
libfunc.","Generate MLIR operations for the enum_match
libfunc.","Generate MLIR operations for the enum_snapshot_match
…","Select and call the correct libfunc builder function from …","Generate MLIR operations for the following libfuncs:","Generate MLIR operations for the felt252_const
libfunc.","Generate MLIR operations for the felt252_is_zero
libfunc.","Select and call the correct libfunc builder function from …","","","Select and call the correct libfunc builder function from …","","","Generate MLIR operations for the function_call
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the withdraw_gas_all
libfunc.","Generate MLIR operations for the get_builtin_costs
libfunc.","Generate MLIR operations for the withdraw_gas
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the alloc_local
libfunc.","Generate MLIR operations for the finalize_locals
libfunc.","Generate MLIR operations for the rename
libfunc.","Generate MLIR operations for the store_local
libfunc.","Generate MLIR operations for the store_temp
libfunc.","Select and call the correct libfunc builder function from …","Select and call the correct libfunc builder function from …","","Select and call the correct libfunc builder function from …","","Generate MLIR operations for the snapshot_take
libfunc.","Select and call the correct libfunc builder function from …","","","","","","","","","","","","","","","","","","","","","","","","Select and call the correct libfunc builder function from …","Generate MLIR operations for the struct_construct
libfunc.","Generate MLIR operations for the struct_deconstruct
…","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u128_byte_reverse
libfunc.","Generate MLIR operations for the u128_const
libfunc.","Generate MLIR operations for the u128_safe_divmod
libfunc.","Generate MLIR operations for the u128_equal
libfunc.","Generate MLIR operations for the u128_from_felt252
libfunc.","Generate MLIR operations for the u128_guarantee_mul
…","Generate MLIR operations for the u128_guarantee_verify
…","Generate MLIR operations for the u128_is_zero
libfunc.","Generate MLIR operations for the u128_add
and u128_sub
…","Generate MLIR operations for the u128_sqrt
libfunc.","Generate MLIR operations for the u128_to_felt252
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u16_const
libfunc.","Generate MLIR operations for the u16_safe_divmod
libfunc.","Generate MLIR operations for the u16_eq
libfunc.","Generate MLIR operations for the u16_from_felt252
libfunc.","Generate MLIR operations for the u16_is_zero
libfunc.","Generate MLIR operations for the u16 operation libfunc.","Generate MLIR operations for the u16_sqrt
libfunc.","Generate MLIR operations for the u16_to_felt252
libfunc.","Generate MLIR operations for the u16_widemul
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u256_safe_divmod
libfunc.","Generate MLIR operations for the u256_is_zero
libfunc.","Generate MLIR operations for the u256_sqrt
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u32_const
libfunc.","Generate MLIR operations for the u32_safe_divmod
libfunc.","Generate MLIR operations for the u32_eq
libfunc.","Generate MLIR operations for the u32_from_felt252
libfunc.","Generate MLIR operations for the u32_is_zero
libfunc.","Generate MLIR operations for the u32 operation libfunc.","Generate MLIR operations for the u32_sqrt
libfunc.","Generate MLIR operations for the u32_to_felt252
libfunc.","Generate MLIR operations for the u32_widemul
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u512_safe_divmod_by_u256
…","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u64_const
libfunc.","Generate MLIR operations for the u64_safe_divmod
libfunc.","Generate MLIR operations for the u64_eq
libfunc.","Generate MLIR operations for the u64_from_felt252
libfunc.","Generate MLIR operations for the u64_is_zero
libfunc.","Generate MLIR operations for the u64 operation libfunc.","Generate MLIR operations for the u64_sqrt
libfunc.","Generate MLIR operations for the u64_to_felt252
libfunc.","Generate MLIR operations for the u64_widemul
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u8_const
libfunc.","Generate MLIR operations for the u8_safe_divmod
libfunc.","Generate MLIR operations for the u8_eq
libfunc.","Generate MLIR operations for the u8_from_felt252
libfunc.","Generate MLIR operations for the u8_is_zero
libfunc.","Generate MLIR operations for the u8 operation libfunc.","Generate MLIR operations for the u8_sqrt
libfunc.","Generate MLIR operations for the u8_to_felt252
libfunc.","Generate MLIR operations for the u8_widemul
libfunc.","Generate MLIR operations for the jump
libfunc.","Generate MLIR operations for the unwrap_non_zero
libfunc.","Metadata container.","","","Debug utilities","","","","Returns the argument unchanged.","","Retrieve a reference to some metadata.","Retrieve a mutable reference to some metadata.","","Insert some metadata and return a mutable reference.","Calls U::from(self)
.","Create an empty metadata container.","Finite field prime modulo","Memory allocation external bindings","Remove some metadata and return its last value.","","","","","","","","Runtime library bindings","","","Tail recursion information","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self)
.","","","","","","","","","","","","","","","","Holds global gas info.","Configuration for metadata computation.","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Prime modulo number metadata.","","","","Returns the argument unchanged.","Calls U::from(self)
.","Create the metadata from the prime number.","Return the stored prime number.","","","","","","","","","","","","","","Memory allocation realloc
metadata.","","","","Returns the argument unchanged.","Calls U::from(self)
.","Register the bindings to the realloc
C function and return …","Calls the realloc
function, returns a op with 1 result: an …","","","","","","","","","","","","","","Runtime library bindings metadata.","","","","Register if necessary, then invoke the dict_alloc_new()
…","Register if necessary, then invoke the dict_get()
function.","Register if necessary, then invoke the dict_insert()
…","","Returns the argument unchanged.","Calls U::from(self)
.","Register if necessary, then invoke the debug::print()
…","Register if necessary, then invoke the ec_point_from_x_nz()
…","Register if necessary, then invoke the …","Register if necessary, then invoke the ec_state_add()
…","Register if necessary, then invoke the ec_state_add_mul()
…","","Register if necessary, then invoke the poseidon()
function.","Register if necessary, then invoke the pedersen()
function.","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self)
.","","","","","","","","","","","","","","","","The tail recursion metadata.","","","Return the current depth counter value.","","Returns the argument unchanged.","Calls U::from(self)
.","Create the tail recursion meta.","Return the recursion target block.","Return the return target block, if set.","","","","","","","","Set the return target block.","","","","","","","A MLIR module in the context of Cairo Native. It is …","","","","Returns the argument unchanged.","Retrieve a reference to some stored metadata.","Given some contract function’s id, returns an option of …","Insert some metadata for the program execution and return …","Calls U::from(self)
.","","","","","Removes metadata","","","","","","","","","","","","","","","","","","","","","Binary representation of a u256
(in MLIR).","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Error type returned by this trait’s methods.","Generation of MLIR types from their Sierra counterparts.","","","Array type","","","","","Bitwise type","","","Box type","Build the MLIR type.","Builtin costs type","","","","","Elliptic curve operation type","Elliptic curve point type","Elliptic curve state type","","","Enum type","","","","","","","felt252
type","felt252
dictionary type","felt252
dictionary entry type","","Returns the argument unchanged.","Gas builtin type","","","If the type is an integer (felt not included) type, return …","Calls U::from(self)
.","Generate the layout of the MLIR type.","","Non-zero type","Nullable type","Pedersen type","Poseidon type","Builtin costs type","","","","","","","","Segment arena type","","Snapshot type","Squashed felt252
dictionary type","StarkNet types","Struct type","","","","","","Unsigned 128-bit integer type","Unsigned 128-bit multiplication guarantee type","Unsigned 16-bit integer type","Unsigned 32-bit integer type","Unsigned 64-bit integer type","Unsigned 8-bit integer type","Uninitialized type","","","If the type is a variant type, return all possible …","","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","An MLIR type with its memory layout.","Build the MLIR type.","Extract layout for the default enum representation, its …","Extract the type and layout for the default enum …","Marker type for the PrimeModuloMeta metadata.","The felt252
prime modulo.","","","","","Build the MLIR type.","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","","","","","","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","","","","","","","","Compile a cairo program found at the given path to sierra.","","","Creates the execution engine, with all symbols registered.","Return a type that calls a closure when formatted using …","","","","","","","Parse any type that can be a bigint to a felt that can be …","Parse a short string into a felt that can be used in the …","Parse a numeric string into felt, wrapping negatives …","Returns the given entry point if present.","Returns the given entry point if present.","Given a string representing a function name, searches in …","","","Returns the argument unchanged.","Generate a function name.","Return the layout for an integer of arbitrary width.","Calls U::from(self)
.","Copied from std.","","","Edit: Copied from the std lib.","","","","","","","","","","","","","","","","Converts a u32 slice into a Felt252","","","","all elements need to be same type","","","","","","A JITValue is a value that can be passed to the JIT engine …","","","","","","","The ValueBuilder
trait is implemented any de/serializable …","","","","","","","","","","","","String to felt","","","","Returns the argument unchanged.","","","","","","","","Calls U::from(self)
.","Return whether the type is considered complex or simple.","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,2,3,2,3,2,3,0,2,3,2,3,0,0,0,0,0,0,0,0,2,2,3,2,3,2,3,0,0,0,0,0,2,3,3,2,2,2,2,2,2,2,3,3,3,3,3,3,3,0,2,3,2,2,3,2,3,2,3,0,2,3,2,3,0,0,2,3,0,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,0,47,47,47,47,47,47,47,47,47,47,47,47,0,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,0,0,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,51,51,51,51,51,51,11,11,11,11,11,11,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,0,0,0,0,0,0,0,0,0,54,0,0,54,54,54,54,13,54,13,54,13,13,13,54,54,13,13,54,54,54,54,13,54,0,0,13,54,13,13,13,13,13,13,13,54,54,54,54,54,54,54,13,54,13,13,54,13,54,13,54,13,54,13,54,13,54,13,54,176,177,177,176,0,0,62,62,62,62,62,62,0,62,62,23,62,23,62,23,23,23,62,62,23,23,62,62,62,62,23,62,0,0,0,0,23,62,23,23,23,23,23,23,23,62,62,62,62,62,62,62,23,62,23,23,62,23,62,23,62,23,62,23,62,23,62,23,62,178,179,179,178,0,0,65,65,65,65,0,65,64,65,64,65,64,64,64,65,65,64,64,65,65,65,65,65,65,65,64,65,64,65,64,64,64,64,64,64,64,65,65,65,65,65,65,65,64,65,64,64,65,64,65,64,65,64,65,64,65,64,65,64,65,0,0,69,69,69,0,69,67,69,67,69,67,67,67,69,69,67,67,69,69,69,69,69,67,69,67,69,67,67,67,67,67,67,67,69,69,69,69,69,69,69,67,69,67,67,69,67,69,67,69,67,69,67,69,67,69,67,69,0,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,0,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,0,180,77,0,0,77,77,0,71,0,0,0,71,77,71,77,0,71,0,180,0,77,77,71,0,71,0,0,0,0,0,0,0,71,77,0,0,71,71,77,180,0,0,0,0,71,71,71,71,71,71,71,77,77,77,77,77,77,77,0,0,0,71,77,71,77,71,77,71,77,0,0,0,0,0,0,0,0,0,71,77,71,77,71,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,10,0,10,10,0,10,10,10,10,10,10,0,0,10,10,10,10,10,10,10,10,0,0,0,0,10,10,10,10,10,10,0,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,0,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,0,0,0,123,125,125,123,124,125,123,124,123,123,124,123,125,123,124,124,125,125,125,125,123,124,125,125,125,125,125,125,125,125,123,123,123,123,123,123,123,124,124,124,124,124,124,124,123,125,123,124,125,123,124,125,123,124,125,123,124,125,123,124,125,123,124,0,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,0,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,0,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,0,0,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,0,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,0,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,0,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,0,0,0,0,0,0,0,0,144,181,146,182,182,146,182,181,147,183,144,146,182,181,147,183,144,139,146,181,144,144,146,139,139,146,144,146,182,181,147,183,144,139,139,146,182,181,147,183,144,139,139,181,181,139,139,146,146,146,146,146,146,146,182,182,182,182,182,182,182,181,181,181,181,181,181,181,147,147,147,147,147,147,147,183,183,183,183,183,183,183,144,144,144,144,144,144,144,139,139,139,139,139,139,139,139,139,139,139,182,139,139,139,139,139,139,139,139,139,139,139,139,181,139,139,144,181,146,182,181,147,183,144,146,182,181,147,183,144,146,146,182,181,147,183,144,146,182,181,147,183,144,146,182,181,147,183,144,181,146,182,181,147,183,144,184,0,0,151,0,151,151,151,151,0,151,151,0,184,0,151,151,151,151,0,0,0,151,151,0,151,151,151,151,151,151,0,0,0,151,151,0,151,151,184,151,184,151,0,0,0,0,0,151,151,151,151,151,151,151,0,151,0,0,0,0,151,151,151,151,151,0,0,0,0,0,0,0,151,151,184,151,0,0,0,0,0,0,0,0,0,0,0,0,0,166,167,166,167,0,166,167,166,167,166,167,0,166,166,166,166,166,166,166,167,167,167,167,167,167,167,166,167,166,167,166,167,166,167,166,167,166,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,66,66,185,185,0,66,66,0,0,66,66,66,66,66,66,0,0,0,0,0,0,66,66,66,0,0,66,0,0,0,0,66,0,66,66,66,66,66,66,66,0,66,66,66,66,66,0,66,66,66,19,19,19,19,19,19,0,19,19,19,19,19,19,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,186,19,19,19,19,19,19,19,19,19,19,19,19,19,19,187,188,189,187,188,188,189],"f":[0,0,[1],[1],[[]],[[]],[[]],[[]],0,[2,2],[3,3],[[]],[[]],[[4,5,6,[9,[7,8]],10,[12,[11]]],[[14,[[13,[7,8]]]]]],0,0,0,[[15,[9,[16,17]],18,[20,[19]],[12,[21]],[12,[21]],[12,[22]]],[[14,[3,23]]]],[[15,[9,[16,17]],18,[20,[19]],[12,[21]],21,22],[[14,[24,23]]]],0,0,[[2,25],26],[[2,25],26],[[3,25],26],[[]],[[]],[[]],[[]],0,0,0,[5,[[14,[[28,[27]],2]]]],[[[20,[27]],29],[[14,[30]]]],[31],0,0,[[[28,[32]]],[[14,[[28,[32]]]]]],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[],14],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],0,[[]],[[]],[[],37],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],0,[[]],[[]],[[]],[[]],0,0,[[]],[[]],0,[[]],[[]],[[[43,[[0,[39,40,41,42]]]],[0,[39,40,41,42]],6],[[46,[[45,[44]]]]]],[[[43,[[0,[41,42,40]]]]],47],[[[43,[[0,[40,41,42]]]],25],26],[[]],[[[43,[[0,[39,40,41,42]]]],[0,[39,40,41,42]]],[[12,[[46,[[45,[44]]]]]]]],[[]],[47,[[43,[[0,[39,40,41,42]]]]]],[14,[[14,[14]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[12,[[14,[12]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[47,6],[[14,[48,49]]]],[[],47],[[47,47],50],[[],50],[[],50],[[],50],[[],50],[[],50],[[47,25],26],[[]],[[],4],[[]],[[],47],[[],14],[14,[[14,[14]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,[1],[1],[[]],[[]],[[]],[[]],[51,51],[11,11],[[]],[[]],[[52,6],[[14,[51,53]]]],[[4,52,51],11],[[51,25],26],[[11,25],26],[[]],[[]],0,0,[[]],[[]],0,0,[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],0,0,[[]],[[]],[[],14],[[],14],[[],14],[[],14],0,0,[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[[13,[7,8]]]],[[[13,[7,8]],25],26],[[[13,[7,8]],25],26],[[[54,[7,8]],25],26],[[[54,[7,8]],25],26],[[],[[13,[7,8]]]],[[]],[55,[[54,[7,8]]]],[[[33,[56]]],[[54,[7,8]]]],[57,[[54,[7,8]]]],[[]],[[]],[[]],[58,59],[60,59],[31],[31],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[12,[[14,[12]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[],14],[[[36,[35]]],[[14,[[36,[35]]]]]],[14,[[14,[14]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[13,[7,8]]],[[12,[61]]]],[[[54,[7,8]]],[[12,[61]]]],0,[[],37],[[],37],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[23],[[23,25],26],[[23,25],26],[[62,25],26],[[62,25],26],[[]],[[],23],[63,62],[[[33,[56]]],62],[[]],[57,62],[[]],[[]],[[21,21],23],[60,23],[60,59],[37,23],[31],[31],[[[36,[35]]],[[14,[[36,[35]]]]]],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[23,[[12,[61]]]],[62,[[12,[61]]]],0,[[],37],[[],37],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[64],[[64,25],26],[[64,25],26],[[65,25],26],[[65,25],26],[[],64],[[]],[66,65],[[[33,[56]]],65],[[]],[57,65],[67,65],[63,65],[68,65],[[]],[[]],[31],[31],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[64,[[12,[61]]]],[65,[[12,[61]]]],0,[[],37],[[],37],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[67],[[67,25],26],[[67,25],26],[[69,25],26],[[69,25],26],[[],67],[[]],[68,69],[[]],[66,69],[63,69],[[[33,[56]]],69],[[]],[[]],[31],[31],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[14,[[14,[14]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[67,[[12,[61]]]],[69,[[12,[61]]]],0,[[],37],[[],37],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[],24],0,0,[[24,25],26],[[]],[3,[[14,[24,23]]]],[[]],0,0,[[[28,[32]]],[[14,[[28,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[],14],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[44,18,[20,[19]],[12,[21]]],[[14,[3,70]]]],[[44,18,[20,[19]],21],[[14,[24,70]]]],[[]],[44,48],[44,48],[44,[[9,[16,17]]]],[[]],[48,44],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,0,0,0,0,[1],0,[[71,72],72],0,0,0,[[]],[[]],[[]],[[]],0,[[71,73,[20,[74]],75],76],0,[[4,9,72,75,71,10],14],0,[77,77],[[]],[[71,4,74,[78,[73]],[78,[[20,[74]]]],75],76],0,[71],0,0,0,0,0,0,0,[[]],[[]],0,0,[71,72],[[]],[[]],[[],[[12,[18]]]],0,0,0,0,[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[[[36,[35]]],[[14,[[36,[35]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],0,0,0,[[71,4,74,20,75],76],[[]],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[4,[9,[7,8]],72,75,71,10,79],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,82],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,84],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,85],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,86],80],[[4,[9,[7,8]],72,75,71,10,87],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,88],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,89],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,90],80],[[4,[9,[7,8]],72,75,71,10,91],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,92],80],[[4,[9,[7,8]],72,75,71,10,93],80],[[4,[9,[7,8]],72,75,71,10,94],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,95],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,96],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,97],80],[[4,[9,[7,8]],72,75,71,10,98],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,99],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,83],80],[[4,[9,[7,8]],72,75,71,10,100],80],[[4,[9,[7,8]],72,75,71,10,101],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,102],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,103],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,104],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,104],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,104],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,105],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,106],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,[108,[107]]],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,109],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,110],80],[[4,[9,[7,8]],72,75,71,10,[108,[111]]],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,109],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,112],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,113],80],[[4,[9,[7,8]],72,75,71,10,[108,[114]]],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,109],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,115],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,116],80],[[4,[9,[7,8]],72,75,71,10,[108,[117]]],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,109],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,118],80],[[4,[9,[7,8]],72,75,71,10,[108,[119]]],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,109],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],0,[[]],[[]],0,[[],10],0,[[10,25],26],[[]],0,[10,[[12,[120]]]],[10,[[12,[120]]]],[[10,59],120],[[10,120],[[12,[120]]]],[[]],[[],10],0,0,[10,[[12,[120]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],0,0,0,0,[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[121,4,5,72,75],80],[[],121],[[121,25],26],[[]],[[]],[[121,4,5,72,74,75],80],[[121,4,5,72,74,75],80],[[121,15]],[[],14],[14,[[14,[14]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[],122],[[]],[[122,60],[[12,[[28,[60]]]]]],[[]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[122,60,[12,[[20,[60]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,0,[1],0,[[]],[[]],[[]],[[]],[[]],[[]],[123,123],[[]],[[],124],[[123,25],26],[[]],[[]],[[]],0,0,[[125,126,127],[[12,[21]]]],[[125,18],[[12,[21]]]],[[]],[[]],[[]],[[6,124],125],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[],14],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[]],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[[129,[128]],25],26],[[]],[[]],[130,129],[129,130],[[[34,[32]]],[[14,[[34,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[131,25],26],[[]],[[]],[[4,5],131],[[4,74,74,75],76],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[],132],[[132,4,5,72,75],[[80,[133]]]],[[132,4,5,72,74,74,75],[[80,[133]]]],[[132,4,5,72,74,74,74,75],[[80,[133]]]],[[132,25],26],[[]],[[]],[[132,4,5,72,74,74,74,75],[[80,[74]]]],[[132,4,5,72,74,75],[[80,[133]]]],[[132,4,5,72,74,75],[[80,[133]]]],[[132,4,5,72,74,74,75],[[80,[133]]]],[[132,4,5,72,74,74,74,75],[[80,[133]]]],[[132,4,5,72,74,74,75],[[80,[133]]]],[[132,4,5,72,74,74,74,75],[[80,[133]]]],[[132,4,5,72,74,74,74,75],[[80,[133]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[14,[[14,[14]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,[[]],[[]],[[],[[134,[7,8]]]],[[]],[[]],[[[134,[7,8]],60,[135,[7,8]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],[[[134,[7,8]],60],[[12,[[137,[136]]]]]],0,[1],[22,138],[[]],[[]],[22,22],[[]],[22],[[22,22],50],[[],50],[[],50],[[],50],[[],50],[[],50],[[22,25],26],[[]],[[]],[139,22],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[140,74],[[140,25],26],[[]],[[]],[[74,72],140],[140,141],[140,[[12,[141]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[[140,72]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[48,25],26],[[]],[48,[[12,[120]]]],[[48,18],[[12,[21]]]],[[48,120],[[12,[120]]]],[[]],[48,10],[48,5],[[5,[9,[16,17]],10],48],[48,[[9,[16,17]]]],[48,[[12,[120]]]],[[],14],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[14,[[14,[14]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,0,0,0,0,0,0,[1],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[142,142,[20,[142]],21],[[143,[[28,[142]]]]]],0,0,[144,144],[[]],0,[[142,142,[20,[142]],50,21],143],[[[20,[142]],[20,[142]],21],143],0,[[144,25],26],[[]],[[]],[[]],[[]],[[]],[[]],[[145,21],[[143,[142]]]],[21,[[143,[146]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[[20,[145]],21],[[143,[144]]]],[[142,142,[20,[142]],21],[[143,[[28,[142]]]]]],0,0,[[]],[[142,21],143],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[14,[[14,[14]]]],[[],14],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[14,[[14,[14]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[],14],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[],14],[14,[[14,[14]]]],[[147,147,21],[[143,[[12,[147]]]]]],[[144,50,21],[[143,[[12,[147]]]]]],[[147,21],143],[[147,144,21],[[143,[[12,[147]]]]]],[[144,144,21],[[143,[[12,[147]]]]]],[[147,147,21],[[143,[[12,[147]]]]]],[[144,50,21],[[143,[[12,[147]]]]]],[[147,21],143],[[147,144,21],[[143,[[12,[147]]]]]],[[144,144,21],[[143,[[12,[147]]]]]],[[142,[20,[142]],21],143],0,[142],[145],[145],[142],[142],[142],[21],[142],[142],[[[20,[142]]]],[142],[142],0,[[148,142,21],[[143,[142]]]],[[148,142,142,21],143],[[]],0,[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],0,[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[1],0,[[],[[150,[149]]]],[[],[[20,[27]]]],[151],[[],[[14,[[20,[152]],153]]]],0,[[]],[[]],0,[[4,5,9,10,60],[[14,[154]]]],0,[[[151,[39]]],[[151,[39]]]],[[]],[151],[[],73],0,0,0,[[],[[156,[155]]]],[[],[[156,[155]]]],0,[[[151,[40]],[151,[40]]],50],[[],50],[[],50],[[],50],[[],50],[[],50],0,0,0,[[[151,[128]],25],26],[[]],0,[[[0,[42,157]],158],145],[[[151,[42]],159]],[[],[[12,[73]]]],[[]],[9,[[14,[160]]]],[60,151],0,0,0,0,0,[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],0,[151,60],0,0,0,0,[[]],[[],[[14,[[150,[149]],161]]]],[[],14],[[],14],[[],38],0,0,0,0,0,0,0,[[]],[[]],[[],[[12,[[20,[60]]]]]],[[]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],0,[[4,5,[9,[7,8]],10,[151,[165]]],[[163,[154]]]],[[[9,[7,8]],[20,[60]]],163],[[4,5,[9,[7,8]],10,[20,[60]]],163],0,0,[[]],[[]],[[]],[[]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[166,130],[[167,25],26],[[]],[[]],[[]],[[]],[10,[[129,[167]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[168]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[169]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],0,0,[1],[[]],[[]],[[4,5,9,10,60],[[14,[154]]]],[[4,5,9,10,60],14],[29,[[137,[6]]]],[66,66],[[]],[[5,10],15],[136,128],[[66,66],50],[[],50],[[],50],[[],50],[[],50],[[],50],[[[171,[170]]],[[78,[148]]]],[172,[[78,[148]]]],[172,[[78,[148]]]],[[6,172],[[12,[[173,[126]]]]]],[[6,73],[[12,[[173,[126]]]]]],[[6,172],18],[[66,25],26],[[66,25],26],[[]],[18,[[174,[172]]]],[148,160],[[]],[[160,73],[[14,[66]]]],[[148,148],148],[[73,73],73],[[160,73],73],[31],[15],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[4,5],[[14,[57]]]],[[]],[[],37],[[],14],[[],14],[[],38],[[[20,[148]]],142],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1],[[]],[[]],[19,19],[[]],[[19,19],50],[[],50],[[],50],[[],50],[[],50],[[],50],[172,19],[[19,25],26],[27,19],[[[28,[[171,[19]]]]],19],[[]],[148,19],[[[20,[[0,[[171,[19]],39]]]]],19],[175,19],[145,19],[[[78,[[171,[19]]]]],19],[142,19],[21,19],[[]],[[],50],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,0,0,0,0,0],"c":[],"p":[[3,"Private"],[3,"LLVMCompileError"],[3,"ExecutionResult"],[3,"Context"],[3,"Module"],[3,"Program"],[8,"GenericType"],[8,"GenericLibfunc"],[3,"ProgramRegistry"],[3,"MetadataStorage"],[3,"DebugLocations"],[4,"Option"],[3,"Error"],[4,"Result"],[3,"ExecutionEngine"],[4,"CoreType"],[4,"CoreLibfunc"],[3,"FunctionId"],[4,"JITValue"],[15,"slice"],[15,"u128"],[3,"SyscallHandlerMeta"],[3,"Error"],[3,"ContractExecutionResult"],[3,"Formatter"],[6,"Result"],[15,"u8"],[3,"Vec"],[3,"Path"],[3,"Error"],[3,"Demand"],[3,"Global"],[3,"Box"],[3,"VecDeque"],[3,"RandomState"],[3,"HashMap"],[3,"String"],[3,"TypeId"],[8,"Clone"],[8,"PartialEq"],[8,"Eq"],[8,"Hash"],[3,"ProgramCache"],[3,"NativeExecutor"],[3,"RefCell"],[3,"Rc"],[3,"NativeContext"],[3,"NativeModule"],[6,"CompileError"],[15,"bool"],[3,"DebugInfo"],[3,"RootDatabase"],[3,"DiagnosticAdded"],[4,"ErrorImpl"],[4,"EditStateError"],[4,"ProgramRegistryError"],[4,"Error"],[3,"ConcreteLibfuncId"],[8,"FnOnce"],[3,"ConcreteTypeId"],[8,"Error"],[4,"ErrorImpl"],[3,"LayoutError"],[3,"Error"],[4,"ErrorImpl"],[3,"LayoutError"],[3,"Error"],[3,"TryFromIntError"],[4,"ErrorImpl"],[6,"RunnerError"],[3,"LibfuncHelper"],[3,"Block"],[15,"usize"],[3,"Value"],[3,"Location"],[3,"Operation"],[4,"BranchTarget"],[15,"array"],[4,"ApTrackingConcreteLibfunc"],[6,"Result"],[3,"SignatureOnlyConcreteLibfunc"],[4,"ArrayConcreteLibfunc"],[3,"SignatureAndTypeConcreteLibfunc"],[4,"BoolConcreteLibfunc"],[4,"BoxConcreteLibfunc"],[4,"CastConcreteLibfunc"],[3,"DowncastConcreteLibfunc"],[4,"DebugConcreteLibfunc"],[4,"EcConcreteLibfunc"],[4,"EnumConcreteLibfunc"],[3,"EnumInitConcreteLibfunc"],[4,"Felt252Concrete"],[4,"Felt252BinaryOperationConcrete"],[3,"Felt252ConstConcreteLibfunc"],[4,"Felt252DictConcreteLibfunc"],[4,"Felt252DictEntryConcreteLibfunc"],[3,"FunctionCallConcreteLibfunc"],[4,"GasConcreteLibfunc"],[4,"MemConcreteLibfunc"],[4,"NullableConcreteLibfunc"],[4,"PedersenConcreteLibfunc"],[4,"PoseidonConcreteLibfunc"],[4,"StarkNetConcreteLibfunc"],[3,"SignatureAndConstConcreteLibfunc"],[4,"StructConcreteLibfunc"],[4,"Uint128Concrete"],[3,"Uint128Traits"],[3,"IntConstConcreteLibfunc"],[3,"IntOperationConcreteLibfunc"],[6,"Uint16Concrete"],[3,"Uint16Traits"],[4,"Uint256Concrete"],[6,"Uint32Concrete"],[3,"Uint32Traits"],[4,"Uint512Concrete"],[6,"Uint64Concrete"],[3,"Uint64Traits"],[6,"Uint8Concrete"],[3,"Uint8Traits"],[8,"Any"],[3,"DebugUtils"],[3,"EnumSnapshotVariantsMeta"],[3,"GasCost"],[3,"MetadataComputationConfig"],[3,"GasMetadata"],[3,"StatementIdx"],[4,"CostTokenType"],[8,"Debug"],[3,"PrimeModuloMeta"],[3,"BigUint"],[3,"ReallocBindingsMeta"],[3,"RuntimeBindingsMeta"],[3,"OperationRef"],[3,"SnapshotClonesMeta"],[6,"CloneFn"],[8,"Fn"],[3,"Arc"],[3,"NonNull"],[8,"StarkNetSyscallHandler"],[3,"TailRecursionMeta"],[3,"BlockRef"],[3,"Felt252"],[6,"SyscallResult"],[3,"U256"],[15,"u64"],[3,"ExecutionInfo"],[3,"Secp256k1Point"],[15,"u32"],[8,"BitOrder"],[3,"BitSlice"],[3,"WithSelf"],[8,"FromByteSlice"],[4,"Error"],[3,"Type"],[15,"char"],[8,"FromIterator"],[8,"Sized"],[8,"BuildHasher"],[8,"Hasher"],[3,"Layout"],[4,"BitSpanError"],[3,"InfoAndTypeConcreteType"],[6,"Result"],[3,"InfoOnlyConcreteType"],[3,"EnumConcreteType"],[3,"PRIME"],[3,"Felt252"],[4,"StarkNetTypeConcrete"],[3,"StructConcreteType"],[3,"BigInt"],[8,"Into"],[15,"str"],[3,"GenFunction"],[4,"Cow"],[15,"u16"],[13,"TypeBuilderError"],[13,"LibfuncBuilderError"],[13,"TypeBuilderError"],[13,"InsufficientGasError"],[8,"LibfuncBuilder"],[3,"TxInfo"],[3,"BlockInfo"],[3,"Secp256r1Point"],[8,"TypeBuilder"],[8,"ProgramRegistryExt"],[8,"ValueBuilder"],[13,"Struct"],[13,"Enum"],[13,"Felt252Dict"]]},\
+"cairo_native":{"doc":"This crate is a compiler and JIT engine that transforms …","t":"DDLLLLLLALLLLFAAAFFAALLLLLLLAAAFFLMMLLLLLLLLLLLLLLALLLLLLLLLALLLLAALLDLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLFLLLLLLLLLLLLLLLDDLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLCCCCAAAAGNDENNNNLLLLLLLLLLLLLLLLLFFLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLMMMMDENNNNNNGNNLLLLLLLLLLLLLLLLLFFFFLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLMMMMDENNNNGNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLDENNNNNGNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLDLLLMMLLLLMMLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLEQNIDNLALAAALLLLALAKALLLALAAAAAAALLAALLLKAAAALLLLLLLLLLLLLLAAALLLLLLLLAAAAAAAAALLLLLLFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDLLALALLALLLLLLAALLLLLLLLAAAALLLLLLDLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLDDDLMLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLGDLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLLLLDDDDIGDDLMMMMLLLLLLLLLLLLKMMLLMKKMLLLLLLLKKLLLLLLKKMMKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKKKKKKKKMKKKKKKKKKKKKMKKLMLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLMLLLLLLQIDLALLLLALLAKKALLLLAAALLALLLLLLAAALLALLKLKLAAAAALLLLLLLALAAAALLLLLAAAAAAALLKLFFFFFFFGFFFDDLLLLFLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLFFFFFFFFFFFFFFFFFFFFFFFFFDILLLKKFLLFFLLLLLLFFFFFFLLLFFLFFFFLFLLLLLLLFLLLLLFLLLNNNNNNENNNNNNILLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLMMMMMMM","n":["ExecutionResult","LLVMCompileError","__clone_box","__clone_box","borrow","borrow","borrow_mut","borrow_mut","cache","clone","clone","clone_into","clone_into","compile","context","debug_info","error","execute","execute_contract","execution_result","executor","fmt","fmt","fmt","from","from","into","into","libfuncs","metadata","module","module_to_object","object_to_shared_lib","provide","remaining_gas","return_values","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","starknet","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","types","upcast","upcast","upcast_mut","upcast_mut","utils","values","vzip","vzip","ProgramCache","borrow","borrow_mut","compile_and_insert","context","fmt","from","get","into","new","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","NativeContext","borrow","borrow_mut","compile","default","eq","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","from","initialize_mlir","into","new","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","DebugInfo","DebugLocations","__clone_box","__clone_box","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","extract","extract","fmt","fmt","from","from","funcs","funcs","into","into","libfunc_declarations","libfunc_declarations","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","statements","statements","to_owned","to_owned","try_from","try_from","try_into","try_into","type_declarations","type_declarations","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","CompileError","CoreLibfuncBuilderError","CoreTypeBuilderError","JitRunnerError","compile","jit_engine","libfuncs","types","CompileError","EditStateError","Error","ErrorImpl","LibfuncBuilderError","MlirError","ProgramRegistryError","TypeBuilderError","borrow","borrow","borrow_mut","borrow_mut","deref","fmt","fmt","fmt","fmt","from","from","from","from","from","from","into","into","make_libfunc_builder_error","make_type_builder_error","provide","provide","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","source","source","source","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","error","error","libfunc_id","type_id","Error","ErrorImpl","InsufficientGasError","LayoutError","MissingParameter","MissingSyscallHandler","MlirError","ProgramRegistryError","RunnerError","TypeBuilderError","UnexpectedValue","borrow","borrow","borrow_mut","borrow_mut","deref","fmt","fmt","fmt","fmt","from","from","from","from","from","from","into","into","make_insufficient_gas_error","make_missing_parameter","make_type_builder_error","make_unexpected_value_error","provide","provide","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","source","source","source","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","error","have","needed","type_id","Error","ErrorImpl","LayoutError","LayoutErrorPolyfill","MlirError","ProgramRegistryError","Result","TryFromIntError","borrow","borrow","borrow_mut","borrow_mut","deref","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","into","into","provide","provide","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","source","source","source","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","Error","ErrorImpl","LayoutError","LayoutErrorPolyfill","LibFuncError","MlirError","ProgramRegistryError","Result","TryFromIntError","borrow","borrow","borrow_mut","borrow_mut","deref","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","into","into","provide","provide","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","source","source","source","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","ContractExecutionResult","borrow","borrow_mut","default","error_msg","failure_flag","fmt","from","from_execution_result","into","remaining_gas","return_values","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","NativeExecutor","borrow","borrow_mut","execute","execute_contract","from","get_module","get_module_mut","get_program_registry","into","new","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","BranchTarget","Error","Jump","LibfuncBuilder","LibfuncHelper","Return","__clone_box","ap_tracking","append_block","array","bitwise","bool","borrow","borrow","borrow_mut","borrow_mut","box","br","branch_align","build","cast","clone","clone_into","cond_br","debug","deref","drop","dup","ec","enum","felt252","felt252_dict","felt252_dict_entry","from","from","function_call","gas","init_block","into","into","is_function_call","mem","nullable","pedersen","poseidon","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","snapshot_take","stark_net","struct","switch","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","uint128","uint16","uint256","uint32","uint512","uint64","uint8","unconditional_jump","unwrap_non_zero","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","build","build_disable","build_enable","build_revoke","build","build_append","build_get","build_len","build_new","build_pop_front","build_pop_front_consume","build_slice","build_snapshot_pop_back","build_snapshot_pop_front","build","build","build_bool_not","build_bool_to_felt252","build","build_into_box","build_unbox","build","build","build_downcast","build_upcast","build","build_print","build","build","build","build_is_zero","build_neg","build_point_from_x","build_state_add","build_state_add_mul","build_state_finalize","build_state_init","build_try_new","build_unwrap_point","build_zero","build","build_init","build_match","build_snapshot_match","build","build_binary_operation","build_const","build_is_zero","build","build_new","build_squash","build","build_finalize","build_get","build","build","build_builtin_withdraw_gas","build_get_builtin_costs","build_withdraw_gas","build","build_alloc_local","build_finalize_locals","build_rename","build_store_local","build_store_temp","build","build","build_pedersen","build","build_hades_permutation","build","build","build_call_contract","build_class_hash_const","build_class_hash_to_felt252","build_class_hash_try_from_felt252","build_contract_address_const","build_contract_address_to_felt252","build_contract_address_try_from_felt252","build_deploy","build_emit_event","build_get_block_hash","build_get_execution_info","build_keccak","build_library_call","build_replace_class","build_send_message_to_l1","build_storage_address_from_base","build_storage_address_from_base_and_offset","build_storage_address_to_felt252","build_storage_address_try_from_felt252","build_storage_base_address_const","build_storage_base_address_from_felt252","build_storage_read","build_storage_write","build","build_construct","build_deconstruct","build","build_byte_reverse","build_const","build_divmod","build_equal","build_from_felt252","build_guarantee_mul","build_guarantee_verify","build_is_zero","build_operation","build_square_root","build_to_felt252","build","build_const","build_divmod","build_equal","build_from_felt252","build_is_zero","build_operation","build_square_root","build_to_felt252","build_widemul","build","build_divmod","build_is_zero","build_square_root","build","build_const","build_divmod","build_equal","build_from_felt252","build_is_zero","build_operation","build_square_root","build_to_felt252","build_widemul","build","build_divmod_u256","build","build_const","build_divmod","build_equal","build_from_felt252","build_is_zero","build_operation","build_square_root","build_to_felt252","build_widemul","build","build_const","build_divmod","build_equal","build_from_felt252","build_is_zero","build_operation","build_square_root","build_to_felt252","build_widemul","build","build","MetadataStorage","borrow","borrow_mut","debug_utils","default","enum_snapshot_variants","fmt","from","gas","get","get_mut","get_or_insert_with","insert","into","new","prime_modulo","realloc_bindings","remove","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","runtime_bindings","snapshot_clones","syscall_handler","tail_recursion","try_from","try_into","type_id","upcast","upcast_mut","vzip","DebugUtils","borrow","borrow_mut","breakpoint_marker","default","fmt","from","into","print_i1","print_pointer","register_impls","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","EnumSnapshotVariantsMeta","borrow","borrow_mut","default","from","get_variants","into","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","set_mapping","try_from","try_into","type_id","upcast","upcast_mut","vzip","GasCost","GasMetadata","MetadataComputationConfig","__clone_box","ap_change_info","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","fmt","from","from","from","function_set_costs","gas_info","get_gas_cost_for_statement","get_initial_required_gas","into","into","into","new","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","upcast","upcast","upcast","upcast_mut","upcast_mut","upcast_mut","vzip","vzip","vzip","PrimeModuloMeta","borrow","borrow_mut","fmt","from","into","new","prime","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","ReallocBindingsMeta","borrow","borrow_mut","fmt","free","from","into","new","realloc","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","RuntimeBindingsMeta","borrow","borrow_mut","default","dict_alloc_free","dict_alloc_new","dict_get","dict_insert","fmt","from","into","libfunc_debug_print","libfunc_ec_point_from_x_nz","libfunc_ec_point_try_new_nz","libfunc_ec_state_add","libfunc_ec_state_add_mul","libfunc_ec_state_try_finalize_nz","libfunc_hades_permutation","libfunc_pedersen","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","CloneFn","SnapshotClonesMeta","borrow","borrow_mut","default","from","into","register","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","wrap_invoke","SyscallHandlerMeta","__clone_box","as_ptr","borrow","borrow_mut","clone","clone_into","drop","eq","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","from","into","new","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","to_owned","try_from","try_into","type_id","upcast","upcast_mut","vzip","TailRecursionMeta","borrow","borrow_mut","depth_counter","fmt","from","into","new","recursion_target","return_target","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","set_return_target","try_from","try_into","type_id","upcast","upcast_mut","vzip","NativeModule","borrow","borrow_mut","fmt","from","get_metadata","get_required_init_gas","insert_metadata","into","metadata","module","new","program_registry","remove_metadata","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_into","type_id","upcast","upcast_mut","vzip","BlockInfo","ExecutionInfo","Secp256k1Point","Secp256r1Point","StarkNetSyscallHandler","SyscallResult","TxInfo","U256","__clone_box","account_contract_address","block_info","block_number","block_timestamp","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","call_contract","caller_address","chain_id","clone","clone_into","contract_address","deploy","emit_event","entry_point_selector","fmt","from","from","from","from","from","from","get_block_hash","get_execution_info","into","into","into","into","into","into","keccak","library_call","max_fee","nonce","pop_log","replace_class","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","secp256k1_add","secp256k1_get_point_from_x","secp256k1_get_xy","secp256k1_mul","secp256k1_new","secp256r1_add","secp256r1_get_point_from_x","secp256r1_get_xy","secp256r1_mul","secp256r1_new","send_message_to_l1","sequencer_address","set_account_contract_address","set_block_number","set_block_timestamp","set_caller_address","set_chain_id","set_contract_address","set_max_fee","set_nonce","set_sequencer_address","set_signature","set_transaction_hash","set_version","signature","storage_read","storage_write","to_owned","transaction_hash","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","tx_info","type_id","type_id","type_id","type_id","type_id","type_id","upcast","upcast","upcast","upcast","upcast","upcast","upcast_mut","upcast_mut","upcast_mut","upcast_mut","upcast_mut","upcast_mut","version","vzip","vzip","vzip","vzip","vzip","vzip","Error","TypeBuilder","WithSelf","__clone_box","array","as_bits","as_byte_slice","as_ref","as_slice_of","bitwise","borrow","borrow_mut","box","build","build_drop","builtin_costs","clone","clone_into","deref","dim","ec_op","ec_point","ec_state","encode_hex","encode_hex_upper","enum","eq","equivalent","equivalent","equivalent","equivalent","equivalent","felt252","felt252_dict","felt252_dict_entry","fmt","from","gas_builtin","get_hash","hash","integer_width","into","layout","new","non_zero","nullable","pedersen","poseidon","range_check","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","segment_arena","self_ty","snapshot","squashed_felt252_dict","stark_net","struct","to_owned","try_as_bits","try_from","try_into","type_id","uint128","uint128_mul_guarantee","uint16","uint32","uint64","uint8","uninitialized","upcast","upcast_mut","variants","vzip","build","build","build","build","build","build","build","TypeLayout","build","get_layout_for_variants","get_type_for_variants","Felt252","PRIME","borrow","borrow","borrow_mut","borrow_mut","build","deref","fmt","from","from","into","into","register_prime_modulo_meta","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","vzip","vzip","build","build","build","build","build","build","build","build","build","build","build","build","build_class_hash","build_contract_address","build_storage_address","build_storage_base_address","build_system","build","build","build","build","build","build","build","build","LayoutError","ProgramRegistryExt","__clone_box","borrow","borrow_mut","build_type","build_type_with_layout","cairo_to_sierra","clone","clone_into","create_engine","debug_with","eq","equivalent","equivalent","equivalent","equivalent","equivalent","felt252_bigint","felt252_short_str","felt252_str","find_entry_point","find_entry_point_by_idx","find_function_id","fmt","fmt","from","generate_function_name","get_integer_layout","into","layout_repeat","next_multiple_of_u32","next_multiple_of_usize","padding_needed_for","provide","register_runtime_symbols","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","run_pass_manager","to_owned","to_string","try_from","try_into","type_id","u32_vec_to_felt","upcast","upcast_mut","vzip","Array","EcPoint","EcState","Enum","Felt252","Felt252Dict","JITValue","Struct","Uint128","Uint16","Uint32","Uint64","Uint8","ValueBuilder","__clone_box","borrow","borrow_mut","clone","clone_into","eq","equivalent","equivalent","equivalent","equivalent","equivalent","felt_str","fmt","from","from","from","from","from","from","from","from","from","from","into","is_complex","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","to_owned","try_from","try_into","type_id","upcast","upcast_mut","vzip","debug_name","debug_name","debug_name","fields","tag","value","value"],"q":[[0,"cairo_native"],[69,"cairo_native::cache"],[92,"cairo_native::context"],[121,"cairo_native::debug_info"],[177,"cairo_native::error"],[185,"cairo_native::error::compile"],[245,"cairo_native::error::compile::ErrorImpl"],[249,"cairo_native::error::jit_engine"],[314,"cairo_native::error::jit_engine::ErrorImpl"],[318,"cairo_native::error::libfuncs"],[379,"cairo_native::error::types"],[441,"cairo_native::execution_result"],[466,"cairo_native::executor"],[490,"cairo_native::libfuncs"],[575,"cairo_native::libfuncs::ap_tracking"],[579,"cairo_native::libfuncs::array"],[589,"cairo_native::libfuncs::bitwise"],[590,"cairo_native::libfuncs::bool"],[593,"cairo_native::libfuncs::box"],[596,"cairo_native::libfuncs::branch_align"],[597,"cairo_native::libfuncs::cast"],[600,"cairo_native::libfuncs::debug"],[602,"cairo_native::libfuncs::drop"],[603,"cairo_native::libfuncs::dup"],[604,"cairo_native::libfuncs::ec"],[615,"cairo_native::libfuncs::enum"],[619,"cairo_native::libfuncs::felt252"],[623,"cairo_native::libfuncs::felt252_dict"],[626,"cairo_native::libfuncs::felt252_dict_entry"],[629,"cairo_native::libfuncs::function_call"],[630,"cairo_native::libfuncs::gas"],[634,"cairo_native::libfuncs::mem"],[640,"cairo_native::libfuncs::nullable"],[641,"cairo_native::libfuncs::pedersen"],[643,"cairo_native::libfuncs::poseidon"],[645,"cairo_native::libfuncs::snapshot_take"],[646,"cairo_native::libfuncs::stark_net"],[670,"cairo_native::libfuncs::struct"],[673,"cairo_native::libfuncs::uint128"],[685,"cairo_native::libfuncs::uint16"],[695,"cairo_native::libfuncs::uint256"],[699,"cairo_native::libfuncs::uint32"],[709,"cairo_native::libfuncs::uint512"],[711,"cairo_native::libfuncs::uint64"],[721,"cairo_native::libfuncs::uint8"],[731,"cairo_native::libfuncs::unconditional_jump"],[732,"cairo_native::libfuncs::unwrap_non_zero"],[733,"cairo_native::metadata"],[768,"cairo_native::metadata::debug_utils"],[792,"cairo_native::metadata::enum_snapshot_variants"],[813,"cairo_native::metadata::gas"],[879,"cairo_native::metadata::prime_modulo"],[900,"cairo_native::metadata::realloc_bindings"],[922,"cairo_native::metadata::runtime_bindings"],[954,"cairo_native::metadata::snapshot_clones"],[976,"cairo_native::metadata::syscall_handler"],[1008,"cairo_native::metadata::tail_recursion"],[1032,"cairo_native::module"],[1059,"cairo_native::starknet"],[1223,"cairo_native::types"],[1301,"cairo_native::types::array"],[1302,"cairo_native::types::bitwise"],[1303,"cairo_native::types::box"],[1304,"cairo_native::types::builtin_costs"],[1305,"cairo_native::types::ec_op"],[1306,"cairo_native::types::ec_point"],[1307,"cairo_native::types::ec_state"],[1308,"cairo_native::types::enum"],[1312,"cairo_native::types::felt252"],[1352,"cairo_native::types::felt252_dict"],[1353,"cairo_native::types::felt252_dict_entry"],[1354,"cairo_native::types::gas_builtin"],[1355,"cairo_native::types::non_zero"],[1356,"cairo_native::types::nullable"],[1357,"cairo_native::types::pedersen"],[1358,"cairo_native::types::poseidon"],[1359,"cairo_native::types::range_check"],[1360,"cairo_native::types::segment_arena"],[1361,"cairo_native::types::snapshot"],[1362,"cairo_native::types::squashed_felt252_dict"],[1363,"cairo_native::types::stark_net"],[1369,"cairo_native::types::struct"],[1370,"cairo_native::types::uint128"],[1371,"cairo_native::types::uint128_mul_guarantee"],[1372,"cairo_native::types::uint16"],[1373,"cairo_native::types::uint32"],[1374,"cairo_native::types::uint64"],[1375,"cairo_native::types::uint8"],[1376,"cairo_native::types::uninitialized"],[1377,"cairo_native::utils"],[1430,"cairo_native::values"],[1483,"cairo_native::values::JITValue"]],"d":["The result of the JIT execution.","","","","","","","","","","","","","Run the compiler on a program. The compiled program is …","","Extracts useful debugging information from cairo programs …","Various error types used thorough the crate.","Execute a function on an engine loaded with a Sierra …","Utility function to make it easier to execute contracts. …","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self)
.","Calls U::from(self)
.","Compiler libfunc infrastructure","Code generation metadata","","Make sure to call","","","","","","","","","","","","","","","","","","","Starknet related code for cairo_native
","","","","","","","","","","Compiler type infrastructure","","","","","Various utilities","JIT params and return values de/serialization","","","A Cache for programs with the same context.","","","","","","Returns the argument unchanged.","","Calls U::from(self)
.","","","","","","","","","","","","","","","Context of IRs, dialects and passes for Cairo programs …","","","Compiles a sierra program into MLIR and then lowers to …","","","","","","","","","Returns the argument unchanged.","Initialize an MLIR context.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","Returns the argument unchanged.","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","Returns the argument unchanged.","","","","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Starknet contract execution result.","","","","","","","Returns the argument unchanged.","Convert a [ExecuteResult
] to a [NativeExecutionResult
]","Calls U::from(self)
.","","","","","","","","","","","","","","","","A MLIR JIT execution engine in the context of Cairo Native.","","","Execute a program with the given params.","Execute a contract with the given calldata.","Returns the argument unchanged.","","","","Calls U::from(self)
.","","","","","","","","","","","","","","","A libfunc branching target.","Error type returned by this trait’s methods.","A block within the current libfunc.","Generation of MLIR operations from their Sierra …","Helper struct which contains logic generation for extra …","A statement’s branch target by its index.","","AP
tracking libfuncs","Inserts a new block after all the current libfunc’s …","Array libfuncs","Bitwise libfuncs","Boolean libfuncs","","","","","Box libfuncs","Creates an unconditional branching operation out of the …","Branch alignment libfunc","Generate the MLIR operations.","Casting libfuncs","","","Creates a conditional binary branching operation, …","Debug libfuncs","","AP
tracking libfuncs","State value duplication libfunc","Elliptic curve libfuncs","Enum-related libfuncs","felt252
-related libfuncs","felt252
dictionary libfuncs","felt252
dictionary entry libfuncs","Returns the argument unchanged.","Returns the argument unchanged.","Function call libfuncs","Gas management libfuncs","Return the initialization block.","Calls U::from(self)
.","Calls U::from(self)
.","Return the target function if the statement is a function …","Memory-related libfuncs","Nullable libfuncs","Pedersen hashing libfuncs","Poseidon hashing libfuncs","","","","","","","","","","","","","","","Snapshot taking libfuncs","StarkNet libfuncs","Struct-related libfuncs","Creates a conditional multi-branching operation, …","","","","","","","","u128
-related libfuncs","u16
-related libfuncs","u256
-related libfuncs","u32
-related libfuncs","u512
-related libfuncs","u64
-related libfuncs","u8
-related libfuncs","Unconditional jump libfunc","Non-zero unwrapping libfuncs","","","","","","","Select and call the correct libfunc builder function from …","Generate MLIR operations for the disable_ap_tracking
…","Generate MLIR operations for the enable_ap_tracking.
…","Generate MLIR operations for the revoke_ap_tracking.
…","Select and call the correct libfunc builder function from …","Generate MLIR operations for the array_append
libfunc.","Generate MLIR operations for the array_get
libfunc.","Generate MLIR operations for the array_append
libfunc.","Generate MLIR operations for the array_new
libfunc.","Generate MLIR operations for the array_pop_front
libfunc.","Generate MLIR operations for the array_pop_front_consume
…","Generate MLIR operations for the array_slice
libfunc.","Generate MLIR operations for the array_snapshot_pop_back
…","Generate MLIR operations for the array_snapshot_pop_front
…","Generate MLIR operations for the bitwise
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the bool_not_impl
libfunc.","Generate MLIR operations for the unbox
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the into_box
libfunc.","Generate MLIR operations for the unbox
libfunc.","Generate MLIR operations for the branch_align
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the downcast
libfunc.","Generate MLIR operations for the upcast
libfunc.","","","Generate MLIR operations for the drop
libfunc.","Generate MLIR operations for the dup
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the ec_point_is_zero
libfunc.","Generate MLIR operations for the ec_neg
libfunc.","Generate MLIR operations for the ec_point_from_x_nz
…","Generate MLIR operations for the ec_state_add
libfunc.","Generate MLIR operations for the ec_state_add_mul
libfunc.","Generate MLIR operations for the ec_state_try_finalize_nz
…","Generate MLIR operations for the ec_state_init
libfunc.","Generate MLIR operations for the ec_point_try_new_nz
…","Generate MLIR operations for the ec_point_unwrap
libfunc.","Generate MLIR operations for the ec_point_zero
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the enum_init
libfunc.","Generate MLIR operations for the enum_match
libfunc.","Generate MLIR operations for the enum_snapshot_match
…","Select and call the correct libfunc builder function from …","Generate MLIR operations for the following libfuncs:","Generate MLIR operations for the felt252_const
libfunc.","Generate MLIR operations for the felt252_is_zero
libfunc.","Select and call the correct libfunc builder function from …","","","Select and call the correct libfunc builder function from …","","","Generate MLIR operations for the function_call
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the withdraw_gas_all
libfunc.","Generate MLIR operations for the get_builtin_costs
libfunc.","Generate MLIR operations for the withdraw_gas
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the alloc_local
libfunc.","Generate MLIR operations for the finalize_locals
libfunc.","Generate MLIR operations for the rename
libfunc.","Generate MLIR operations for the store_local
libfunc.","Generate MLIR operations for the store_temp
libfunc.","Select and call the correct libfunc builder function from …","Select and call the correct libfunc builder function from …","","Select and call the correct libfunc builder function from …","","Generate MLIR operations for the snapshot_take
libfunc.","Select and call the correct libfunc builder function from …","","","","","","","","","","","","","","","","","","","","","","","","Select and call the correct libfunc builder function from …","Generate MLIR operations for the struct_construct
libfunc.","Generate MLIR operations for the struct_deconstruct
…","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u128_byte_reverse
libfunc.","Generate MLIR operations for the u128_const
libfunc.","Generate MLIR operations for the u128_safe_divmod
libfunc.","Generate MLIR operations for the u128_equal
libfunc.","Generate MLIR operations for the u128_from_felt252
libfunc.","Generate MLIR operations for the u128_guarantee_mul
…","Generate MLIR operations for the u128_guarantee_verify
…","Generate MLIR operations for the u128_is_zero
libfunc.","Generate MLIR operations for the u128_add
and u128_sub
…","Generate MLIR operations for the u128_sqrt
libfunc.","Generate MLIR operations for the u128_to_felt252
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u16_const
libfunc.","Generate MLIR operations for the u16_safe_divmod
libfunc.","Generate MLIR operations for the u16_eq
libfunc.","Generate MLIR operations for the u16_from_felt252
libfunc.","Generate MLIR operations for the u16_is_zero
libfunc.","Generate MLIR operations for the u16 operation libfunc.","Generate MLIR operations for the u16_sqrt
libfunc.","Generate MLIR operations for the u16_to_felt252
libfunc.","Generate MLIR operations for the u16_widemul
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u256_safe_divmod
libfunc.","Generate MLIR operations for the u256_is_zero
libfunc.","Generate MLIR operations for the u256_sqrt
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u32_const
libfunc.","Generate MLIR operations for the u32_safe_divmod
libfunc.","Generate MLIR operations for the u32_eq
libfunc.","Generate MLIR operations for the u32_from_felt252
libfunc.","Generate MLIR operations for the u32_is_zero
libfunc.","Generate MLIR operations for the u32 operation libfunc.","Generate MLIR operations for the u32_sqrt
libfunc.","Generate MLIR operations for the u32_to_felt252
libfunc.","Generate MLIR operations for the u32_widemul
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u512_safe_divmod_by_u256
…","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u64_const
libfunc.","Generate MLIR operations for the u64_safe_divmod
libfunc.","Generate MLIR operations for the u64_eq
libfunc.","Generate MLIR operations for the u64_from_felt252
libfunc.","Generate MLIR operations for the u64_is_zero
libfunc.","Generate MLIR operations for the u64 operation libfunc.","Generate MLIR operations for the u64_sqrt
libfunc.","Generate MLIR operations for the u64_to_felt252
libfunc.","Generate MLIR operations for the u64_widemul
libfunc.","Select and call the correct libfunc builder function from …","Generate MLIR operations for the u8_const
libfunc.","Generate MLIR operations for the u8_safe_divmod
libfunc.","Generate MLIR operations for the u8_eq
libfunc.","Generate MLIR operations for the u8_from_felt252
libfunc.","Generate MLIR operations for the u8_is_zero
libfunc.","Generate MLIR operations for the u8 operation libfunc.","Generate MLIR operations for the u8_sqrt
libfunc.","Generate MLIR operations for the u8_to_felt252
libfunc.","Generate MLIR operations for the u8_widemul
libfunc.","Generate MLIR operations for the jump
libfunc.","Generate MLIR operations for the unwrap_non_zero
libfunc.","Metadata container.","","","Debug utilities","","","","Returns the argument unchanged.","","Retrieve a reference to some metadata.","Retrieve a mutable reference to some metadata.","","Insert some metadata and return a mutable reference.","Calls U::from(self)
.","Create an empty metadata container.","Finite field prime modulo","Memory allocation external bindings","Remove some metadata and return its last value.","","","","","","","","Runtime library bindings","","","Tail recursion information","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self)
.","","","","","","","","","","","","","","","","Holds global gas info.","Configuration for metadata computation.","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Prime modulo number metadata.","","","","Returns the argument unchanged.","Calls U::from(self)
.","Create the metadata from the prime number.","Return the stored prime number.","","","","","","","","","","","","","","Memory allocation realloc
metadata.","","","","Calls the free
function.","Returns the argument unchanged.","Calls U::from(self)
.","Register the bindings to the realloc
C function and return …","Calls the realloc
function, returns a op with 1 result: an …","","","","","","","","","","","","","","Runtime library bindings metadata.","","","","Register if necessary, then invoke the dict_alloc_new()
…","Register if necessary, then invoke the dict_alloc_new()
…","Register if necessary, then invoke the dict_get()
function.","Register if necessary, then invoke the dict_insert()
…","","Returns the argument unchanged.","Calls U::from(self)
.","Register if necessary, then invoke the debug::print()
…","Register if necessary, then invoke the ec_point_from_x_nz()
…","Register if necessary, then invoke the …","Register if necessary, then invoke the ec_state_add()
…","Register if necessary, then invoke the ec_state_add_mul()
…","","Register if necessary, then invoke the poseidon()
function.","Register if necessary, then invoke the pedersen()
function.","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self)
.","","","","","","","","","","","","","","","","The tail recursion metadata.","","","Return the current depth counter value.","","Returns the argument unchanged.","Calls U::from(self)
.","Create the tail recursion meta.","Return the recursion target block.","Return the return target block, if set.","","","","","","","","Set the return target block.","","","","","","","A MLIR module in the context of Cairo Native. It is …","","","","Returns the argument unchanged.","Retrieve a reference to some stored metadata.","Given some contract function’s id, returns an option of …","Insert some metadata for the program execution and return …","Calls U::from(self)
.","","","","","Removes metadata","","","","","","","","","","","","","","","","","","","","","Binary representation of a u256
(in MLIR).","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Error type returned by this trait’s methods.","Generation of MLIR types from their Sierra counterparts.","","","Array type","","","","","Bitwise type","","","Box type","Build the MLIR type.","","Builtin costs type","","","","","Elliptic curve operation type","Elliptic curve point type","Elliptic curve state type","","","Enum type","","","","","","","felt252
type","felt252
dictionary type","felt252
dictionary entry type","","Returns the argument unchanged.","Gas builtin type","","","If the type is an integer (felt not included) type, return …","Calls U::from(self)
.","Generate the layout of the MLIR type.","","Non-zero type","Nullable type","Pedersen type","Poseidon type","Builtin costs type","","","","","","","","Segment arena type","","Snapshot type","Squashed felt252
dictionary type","StarkNet types","Struct type","","","","","","Unsigned 128-bit integer type","Unsigned 128-bit multiplication guarantee type","Unsigned 16-bit integer type","Unsigned 32-bit integer type","Unsigned 64-bit integer type","Unsigned 8-bit integer type","Uninitialized type","","","If the type is a variant type, return all possible …","","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","An MLIR type with its memory layout.","Build the MLIR type.","Extract layout for the default enum representation, its …","Extract the type and layout for the default enum …","Marker type for the PrimeModuloMeta metadata.","The felt252
prime modulo.","","","","","Build the MLIR type.","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","","","","","","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","Build the MLIR type.","","","","","","","","Compile a cairo program found at the given path to sierra.","","","Creates the execution engine, with all symbols registered.","Return a type that calls a closure when formatted using …","","","","","","","Parse any type that can be a bigint to a felt that can be …","Parse a short string into a felt that can be used in the …","Parse a numeric string into felt, wrapping negatives …","Returns the given entry point if present.","Returns the given entry point if present.","Given a string representing a function name, searches in …","","","Returns the argument unchanged.","Generate a function name.","Return the layout for an integer of arbitrary width.","Calls U::from(self)
.","Copied from std.","","","Edit: Copied from the std lib.","","","","","","","","","","","","","","","","Converts a u32 slice into a Felt252","","","","all elements need to be same type","","","","","","A JITValue is a value that can be passed to the JIT engine …","","","","","","","The ValueBuilder
trait is implemented any de/serializable …","","","","","","","","","","","","String to felt","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self)
.","Return whether the type is considered complex or simple.","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,2,3,2,3,2,3,0,2,3,2,3,0,0,0,0,0,0,0,0,2,2,3,2,3,2,3,0,0,0,0,0,2,3,3,2,2,2,2,2,2,2,3,3,3,3,3,3,3,0,2,3,2,2,3,2,3,2,3,0,2,3,2,3,0,0,2,3,0,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,0,47,47,47,47,47,47,47,47,47,47,47,47,0,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,0,0,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,51,51,51,51,51,51,11,11,11,11,11,11,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,51,11,0,0,0,0,0,0,0,0,0,54,0,0,54,54,54,54,13,54,13,54,13,13,13,54,54,13,13,54,54,54,54,13,54,0,0,13,54,13,13,13,13,13,13,13,54,54,54,54,54,54,54,13,54,13,13,54,13,54,13,54,13,54,13,54,13,54,13,54,176,177,177,176,0,0,62,62,62,62,62,62,0,62,62,23,62,23,62,23,23,23,62,62,23,23,62,62,62,62,23,62,0,0,0,0,23,62,23,23,23,23,23,23,23,62,62,62,62,62,62,62,23,62,23,23,62,23,62,23,62,23,62,23,62,23,62,23,62,178,179,179,178,0,0,65,65,65,65,0,65,64,65,64,65,64,64,64,65,65,64,64,65,65,65,65,65,65,65,64,65,64,65,64,64,64,64,64,64,64,65,65,65,65,65,65,65,64,65,64,64,65,64,65,64,65,64,65,64,65,64,65,64,65,0,0,69,69,69,69,69,0,69,67,69,67,69,67,67,67,69,69,67,67,69,69,69,69,69,69,69,67,69,67,69,67,67,67,67,67,67,67,69,69,69,69,69,69,69,67,69,67,67,69,67,69,67,69,67,69,67,69,67,69,67,69,0,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,0,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,0,180,77,0,0,77,77,0,71,0,0,0,71,77,71,77,0,71,0,180,0,77,77,71,0,71,0,0,0,0,0,0,0,71,77,0,0,71,71,77,180,0,0,0,0,71,71,71,71,71,71,71,77,77,77,77,77,77,77,0,0,0,71,77,71,77,71,77,71,77,0,0,0,0,0,0,0,0,0,71,77,71,77,71,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,10,0,10,10,0,10,10,10,10,10,10,0,0,10,10,10,10,10,10,10,10,0,0,0,0,10,10,10,10,10,10,0,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,121,0,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,0,0,0,123,125,125,123,124,125,123,124,123,123,124,123,125,123,124,124,125,125,125,125,123,124,125,125,125,125,125,125,125,125,123,123,123,123,123,123,123,124,124,124,124,124,124,124,123,125,123,124,125,123,124,125,123,124,125,123,124,125,123,124,125,123,124,0,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,0,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,0,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,0,0,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,0,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,0,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,0,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,0,0,0,0,0,0,0,0,144,181,146,182,182,146,182,181,147,183,144,146,182,181,147,183,144,139,146,181,144,144,146,139,139,146,144,146,182,181,147,183,144,139,139,146,182,181,147,183,144,139,139,181,181,139,139,146,146,146,146,146,146,146,182,182,182,182,182,182,182,181,181,181,181,181,181,181,147,147,147,147,147,147,147,183,183,183,183,183,183,183,144,144,144,144,144,144,144,139,139,139,139,139,139,139,139,139,139,139,182,139,139,139,139,139,139,139,139,139,139,139,139,181,139,139,144,181,146,182,181,147,183,144,146,182,181,147,183,144,146,146,182,181,147,183,144,146,182,181,147,183,144,146,182,181,147,183,144,181,146,182,181,147,183,144,184,0,0,151,0,151,151,151,151,0,151,151,0,184,184,0,151,151,151,151,0,0,0,151,151,0,151,151,151,151,151,151,0,0,0,151,151,0,151,151,184,151,184,151,0,0,0,0,0,151,151,151,151,151,151,151,0,151,0,0,0,0,151,151,151,151,151,0,0,0,0,0,0,0,151,151,184,151,0,0,0,0,0,0,0,0,0,0,0,0,0,166,167,166,167,0,166,167,166,167,166,167,0,166,166,166,166,166,166,166,167,167,167,167,167,167,167,166,167,166,167,166,167,166,167,166,167,166,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,66,66,185,185,0,66,66,0,0,66,66,66,66,66,66,0,0,0,0,0,0,66,66,66,0,0,66,0,0,0,0,66,0,66,66,66,66,66,66,66,0,66,66,66,66,66,0,66,66,66,19,19,19,19,19,19,0,19,19,19,19,19,19,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,186,19,19,19,19,19,19,19,19,19,19,19,19,19,19,187,188,189,187,188,188,189],"f":[0,0,[1],[1],[[]],[[]],[[]],[[]],0,[2,2],[3,3],[[]],[[]],[[4,5,6,[9,[7,8]],10,[12,[11]]],[[14,[[13,[7,8]]]]]],0,0,0,[[15,[9,[16,17]],18,[20,[19]],[12,[21]],[12,[21]],[12,[22]]],[[14,[3,23]]]],[[15,[9,[16,17]],18,[20,[19]],[12,[21]],21,22],[[14,[24,23]]]],0,0,[[2,25],26],[[2,25],26],[[3,25],26],[[]],[[]],[[]],[[]],0,0,0,[5,[[14,[[28,[27]],2]]]],[[[20,[27]],29],[[14,[30]]]],[31],0,0,[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],0,[[]],[[]],[[],37],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],0,[[]],[[]],[[]],[[]],0,0,[[]],[[]],0,[[]],[[]],[[[43,[[0,[39,40,41,42]]]],[0,[39,40,41,42]],6],[[46,[[45,[44]]]]]],[[[43,[[0,[41,42,40]]]]],47],[[[43,[[0,[40,41,42]]]],25],26],[[]],[[[43,[[0,[39,40,41,42]]]],[0,[39,40,41,42]]],[[12,[[46,[[45,[44]]]]]]]],[[]],[47,[[43,[[0,[39,40,41,42]]]]]],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[47,6],[[14,[48,49]]]],[[],47],[[47,47],50],[[],50],[[],50],[[],50],[[],50],[[],50],[[47,25],26],[[]],[[],4],[[]],[[],47],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,[1],[1],[[]],[[]],[[]],[[]],[51,51],[11,11],[[]],[[]],[[52,6],[[14,[51,53]]]],[[4,52,51],11],[[51,25],26],[[11,25],26],[[]],[[]],0,0,[[]],[[]],0,0,[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],0,0,[[]],[[]],[[],14],[[],14],[[],14],[[],14],0,0,[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[[13,[7,8]]]],[[[13,[7,8]],25],26],[[[13,[7,8]],25],26],[[[54,[7,8]],25],26],[[[54,[7,8]],25],26],[[],[[13,[7,8]]]],[[]],[55,[[54,[7,8]]]],[[]],[56,[[54,[7,8]]]],[[[33,[57]]],[[54,[7,8]]]],[[]],[[]],[58,59],[60,59],[31],[31],[14,[[14,[14]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[],14],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[13,[7,8]]],[[12,[61]]]],[[[54,[7,8]]],[[12,[61]]]],0,[[],37],[[],37],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[23],[[23,25],26],[[23,25],26],[[62,25],26],[[62,25],26],[[]],[[],23],[55,62],[63,62],[[[33,[57]]],62],[[]],[[]],[[]],[[21,21],23],[60,23],[60,59],[37,23],[31],[31],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[],14],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[14,[[14,[14]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[23,[[12,[61]]]],[62,[[12,[61]]]],0,[[],37],[[],37],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[64],[[64,25],26],[[64,25],26],[[65,25],26],[[65,25],26],[[]],[[],64],[66,65],[[]],[67,65],[55,65],[[[33,[57]]],65],[63,65],[68,65],[[]],[[]],[31],[31],[14,[[14,[14]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[64,[[12,[61]]]],[65,[[12,[61]]]],0,[[],37],[[],37],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[67],[[67,25],26],[[67,25],26],[[69,25],26],[[69,25],26],[[]],[[],67],[63,69],[[[33,[57]]],69],[55,69],[[]],[64,69],[66,69],[68,69],[[]],[[]],[31],[31],[[],14],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[14,[[14,[14]]]],[12,[[14,[12]]]],[[],14],[14,[[14,[14]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[67,[[12,[61]]]],[69,[[12,[61]]]],0,[[],37],[[],37],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[],24],0,0,[[24,25],26],[[]],[3,[[14,[24,23]]]],[[]],0,0,[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[44,18,[20,[19]],[12,[21]]],[[14,[3,70]]]],[[44,18,[20,[19]],21],[[14,[24,70]]]],[[]],[44,48],[44,48],[44,[[9,[16,17]]]],[[]],[48,44],[14,[[14,[14]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,0,0,0,0,[1],0,[[71,72],72],0,0,0,[[]],[[]],[[]],[[]],0,[[71,73,[20,[74]],75],76],0,[[4,9,72,75,71,10],14],0,[77,77],[[]],[[71,4,74,[78,[73]],[78,[[20,[74]]]],75],76],0,[71],0,0,0,0,0,0,0,[[]],[[]],0,0,[71,72],[[]],[[]],[[],[[12,[18]]]],0,0,0,0,[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[],14],[12,[[14,[12]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],0,0,0,[[71,4,74,20,75],76],[[]],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[4,[9,[7,8]],72,75,71,10,79],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,82],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,84],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,85],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,86],80],[[4,[9,[7,8]],72,75,71,10,87],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,88],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,89],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,90],80],[[4,[9,[7,8]],72,75,71,10,91],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,92],80],[[4,[9,[7,8]],72,75,71,10,93],80],[[4,[9,[7,8]],72,75,71,10,94],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,95],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,96],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,10,97],80],[[4,[9,[7,8]],72,75,71,10,98],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,99],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,10,83],80],[[4,[9,[7,8]],72,75,71,83],80],[[4,[9,[7,8]],72,75,71,10,100],80],[[4,[9,[7,8]],72,75,71,10,101],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,102],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,103],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,104],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,104],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,104],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,105],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,106],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,[108,[107]]],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,109],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,110],80],[[4,[9,[7,8]],72,75,71,10,[108,[111]]],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,109],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,112],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,113],80],[[4,[9,[7,8]],72,75,71,10,[108,[114]]],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,109],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,115],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,116],80],[[4,[9,[7,8]],72,75,71,10,[108,[117]]],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,109],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,118],80],[[4,[9,[7,8]],72,75,71,10,[108,[119]]],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,81],80],[[4,[9,[7,8]],72,75,71,109],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],[[4,[9,[7,8]],72,75,71,10,81],80],0,[[]],[[]],0,[[],10],0,[[10,25],26],[[]],0,[10,[[12,[120]]]],[10,[[12,[120]]]],[[10,59],120],[[10,120],[[12,[120]]]],[[]],[[],10],0,0,[10,[[12,[120]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],0,0,0,0,[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[121,4,5,72,75],80],[[],121],[[121,25],26],[[]],[[]],[[121,4,5,72,74,75],80],[[121,4,5,72,74,75],80],[[121,15]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[],122],[[]],[[122,60],[[12,[[28,[60]]]]]],[[]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[122,60,[12,[[20,[60]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,0,[1],0,[[]],[[]],[[]],[[]],[[]],[[]],[123,123],[[]],[[],124],[[123,25],26],[[]],[[]],[[]],0,0,[[125,126,127],[[12,[21]]]],[[125,18],[[12,[21]]]],[[]],[[]],[[]],[[6,124],125],[[[28,[32]]],[[14,[[28,[32]]]]]],[14,[[14,[14]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[],14],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[]],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[[129,[128]],25],26],[[]],[[]],[130,129],[129,130],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[131,25],26],[[4,74,75],76],[[]],[[]],[[4,5],131],[[4,74,74,75],76],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[],132],[[132,4,5,74,72,75],[[80,[133]]]],[[132,4,5,72,75],[[80,[133]]]],[[132,4,5,72,74,74,75],[[80,[133]]]],[[132,4,5,72,74,74,74,75],[[80,[133]]]],[[132,25],26],[[]],[[]],[[132,4,5,72,74,74,74,75],[[80,[74]]]],[[132,4,5,72,74,75],[[80,[133]]]],[[132,4,5,72,74,75],[[80,[133]]]],[[132,4,5,72,74,74,75],[[80,[133]]]],[[132,4,5,72,74,74,74,75],[[80,[133]]]],[[132,4,5,72,74,74,75],[[80,[133]]]],[[132,4,5,72,74,74,74,75],[[80,[133]]]],[[132,4,5,72,74,74,74,75],[[80,[133]]]],[12,[[14,[12]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,[[]],[[]],[[],[[134,[7,8]]]],[[]],[[]],[[[134,[7,8]],60,[135,[7,8]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[14,[[14,[14]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],[[[134,[7,8]],60],[[12,[[137,[136]]]]]],0,[1],[22,138],[[]],[[]],[22,22],[[]],[22],[[22,22],50],[[],50],[[],50],[[],50],[[],50],[[],50],[[22,25],26],[[]],[[]],[139,22],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[[]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[140,74],[[140,25],26],[[]],[[]],[[74,72],140],[140,141],[140,[[12,[141]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[140,72]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,[[]],[[]],[[48,25],26],[[]],[48,[[12,[120]]]],[[48,18],[[12,[21]]]],[[48,120],[[12,[120]]]],[[]],[48,10],[48,5],[[5,[9,[16,17]],10],48],[48,[[9,[16,17]]]],[48,[[12,[120]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[],14],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,0,0,0,0,0,0,[1],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[142,142,[20,[142]],21],[[143,[[28,[142]]]]]],0,0,[144,144],[[]],0,[[142,142,[20,[142]],50,21],143],[[[20,[142]],[20,[142]],21],143],0,[[144,25],26],[[]],[[]],[[]],[[]],[[]],[[]],[[145,21],[[143,[142]]]],[21,[[143,[146]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[[20,[145]],21],[[143,[144]]]],[[142,142,[20,[142]],21],[[143,[[28,[142]]]]]],0,0,[[]],[[142,21],143],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[14,[[14,[14]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[],14],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[147,147,21],[[143,[[12,[147]]]]]],[[144,50,21],[[143,[[12,[147]]]]]],[[147,21],143],[[147,144,21],[[143,[[12,[147]]]]]],[[144,144,21],[[143,[[12,[147]]]]]],[[147,147,21],[[143,[[12,[147]]]]]],[[144,50,21],[[143,[[12,[147]]]]]],[[147,21],143],[[147,144,21],[[143,[[12,[147]]]]]],[[144,144,21],[[143,[[12,[147]]]]]],[[142,[20,[142]],21],143],0,[142],[145],[145],[142],[142],[142],[21],[142],[142],[[[20,[142]]]],[142],[142],0,[[148,142,21],[[143,[142]]]],[[148,142,142,21],143],[[]],0,[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],0,[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[1],0,[[],[[150,[149]]]],[[],[[20,[27]]]],[151],[[],[[14,[[20,[152]],153]]]],0,[[]],[[]],0,[[4,5,9,10,60],[[14,[154]]]],[[4,9,72,75,71,10,60],14],0,[[[151,[39]]],[[151,[39]]]],[[]],[151],[[],73],0,0,0,[[],[[156,[155]]]],[[],[[156,[155]]]],0,[[[151,[40]],[151,[40]]],50],[[],50],[[],50],[[],50],[[],50],[[],50],0,0,0,[[[151,[128]],25],26],[[]],0,[[[0,[42,157]],158],145],[[[151,[42]],159]],[[],[[12,[73]]]],[[]],[9,[[14,[160]]]],[60,151],0,0,0,0,0,[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],0,[151,60],0,0,0,0,[[]],[[],[[14,[[150,[149]],161]]]],[[],14],[[],14],[[],38],0,0,0,0,0,0,0,[[]],[[]],[[],[[12,[[20,[60]]]]]],[[]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],0,[[4,5,[9,[7,8]],10,[151,[165]]],[[163,[154]]]],[[[9,[7,8]],[20,[60]]],163],[[4,5,[9,[7,8]],10,[20,[60]]],163],0,0,[[]],[[]],[[]],[[]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[166,130],[[167,25],26],[[]],[[]],[[]],[[]],[10,[[129,[167]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[12,[[14,[12]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[],14],[14,[[14,[14]]]],[[],14],[[],14],[[],14],[[],14],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[168]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[169]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[164]]],[[163,[154]]]],[[4,5,[9,[7,8]],10,[151,[162]]],[[163,[154]]]],0,0,[1],[[]],[[]],[[4,5,9,10,60],[[14,[154]]]],[[4,5,9,10,60],14],[29,[[137,[6]]]],[66,66],[[]],[[5,10],15],[136,128],[[66,66],50],[[],50],[[],50],[[],50],[[],50],[[],50],[[[171,[170]]],[[78,[148]]]],[172,[[78,[148]]]],[172,[[78,[148]]]],[[6,172],[[12,[[173,[126]]]]]],[[6,73],[[12,[[173,[126]]]]]],[[6,172],18],[[66,25],26],[[66,25],26],[[]],[18,[[174,[172]]]],[148,160],[[]],[[160,73],[[14,[66]]]],[[148,148],148],[[73,73],73],[[160,73],73],[31],[15],[[[33,[32]]],[[14,[[33,[32]]]]]],[14,[[14,[14]]]],[[],14],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[4,5],[[14,[55]]]],[[]],[[],37],[[],14],[[],14],[[],38],[[[20,[148]]],142],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1],[[]],[[]],[19,19],[[]],[[19,19],50],[[],50],[[],50],[[],50],[[],50],[[],50],[172,19],[[19,25],26],[[[20,[[0,[[171,[19]],39]]]]],19],[[[78,[[171,[19]]]]],19],[[[28,[[171,[19]]]]],19],[145,19],[175,19],[142,19],[[]],[148,19],[21,19],[27,19],[[]],[[],50],[[[34,[32]]],[[14,[[34,[32]]]]]],[12,[[14,[12]]]],[[[28,[32]]],[[14,[[28,[32]]]]]],[[[33,[32]]],[[14,[[33,[32]]]]]],[[[36,[35]]],[[14,[[36,[35]]]]]],[[],14],[14,[[14,[14]]]],[[]],[[],14],[[],14],[[],38],[[]],[[]],[[]],0,0,0,0,0,0,0],"c":[],"p":[[3,"Private"],[3,"LLVMCompileError"],[3,"ExecutionResult"],[3,"Context"],[3,"Module"],[3,"Program"],[8,"GenericType"],[8,"GenericLibfunc"],[3,"ProgramRegistry"],[3,"MetadataStorage"],[3,"DebugLocations"],[4,"Option"],[3,"Error"],[4,"Result"],[3,"ExecutionEngine"],[4,"CoreType"],[4,"CoreLibfunc"],[3,"FunctionId"],[4,"JITValue"],[15,"slice"],[15,"u128"],[3,"SyscallHandlerMeta"],[3,"Error"],[3,"ContractExecutionResult"],[3,"Formatter"],[6,"Result"],[15,"u8"],[3,"Vec"],[3,"Path"],[3,"Error"],[3,"Demand"],[3,"Global"],[3,"Box"],[3,"VecDeque"],[3,"RandomState"],[3,"HashMap"],[3,"String"],[3,"TypeId"],[8,"Clone"],[8,"PartialEq"],[8,"Eq"],[8,"Hash"],[3,"ProgramCache"],[3,"NativeExecutor"],[3,"RefCell"],[3,"Rc"],[3,"NativeContext"],[3,"NativeModule"],[6,"CompileError"],[15,"bool"],[3,"DebugInfo"],[3,"RootDatabase"],[3,"DiagnosticAdded"],[4,"ErrorImpl"],[4,"Error"],[4,"EditStateError"],[4,"ProgramRegistryError"],[3,"ConcreteLibfuncId"],[8,"FnOnce"],[3,"ConcreteTypeId"],[8,"Error"],[4,"ErrorImpl"],[3,"LayoutError"],[3,"Error"],[4,"ErrorImpl"],[3,"LayoutError"],[3,"Error"],[3,"TryFromIntError"],[4,"ErrorImpl"],[6,"RunnerError"],[3,"LibfuncHelper"],[3,"Block"],[15,"usize"],[3,"Value"],[3,"Location"],[3,"Operation"],[4,"BranchTarget"],[15,"array"],[4,"ApTrackingConcreteLibfunc"],[6,"Result"],[3,"SignatureOnlyConcreteLibfunc"],[4,"ArrayConcreteLibfunc"],[3,"SignatureAndTypeConcreteLibfunc"],[4,"BoolConcreteLibfunc"],[4,"BoxConcreteLibfunc"],[4,"CastConcreteLibfunc"],[3,"DowncastConcreteLibfunc"],[4,"DebugConcreteLibfunc"],[4,"EcConcreteLibfunc"],[4,"EnumConcreteLibfunc"],[3,"EnumInitConcreteLibfunc"],[4,"Felt252Concrete"],[4,"Felt252BinaryOperationConcrete"],[3,"Felt252ConstConcreteLibfunc"],[4,"Felt252DictConcreteLibfunc"],[4,"Felt252DictEntryConcreteLibfunc"],[3,"FunctionCallConcreteLibfunc"],[4,"GasConcreteLibfunc"],[4,"MemConcreteLibfunc"],[4,"NullableConcreteLibfunc"],[4,"PedersenConcreteLibfunc"],[4,"PoseidonConcreteLibfunc"],[4,"StarkNetConcreteLibfunc"],[3,"SignatureAndConstConcreteLibfunc"],[4,"StructConcreteLibfunc"],[4,"Uint128Concrete"],[3,"Uint128Traits"],[3,"IntConstConcreteLibfunc"],[3,"IntOperationConcreteLibfunc"],[6,"Uint16Concrete"],[3,"Uint16Traits"],[4,"Uint256Concrete"],[6,"Uint32Concrete"],[3,"Uint32Traits"],[4,"Uint512Concrete"],[6,"Uint64Concrete"],[3,"Uint64Traits"],[6,"Uint8Concrete"],[3,"Uint8Traits"],[8,"Any"],[3,"DebugUtils"],[3,"EnumSnapshotVariantsMeta"],[3,"GasCost"],[3,"MetadataComputationConfig"],[3,"GasMetadata"],[3,"StatementIdx"],[4,"CostTokenType"],[8,"Debug"],[3,"PrimeModuloMeta"],[3,"BigUint"],[3,"ReallocBindingsMeta"],[3,"RuntimeBindingsMeta"],[3,"OperationRef"],[3,"SnapshotClonesMeta"],[6,"CloneFn"],[8,"Fn"],[3,"Arc"],[3,"NonNull"],[8,"StarkNetSyscallHandler"],[3,"TailRecursionMeta"],[3,"BlockRef"],[3,"Felt252"],[6,"SyscallResult"],[3,"U256"],[15,"u64"],[3,"ExecutionInfo"],[3,"Secp256k1Point"],[15,"u32"],[8,"BitOrder"],[3,"BitSlice"],[3,"WithSelf"],[8,"FromByteSlice"],[4,"Error"],[3,"Type"],[15,"char"],[8,"FromIterator"],[8,"Sized"],[8,"BuildHasher"],[8,"Hasher"],[3,"Layout"],[4,"BitSpanError"],[3,"InfoAndTypeConcreteType"],[6,"Result"],[3,"InfoOnlyConcreteType"],[3,"EnumConcreteType"],[3,"PRIME"],[3,"Felt252"],[4,"StarkNetTypeConcrete"],[3,"StructConcreteType"],[3,"BigInt"],[8,"Into"],[15,"str"],[3,"GenFunction"],[4,"Cow"],[15,"u16"],[13,"TypeBuilderError"],[13,"LibfuncBuilderError"],[13,"TypeBuilderError"],[13,"InsufficientGasError"],[8,"LibfuncBuilder"],[3,"TxInfo"],[3,"BlockInfo"],[3,"Secp256r1Point"],[8,"TypeBuilder"],[8,"ProgramRegistryExt"],[8,"ValueBuilder"],[13,"Struct"],[13,"Enum"],[13,"Felt252Dict"]]},\
"cairo_native_compile":{"doc":"","t":"DDENNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLFFMMFFLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLL","n":["Args","CmdLine","CompilerOutput","Path","Stdout","__clone_box","__clone_box","augment_args","augment_args","augment_args_for_update","augment_args_for_update","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","command","command","command_for_update","command_for_update","fmt","fmt","fmt","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","group_id","group_id","input","input","into","into","into","load_program","main","output","output","parse_input","parse_output","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","starknet","starknet","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","upcast","upcast","upcast","upcast_mut","upcast_mut","upcast_mut","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip"],"q":[[0,"cairo_native_compile"]],"d":["","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Input .sierra or .cairo program.","","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","","","Output file, .so on linux, .dylib on macOS","","","","","","","","","","","","","","","","","","","","","","","","","Whether the program is a contract.","Compile a starknet contract","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,4,4,3,4,5,3,5,3,5,3,4,5,3,4,3,4,3,4,5,3,5,3,5,3,4,5,3,4,5,3,5,3,5,3,5,3,5,3,4,0,0,5,3,0,0,5,5,5,5,5,5,5,3,3,3,3,3,3,3,4,4,4,4,4,4,4,5,3,3,4,5,3,4,5,3,4,5,3,4,5,3,4,5,3,4,5,3,5,3,5,3,4],"f":[0,0,0,0,0,[1],[1],[2,2],[2,2],[2,2],[2,2],[[]],[[]],[[]],[[]],[[]],[[]],[3,3],[4,4],[[]],[[]],[[],2],[[],2],[[],2],[[],2],[[5,6],7],[[3,6],7],[[4,6],7],[[]],[[]],[[]],[8,[[10,[5,9]]]],[8,[[10,[3,9]]]],[8,[[10,[5,9]]]],[8,[[10,[3,9]]]],[[],[[12,[11]]]],[[],[[12,[11]]]],0,0,[[]],[[]],[[]],[[13,[12,[14]],15],[[10,[[17,[16]]]]]],[[],[[10,[[17,[16]]]]]],0,0,[18,[[10,[19,20]]]],[18,[[10,[4,20]]]],[12,[[10,[12]]]],[10,[[10,[10]]]],[[[17,[21]]],[[10,[[17,[21]]]]]],[[[22,[21]]],[[10,[[22,[21]]]]]],[[[24,[23]]],[[10,[[24,[23]]]]]],[[[25,[21]]],[[10,[[25,[21]]]]]],[[],10],[[[22,[21]]],[[10,[[22,[21]]]]]],[12,[[10,[12]]]],[[[17,[21]]],[[10,[[17,[21]]]]]],[10,[[10,[10]]]],[[],10],[[[25,[21]]],[[10,[[25,[21]]]]]],[[[24,[23]]],[[10,[[24,[23]]]]]],[[[22,[21]]],[[10,[[22,[21]]]]]],[10,[[10,[10]]]],[[],10],[[[25,[21]]],[[10,[[25,[21]]]]]],[[[24,[23]]],[[10,[[24,[23]]]]]],[12,[[10,[12]]]],[[[17,[21]]],[[10,[[17,[21]]]]]],0,0,[[]],[[]],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],26],[[],26],[[],26],[[]],[[]],[[]],[[]],[[]],[[]],[[5,8],[[10,[9]]]],[[3,8],[[10,[9]]]],[[5,8],[[10,[9]]]],[[3,8],[[10,[9]]]],[[]],[[]],[[]]],"c":[],"p":[[3,"Private"],[3,"Command"],[3,"CmdLine"],[4,"CompilerOutput"],[3,"Args"],[3,"Formatter"],[6,"Result"],[3,"ArgMatches"],[6,"Error"],[4,"Result"],[3,"Id"],[4,"Option"],[3,"Path"],[3,"Context"],[15,"bool"],[8,"Error"],[3,"Box"],[15,"str"],[3,"PathBuf"],[3,"String"],[3,"Global"],[3,"VecDeque"],[3,"RandomState"],[3,"HashMap"],[3,"Vec"],[3,"TypeId"]]},\
"cairo_native_dump":{"doc":"","t":"DENNLLLLLLLLLLLLLLLLLLLLLMLLFFMFFLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLL","n":["CmdLine","CompilerOutput","Path","Stdout","__clone_box","__clone_box","augment_args","augment_args_for_update","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","command","command_for_update","fmt","fmt","from","from","from_arg_matches","from_arg_matches_mut","group_id","input","into","into","load_program","main","output","parse_input","parse_output","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","starknet","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","update_from_arg_matches","update_from_arg_matches_mut","vzip","vzip"],"q":[[0,"cairo_native_dump"]],"d":["","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","Compile a starknet contract","","","","","","","","","","","","","","","",""],"i":[0,0,4,4,3,4,3,3,3,4,3,4,3,4,3,4,3,3,3,4,3,4,3,3,3,3,3,4,0,0,3,0,0,3,3,3,3,3,3,3,4,4,4,4,4,4,4,3,3,4,3,4,3,4,3,4,3,4,3,4,3,3,3,4],"f":[0,0,0,0,[1],[1],[2,2],[2,2],[[]],[[]],[[]],[[]],[3,3],[4,4],[[]],[[]],[[],2],[[],2],[[3,5],6],[[4,5],6],[[]],[[]],[7,[[9,[3,8]]]],[7,[[9,[3,8]]]],[[],[[11,[10]]]],0,[[]],[[]],[[12,[11,[13]],14],[[9,[[16,[15]]]]]],[[],[[9,[[16,[15]]]]]],0,[17,[[9,[18,19]]]],[17,[[9,[4,19]]]],[9,[[9,[9]]]],[[[16,[20]]],[[9,[[16,[20]]]]]],[11,[[9,[11]]]],[[[21,[20]]],[[9,[[21,[20]]]]]],[[[23,[22]]],[[9,[[23,[22]]]]]],[[[24,[20]]],[[9,[[24,[20]]]]]],[[],9],[[[21,[20]]],[[9,[[21,[20]]]]]],[11,[[9,[11]]]],[9,[[9,[9]]]],[[],9],[[[24,[20]]],[[9,[[24,[20]]]]]],[[[23,[22]]],[[9,[[23,[22]]]]]],[[[16,[20]]],[[9,[[16,[20]]]]]],0,[[]],[[]],[[],9],[[],9],[[],9],[[],9],[[],25],[[],25],[[]],[[]],[[]],[[]],[[3,7],[[9,[8]]]],[[3,7],[[9,[8]]]],[[]],[[]]],"c":[],"p":[[3,"Private"],[3,"Command"],[3,"CmdLine"],[4,"CompilerOutput"],[3,"Formatter"],[6,"Result"],[3,"ArgMatches"],[6,"Error"],[4,"Result"],[3,"Id"],[4,"Option"],[3,"Path"],[3,"Context"],[15,"bool"],[8,"Error"],[3,"Box"],[15,"str"],[3,"PathBuf"],[3,"String"],[3,"Global"],[3,"VecDeque"],[3,"RandomState"],[3,"HashMap"],[3,"Vec"],[3,"TypeId"]]},\
"cairo_native_run":{"doc":"","t":"DNNELLLLLLLLLLLLLLMLLLLLLLMMLLFFMFFFMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL","n":["CmdLine","Path","Stdio","StdioOrPath","__clone_box","__clone_box","augment_args","augment_args_for_update","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","command","command_for_update","entry_point","fmt","fmt","from","from","from_arg_matches","from_arg_matches_mut","group_id","input","inputs","into","into","load_program","main","outputs","parse_entry_point","parse_input","parse_io","print_outputs","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","rewrite","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","upcast","upcast","upcast_mut","upcast_mut","update_from_arg_matches","update_from_arg_matches_mut","vzip","vzip"],"q":[[0,"cairo_native_run"]],"d":["","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,4,4,0,3,4,3,3,3,4,3,4,3,4,3,4,3,3,3,3,4,3,4,3,3,3,3,3,3,4,0,0,3,0,0,0,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,3,4,3,4,3,4,3,4,3,4,3,4,3,3,3,4],"f":[0,0,0,0,[1],[1],[2,2],[2,2],[[]],[[]],[[]],[[]],[3,3],[4,4],[[]],[[]],[[],2],[[],2],0,[[3,5],6],[[4,5],6],[[]],[[]],[7,[[9,[3,8]]]],[7,[[9,[3,8]]]],[[],[[11,[10]]]],0,0,[[]],[[]],[12,[[9,[13,[15,[14]]]]]],[[],[[9,[[15,[14]]]]]],0,[16,[[9,[17,18]]]],[16,[[9,[19,20]]]],[16,[[9,[4,20]]]],0,[11,[[9,[11]]]],[[[15,[21]]],[[9,[[15,[21]]]]]],[9,[[9,[9]]]],[[],9],[[[22,[21]]],[[9,[[22,[21]]]]]],[[[24,[23]]],[[9,[[24,[23]]]]]],[[[25,[21]]],[[9,[[25,[21]]]]]],[[[15,[21]]],[[9,[[15,[21]]]]]],[9,[[9,[9]]]],[[],9],[[[22,[21]]],[[9,[[22,[21]]]]]],[[[24,[23]]],[[9,[[24,[23]]]]]],[[[25,[21]]],[[9,[[25,[21]]]]]],[11,[[9,[11]]]],[[]],[[]],[[],9],[[],9],[[],9],[[],9],[[],26],[[],26],[[]],[[]],[[]],[[]],[[3,7],[[9,[8]]]],[[3,7],[[9,[8]]]],[[]],[[]]],"c":[],"p":[[3,"Private"],[3,"Command"],[3,"CmdLine"],[4,"StdioOrPath"],[3,"Formatter"],[6,"Result"],[3,"ArgMatches"],[6,"Error"],[4,"Result"],[3,"Id"],[4,"Option"],[3,"Path"],[3,"Program"],[8,"Error"],[3,"Box"],[15,"str"],[3,"FunctionId"],[4,"Infallible"],[3,"PathBuf"],[3,"String"],[3,"Global"],[3,"Vec"],[3,"RandomState"],[3,"HashMap"],[3,"VecDeque"],[3,"TypeId"]]},\
-"cairo_native_runtime":{"doc":"","t":"FFFFFFFFFFF","n":["cairo_native__alloc_dict","cairo_native__dict_get","cairo_native__dict_insert","cairo_native__libfunc__debug__print","cairo_native__libfunc__ec__ec_point_from_x_nz","cairo_native__libfunc__ec__ec_point_try_new_nz","cairo_native__libfunc__ec__ec_state_add","cairo_native__libfunc__ec__ec_state_add_mul","cairo_native__libfunc__ec__ec_state_try_finalize_nz","cairo_native__libfunc__hades_permutation","cairo_native__libfunc__pedersen"],"q":[[0,"cairo_native_runtime"]],"d":["Allocates a new dictionary. Internally a rust hashmap: …","Gets the value for a given key, the returned pointer is …","Inserts the provided key value. Returning the old one or …","Based on cairo-lang-runner
’s implementation.","Compute ec_point_from_x_nz(x)
and store it.","Compute ec_point_try_new_nz(x)
.","Compute ec_state_add(state, point)
and store the state …","Compute ec_state_add_mul(state, scalar, point)
and store …","Compute ec_state_try_finalize_nz(state)
and store the …","Compute hades_permutation(op0, op1, op2)
and replace the …","Compute pedersen(lhs, rhs)
and store it into dst
."],"i":[0,0,0,0,0,0,0,0,0,0,0],"f":[[[],1],[[1,[3,[2]]],1],[[1,[3,[2]],[4,[1]]],1],[[5,3,6],5],[[[4,[[3,[[3,[2]]]]]]],7],[[[4,[[3,[[3,[2]]]]]]],7],[[[4,[[3,[[3,[2]]]]]],[4,[[3,[[3,[2]]]]]]]],[[[4,[[3,[[3,[2]]]]]],[4,[[3,[2]]]],[4,[[3,[[3,[2]]]]]]]],[[[4,[[3,[[3,[2]]]]]],[4,[[3,[[3,[2]]]]]]],7],[[2,2,2]],[[2,2,2]]],"c":[],"p":[[4,"c_void"],[15,"u8"],[15,"array"],[3,"NonNull"],[15,"i32"],[15,"usize"],[15,"bool"]]}\
+"cairo_native_runtime":{"doc":"","t":"FFFFFFFFFFFF","n":["cairo_native__alloc_dict","cairo_native__dict_free","cairo_native__dict_get","cairo_native__dict_insert","cairo_native__libfunc__debug__print","cairo_native__libfunc__ec__ec_point_from_x_nz","cairo_native__libfunc__ec__ec_point_try_new_nz","cairo_native__libfunc__ec__ec_state_add","cairo_native__libfunc__ec__ec_state_add_mul","cairo_native__libfunc__ec__ec_state_try_finalize_nz","cairo_native__libfunc__hades_permutation","cairo_native__libfunc__pedersen"],"q":[[0,"cairo_native_runtime"]],"d":["Allocates a new dictionary. Internally a rust hashmap: …","Frees the dictionary.","Gets the value for a given key, the returned pointer is …","Inserts the provided key value. Returning the old one or …","Based on cairo-lang-runner
’s implementation.","Compute ec_point_from_x_nz(x)
and store it.","Compute ec_point_try_new_nz(x)
.","Compute ec_state_add(state, point)
and store the state …","Compute ec_state_add_mul(state, scalar, point)
and store …","Compute ec_state_try_finalize_nz(state)
and store the …","Compute hades_permutation(op0, op1, op2)
and replace the …","Compute pedersen(lhs, rhs)
and store it into dst
."],"i":[0,0,0,0,0,0,0,0,0,0,0,0],"f":[[[],1],[1],[[1,[3,[2]]],1],[[1,[3,[2]],[4,[1]]],1],[[5,3,6],5],[[[4,[[3,[[3,[2]]]]]]],7],[[[4,[[3,[[3,[2]]]]]]],7],[[[4,[[3,[[3,[2]]]]]],[4,[[3,[[3,[2]]]]]]]],[[[4,[[3,[[3,[2]]]]]],[4,[[3,[2]]]],[4,[[3,[[3,[2]]]]]]]],[[[4,[[3,[[3,[2]]]]]],[4,[[3,[[3,[2]]]]]]],7],[[2,2,2]],[[2,2,2]]],"c":[],"p":[[4,"c_void"],[15,"u8"],[15,"array"],[3,"NonNull"],[15,"i32"],[15,"usize"],[15,"bool"]]}\
}');
if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)};
if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex};
diff --git a/settings.html b/settings.html
index 9da89694a..62ddbfa62 100644
--- a/settings.html
+++ b/settings.html
@@ -1 +1 @@
-Rustdoc settings Rustdoc settings
Back
\ No newline at end of file
+Rustdoc settings Rustdoc settings
Back
\ No newline at end of file
diff --git a/src/cairo_native/error/libfuncs.rs.html b/src/cairo_native/error/libfuncs.rs.html
index e4a2546a4..12702e61e 100644
--- a/src/cairo_native/error/libfuncs.rs.html
+++ b/src/cairo_native/error/libfuncs.rs.html
@@ -61,6 +61,8 @@
61
62
63
+64
+65
use cairo_lang_sierra::program_registry::ProgramRegistryError;
use std::{alloc::LayoutError, fmt, num::TryFromIntError, ops::Deref};
use thiserror::Error;
@@ -121,6 +123,8 @@
super::types::ErrorImpl::ProgramRegistryError(e) => Self::ProgramRegistryError(e),
super::types::ErrorImpl::TryFromIntError(e) => Self::TryFromIntError(e),
super::types::ErrorImpl::LayoutErrorPolyfill(e) => Self::LayoutErrorPolyfill(e),
+ super::types::ErrorImpl::MlirError(e) => Self::MlirError(e),
+ super::types::ErrorImpl::LibFuncError(e) => e.source,
}
}
}
diff --git a/src/cairo_native/error/types.rs.html b/src/cairo_native/error/types.rs.html
index 4a1b11c2c..ea9d3a5d1 100644
--- a/src/cairo_native/error/types.rs.html
+++ b/src/cairo_native/error/types.rs.html
@@ -48,6 +48,10 @@
48
49
50
+51
+52
+53
+54
use cairo_lang_sierra::program_registry::ProgramRegistryError;
use std::{alloc::LayoutError, fmt, num::TryFromIntError, ops::Deref};
use thiserror::Error;
@@ -97,5 +101,9 @@
ProgramRegistryError(#[from] Box<ProgramRegistryError>),
#[error(transparent)]
TryFromIntError(#[from] TryFromIntError),
+ #[error(transparent)]
+ MlirError(#[from] melior::Error),
+ #[error(transparent)]
+ LibFuncError(#[from] crate::error::libfuncs::Error),
}
\ No newline at end of file
diff --git a/src/cairo_native/libfuncs/drop.rs.html b/src/cairo_native/libfuncs/drop.rs.html
index e82a8c750..1852e58f8 100644
--- a/src/cairo_native/libfuncs/drop.rs.html
+++ b/src/cairo_native/libfuncs/drop.rs.html
@@ -45,6 +45,17 @@
45
46
47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
//! # `AP` tracking libfuncs
//!
//! Most types are trivial and don't need dropping (or rather, they will be dropped automatically
@@ -72,13 +83,13 @@
/// Generate MLIR operations for the `drop` libfunc.
pub fn build<'ctx, 'this, TType, TLibfunc>(
- _context: &'ctx Context,
- _registry: &ProgramRegistry<TType, TLibfunc>,
+ context: &'ctx Context,
+ registry: &ProgramRegistry<TType, TLibfunc>,
entry: &'this Block<'ctx>,
location: Location<'ctx>,
helper: &LibfuncHelper<'ctx, 'this>,
- _metadata: &mut MetadataStorage,
- _info: &SignatureOnlyConcreteLibfunc,
+ metadata: &mut MetadataStorage,
+ info: &SignatureOnlyConcreteLibfunc,
) -> Result<()>
where
TType: GenericType,
@@ -88,7 +99,18 @@
{
// TODO: Implement drop for arrays.
- entry.append_operation(helper.br(0, &[], location));
+ let ty = registry.get_type(&info.signature.param_signatures[0].ty)?;
+ ty.build_drop(
+ context,
+ registry,
+ entry,
+ location,
+ helper,
+ metadata,
+ &info.signature.param_signatures[0].ty,
+ )?;
+
+ entry.append_operation(helper.br(0, &[], location));
Ok(())
}
diff --git a/src/cairo_native/metadata/realloc_bindings.rs.html b/src/cairo_native/metadata/realloc_bindings.rs.html
index f5ade0522..0d7996d3f 100644
--- a/src/cairo_native/metadata/realloc_bindings.rs.html
+++ b/src/cairo_native/metadata/realloc_bindings.rs.html
@@ -66,6 +66,34 @@
66
67
68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
//! # Memory allocation external bindings
//!
//! This metadata ensures that the bindings to the C function `realloc` exist in the current
@@ -112,6 +140,19 @@
)],
Location::unknown(context),
));
+ module.body().append_operation(func::func(
+ context,
+ StringAttribute::new(context, "free"),
+ TypeAttribute::new(
+ FunctionType::new(context, &[llvm::r#type::opaque_pointer(context)], &[]).into(),
+ ),
+ Region::new(),
+ &[(
+ Identifier::new(context, "sym_visibility"),
+ StringAttribute::new(context, "private").into(),
+ )],
+ Location::unknown(context),
+ ));
Self {
phantom: PhantomData,
@@ -133,5 +174,20 @@
location,
)
}
+
+ /// Calls the `free` function.
+ pub fn free<'c>(
+ context: &'c Context,
+ ptr: Value<'c, '_>,
+ location: Location<'c>,
+ ) -> Operation<'c> {
+ func::call(
+ context,
+ FlatSymbolRefAttribute::new(context, "free"),
+ &[ptr],
+ &[],
+ location,
+ )
+ }
}
\ No newline at end of file
diff --git a/src/cairo_native/metadata/runtime_bindings.rs.html b/src/cairo_native/metadata/runtime_bindings.rs.html
index a83b780df..a93f8aa8b 100644
--- a/src/cairo_native/metadata/runtime_bindings.rs.html
+++ b/src/cairo_native/metadata/runtime_bindings.rs.html
@@ -625,6 +625,48 @@
625
626
627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
//! # Runtime library bindings
//!
//! This metadata ensures that the bindings to the runtime functions exist in the current
@@ -655,6 +697,7 @@
DictNew,
DictGet,
DictInsert,
+ DictFree,
}
/// Runtime library bindings metadata.
@@ -1139,6 +1182,47 @@
)))
}
+ /// Register if necessary, then invoke the `dict_alloc_new()` function.
+ ///
+ /// Returns a opaque pointer as the result.
+ #[allow(clippy::too_many_arguments)]
+ pub fn dict_alloc_free<'c, 'a>(
+ &mut self,
+ context: &'c Context,
+ module: &Module,
+ ptr: Value<'c, 'a>,
+ block: &'a Block<'c>,
+ location: Location<'c>,
+ ) -> Result<OperationRef<'c, 'a>>
+ where
+ 'c: 'a,
+ {
+ if self.active_map.insert(RuntimeBinding::DictFree) {
+ module.body().append_operation(func::func(
+ context,
+ StringAttribute::new(context, "cairo_native__dict_free"),
+ TypeAttribute::new(
+ FunctionType::new(context, &[llvm::r#type::opaque_pointer(context)], &[])
+ .into(),
+ ),
+ Region::new(),
+ &[(
+ Identifier::new(context, "sym_visibility"),
+ StringAttribute::new(context, "private").into(),
+ )],
+ Location::unknown(context),
+ ));
+ }
+
+ Ok(block.append_operation(func::call(
+ context,
+ FlatSymbolRefAttribute::new(context, "cairo_native__dict_free"),
+ &[ptr],
+ &[],
+ location,
+ )))
+ }
+
/// Register if necessary, then invoke the `dict_get()` function.
///
/// Gets the value for a given key, the returned pointer is null if not found.
diff --git a/src/cairo_native/types.rs.html b/src/cairo_native/types.rs.html
index 48f5fc18b..e311c00f7 100644
--- a/src/cairo_native/types.rs.html
+++ b/src/cairo_native/types.rs.html
@@ -458,14 +458,91 @@
458
459
460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
//! # Compiler type infrastructure
//!
//! Contains type generation stuff (aka. conversion from Sierra to MLIR types).
use crate::{
error::CoreTypeBuilderError,
- metadata::MetadataStorage,
- utils::{get_integer_layout, layout_repeat},
+ libfuncs::LibfuncHelper,
+ metadata::{
+ realloc_bindings::ReallocBindingsMeta, runtime_bindings::RuntimeBindingsMeta,
+ MetadataStorage,
+ },
+ utils::{get_integer_layout, layout_repeat, ProgramRegistryExt},
};
use cairo_lang_sierra::{
extensions::{
@@ -476,6 +553,10 @@
ids::ConcreteTypeId,
program_registry::ProgramRegistry,
};
+use melior::{
+ dialect::llvm::{self, r#type::opaque_pointer},
+ ir::{attribute::DenseI64ArrayAttribute, Block, Location, Value},
+};
use melior::{
ir::{Module, Type},
Context,
@@ -548,6 +629,18 @@
///
/// TODO: How is it used?
fn variants(&self) -> Option<&[ConcreteTypeId]>;
+
+ #[allow(clippy::too_many_arguments)]
+ fn build_drop<'ctx, 'this>(
+ &self,
+ context: &'ctx Context,
+ registry: &ProgramRegistry<TType, TLibfunc>,
+ entry: &'this Block<'ctx>,
+ location: Location<'ctx>,
+ helper: &LibfuncHelper<'ctx, 'this>,
+ metadata: &mut MetadataStorage,
+ self_ty: &ConcreteTypeId,
+ ) -> Result<(), Self::Error>;
}
impl<TType, TLibfunc> TypeBuilder<TType, TLibfunc> for CoreTypeConcrete
@@ -887,6 +980,59 @@
_ => None,
}
}
+
+ fn build_drop<'ctx, 'this>(
+ &self,
+ context: &'ctx Context,
+ registry: &ProgramRegistry<TType, TLibfunc>,
+ entry: &'this Block<'ctx>,
+ location: Location<'ctx>,
+ helper: &LibfuncHelper<'ctx, 'this>,
+ metadata: &mut MetadataStorage,
+ self_ty: &ConcreteTypeId,
+ ) -> Result<(), Self::Error> {
+ match self {
+ CoreTypeConcrete::Array(_info) => {
+ let array_ty = registry.build_type(context, helper, registry, metadata, self_ty)?;
+
+ let ptr_ty = crate::ffi::get_struct_field_type_at(&array_ty, 0);
+
+ let array_val = entry.argument(0)?.into();
+
+ let op = entry.append_operation(llvm::extract_value(
+ context,
+ array_val,
+ DenseI64ArrayAttribute::new(context, &[0]),
+ ptr_ty,
+ location,
+ ));
+ let ptr: Value = op.result(0)?.into();
+
+ let ptr = entry
+ .append_operation(llvm::bitcast(ptr, opaque_pointer(context), location))
+ .result(0)?
+ .into();
+
+ entry.append_operation(ReallocBindingsMeta::free(context, ptr, location));
+ }
+ CoreTypeConcrete::Felt252Dict(_) | CoreTypeConcrete::SquashedFelt252Dict(_) => {
+ let runtime: &mut RuntimeBindingsMeta = metadata.get_mut().unwrap();
+ let ptr = entry.argument(0)?.into();
+
+ runtime.dict_alloc_free(context, helper, ptr, entry, location)?;
+ }
+ CoreTypeConcrete::Box(_) | CoreTypeConcrete::Nullable(_) => {
+ if metadata.get::<ReallocBindingsMeta>().is_none() {
+ metadata.insert(ReallocBindingsMeta::new(context, helper));
+ }
+
+ let ptr = entry.argument(0)?.into();
+ entry.append_operation(ReallocBindingsMeta::free(context, ptr, location));
+ }
+ _ => {}
+ };
+ Ok(())
+ }
}
#[derive(Clone, Debug, Eq, Hash, PartialEq)]
diff --git a/src/cairo_native/utils.rs.html b/src/cairo_native/utils.rs.html
index 8240b9f1a..e4ee5a66b 100644
--- a/src/cairo_native/utils.rs.html
+++ b/src/cairo_native/utils.rs.html
@@ -1160,6 +1160,12 @@
1160
1161
1162
+1163
+1164
+1165
+1166
+1167
+1168
//! # Various utilities
use crate::{
@@ -1438,6 +1444,12 @@
as *mut (),
);
+ engine.register_symbol(
+ "cairo_native__dict_free",
+ cairo_native_runtime::cairo_native__dict_free as *const fn(*mut std::ffi::c_void) -> ()
+ as *mut (),
+ );
+
engine.register_symbol(
"cairo_native__dict_get",
cairo_native_runtime::cairo_native__dict_get
diff --git a/src/cairo_native/values.rs.html b/src/cairo_native/values.rs.html
index 0b2aee7f5..6963c0087 100644
--- a/src/cairo_native/values.rs.html
+++ b/src/cairo_native/values.rs.html
@@ -681,6 +681,12 @@
681
682
683
+684
+685
+686
+687
+688
+689
//! # JIT params and return values de/serialization
//! A Rusty interface to provide parameters to JIT calls.
@@ -1135,6 +1141,8 @@
array_value.push(Self::from_jit(cur_elem_ptr, &info.ty, registry));
}
+ libc::free(data_ptr.as_ptr().cast());
+
Self::Array(array_value)
}
CoreTypeConcrete::Box(info) => JITValue::from_jit(ptr, &info.ty, registry),
@@ -1249,11 +1257,15 @@
for (key, val_ptr) in map.iter() {
let key = Felt252::from_bytes_le(key.as_slice());
output_map.insert(key, Self::from_jit(val_ptr.cast(), &info.ty, registry));
+ // we need to free all the elements, which are allocated by libc realloc.
+ libc::free(val_ptr.as_ptr());
}
- Box::leak(map); // we must leak to avoid a double free
+ // we must leak to avoid a double free
+ // as it was allocated in the arena and will be freed by it.
+ Box::leak(map);
- JITValue::Felt252Dict {
+ JITValue::Felt252Dict {
value: output_map,
debug_name: type_id.debug_name.as_ref().map(|x| x.to_string()),
}
diff --git a/src/cairo_native_runtime/lib.rs.html b/src/cairo_native_runtime/lib.rs.html
index 90a29d2b7..bdbc39132 100644
--- a/src/cairo_native_runtime/lib.rs.html
+++ b/src/cairo_native_runtime/lib.rs.html
@@ -415,6 +415,23 @@
415
416
417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
#![allow(non_snake_case)]
use cairo_felt::Felt252;
@@ -593,6 +610,23 @@
}
}
+/// Frees the dictionary.
+///
+/// # Safety
+///
+/// This function is intended to be called from MLIR, deals with pointers, and is therefore
+/// definitely unsafe to use manually.
+#[no_mangle]
+pub unsafe extern "C" fn cairo_native__dict_free(map: *mut std::ffi::c_void) {
+ let dict = map.cast::<HashMap<[u8; 32], NonNull<std::ffi::c_void>>>();
+ let dict = Box::from_raw(dict);
+
+ for (_, entry) in dict.into_iter() {
+ libc::free(entry.as_ptr().cast());
+ }
+ // freed by box drop
+}
+
/// Compute `ec_point_from_x_nz(x)` and store it.
///
/// # Panics