From 9bc0232b17fbb8f71e8ed5d4d0018a974d6958e7 Mon Sep 17 00:00:00 2001 From: d0cd Date: Tue, 17 Dec 2024 19:18:58 +0000 Subject: [PATCH] deploy: aa6a5f384325517cfc4035a8a61ceedf215c83d8 --- crates.js | 4 +- index.html | 4 +- .../core_function/enum.CoreFunction.html | 12 +- leo_ast/functions/core_function/index.html | 2 +- leo_errors/all.html | 2 +- .../errors/ast/ast_errors/enum.AstError.html | 2 +- .../errors/cli/cli_errors/enum.CliError.html | 2 +- .../compiler_errors/enum.CompilerError.html | 2 +- leo_errors/errors/enum.LeoError.html | 17 +- leo_errors/errors/enum.LeoWarning.html | 6 +- .../flattener_errors/enum.FlattenError.html | 2 +- leo_errors/errors/index.html | 4 +- leo_errors/errors/interpreter_halt/index.html | 2 + .../errors/interpreter_halt/sidebar-items.js | 1 + .../struct.InterpreterHalt.html | 28 + .../enum.LoopUnrollerError.html | 2 +- .../package_errors/enum.PackageError.html | 2 +- .../parser_errors/enum.ParserError.html | 2 +- .../parser_warnings/enum.ParserWarning.html | 2 +- leo_errors/errors/sidebar-items.js | 2 +- .../enum.StaticAnalyzerError.html | 2 +- .../enum.StaticAnalyzerWarning.html | 2 +- leo_errors/errors/type.Result.html | 2 +- .../enum.TypeCheckerError.html | 2 +- .../enum.TypeCheckerWarning.html | 2 +- .../utils/util_errors/enum.UtilError.html | 2 +- leo_interpreter/all.html | 1 + leo_interpreter/constant.HELP.html | 53 + leo_interpreter/constant.INTRO.html | 1 + leo_interpreter/cursor/enum.AleoContext.html | 30 + leo_interpreter/cursor/enum.Element.html | 51 + .../cursor/enum.FunctionVariant.html | 30 + .../cursor/fn.evaluate_binary.html | 7 + leo_interpreter/cursor/fn.evaluate_unary.html | 6 + leo_interpreter/cursor/index.html | 3 + leo_interpreter/cursor/sidebar-items.js | 1 + .../cursor/struct.ContextStack.html | 34 + leo_interpreter/cursor/struct.Cursor.html | 107 + leo_interpreter/cursor/struct.Frame.html | 32 + .../cursor/struct.FunctionContext.html | 33 + leo_interpreter/cursor/struct.GlobalId.html | 46 + leo_interpreter/cursor/struct.StepResult.html | 31 + leo_interpreter/cursor/type.Closure.html | 1 + leo_interpreter/cursor/type.Finalize.html | 1 + leo_interpreter/cursor/type.SvmFunction.html | 1 + .../fn.snarkvm_literal_to_value.html | 1 + .../fn.snarkvm_literal_type_to_type.html | 1 + .../fn.value_to_snarkvm_literal.html | 1 + leo_interpreter/cursor_aleo/index.html | 1 + leo_interpreter/cursor_aleo/sidebar-items.js | 1 + leo_interpreter/dialoguer_input/index.html | 1 + .../dialoguer_input/sidebar-items.js | 1 + .../dialoguer_input/struct.DialoguerUi.html | 26 + leo_interpreter/fn.interpret.html | 9 + leo_interpreter/fn.parse_breakpoint.html | 1 + leo_interpreter/fn.tokenize_user_input.html | 1 + leo_interpreter/index.html | 2 + .../interpreter/enum.InterpreterAction.html | 37 + leo_interpreter/interpreter/index.html | 3 + leo_interpreter/interpreter/sidebar-items.js | 1 + .../interpreter/struct.Breakpoint.html | 29 + .../interpreter/struct.Interpreter.html | 53 + .../interpreter/struct.Watchpoint.html | 29 + leo_interpreter/macro.halt!.html | 11 + leo_interpreter/macro.halt.html | 4 + leo_interpreter/macro.halt_no_span!.html | 11 + leo_interpreter/macro.halt_no_span.html | 3 + leo_interpreter/macro.tc_fail!.html | 11 + leo_interpreter/macro.tc_fail.html | 3 + .../ratatui_ui/fn.append_lines.html | 6 + leo_interpreter/ratatui_ui/fn.code_text.html | 1 + .../ratatui_ui/fn.render_titled.html | 6 + leo_interpreter/ratatui_ui/index.html | 1 + leo_interpreter/ratatui_ui/sidebar-items.js | 1 + .../ratatui_ui/struct.DebuggerLayout.html | 30 + .../ratatui_ui/struct.DrawData.html | 31 + leo_interpreter/ratatui_ui/struct.Prompt.html | 30 + .../ratatui_ui/struct.RatatuiUi.html | 27 + leo_interpreter/sidebar-items.js | 1 + leo_interpreter/ui/index.html | 1 + leo_interpreter/ui/sidebar-items.js | 1 + leo_interpreter/ui/struct.UserData.html | 31 + leo_interpreter/ui/trait.Ui.html | 5 + .../util/fn.snarkvm_identifier_to_symbol.html | 1 + leo_interpreter/util/index.html | 1 + leo_interpreter/util/sidebar-items.js | 1 + leo_interpreter/util/trait.ExpectTc.html | 6 + leo_interpreter/value/enum.Value.html | 72 + leo_interpreter/value/fn.really_cast.html | 2 + leo_interpreter/value/index.html | 1 + leo_interpreter/value/sidebar-items.js | 1 + .../value/struct.AsyncExecution.html | 38 + leo_interpreter/value/struct.Future.html | 41 + .../value/struct.StructContents.html | 38 + leo_interpreter/value/type.SvmAddress.html | 1 + leo_interpreter/value/type.SvmBoolean.html | 1 + leo_interpreter/value/type.SvmField.html | 1 + leo_interpreter/value/type.SvmGroup.html | 1 + leo_interpreter/value/type.SvmIdentifier.html | 1 + leo_interpreter/value/type.SvmInteger.html | 1 + leo_interpreter/value/type.SvmScalar.html | 1 + leo_lang/all.html | 2 +- leo_lang/cli/account/enum.Account.html | 6 +- leo_lang/cli/add/struct.LeoAdd.html | 4 +- leo_lang/cli/build/struct.LeoBuild.html | 4 +- leo_lang/cli/clean/struct.LeoClean.html | 4 +- leo_lang/cli/cli/enum.Commands.html | 11 +- leo_lang/cli/cli/fn.handle_error.html | 2 +- leo_lang/cli/cli/fn.run_with_args.html | 2 +- leo_lang/cli/cli/index.html | 2 +- .../cli/commands/account/enum.Account.html | 6 +- leo_lang/cli/commands/add/struct.LeoAdd.html | 4 +- .../cli/commands/build/struct.LeoBuild.html | 4 +- .../cli/commands/clean/struct.LeoClean.html | 4 +- .../cli/commands/debug/fn.handle_debug.html | 1 + leo_lang/cli/commands/debug/index.html | 1 + leo_lang/cli/commands/debug/sidebar-items.js | 1 + .../cli/commands/debug/struct.LeoDebug.html | 61 + .../cli/commands/deploy/fn.handle_deploy.html | 2 +- .../cli/commands/deploy/struct.Deploy.html | 4 +- .../commands/example/struct.LeoExample.html | 6 +- .../commands/execute/fn.handle_execute.html | 2 +- .../execute/fn.load_program_from_network.html | 2 +- .../commands/execute/struct.LeoExecute.html | 4 +- leo_lang/cli/commands/fn.check_balance.html | 2 +- .../cli/commands/fn.handle_broadcast.html | 2 +- leo_lang/cli/commands/fn.parse_record.html | 2 +- leo_lang/cli/commands/index.html | 2 +- leo_lang/cli/commands/new/struct.LeoNew.html | 4 +- .../commands/query/block/struct.LeoBlock.html | 4 +- .../query/committee/struct.LeoCommittee.html | 4 +- .../query/mempool/struct.LeoMempool.html | 4 +- .../commands/query/peers/struct.LeoPeers.html | 4 +- .../query/program/struct.LeoProgram.html | 4 +- .../query/state_root/struct.StateRoot.html | 4 +- .../cli/commands/query/struct.LeoQuery.html | 4 +- .../transaction/struct.LeoTransaction.html | 4 +- .../cli/commands/remove/struct.LeoRemove.html | 4 +- leo_lang/cli/commands/run/struct.LeoRun.html | 4 +- leo_lang/cli/commands/sidebar-items.js | 2 +- .../cli/commands/struct.BuildOptions.html | 14 +- leo_lang/cli/commands/struct.FeeOptions.html | 14 +- leo_lang/cli/commands/trait.Command.html | 18 +- .../cli/commands/update/struct.LeoUpdate.html | 4 +- leo_lang/cli/debug/index.html | 1 + leo_lang/cli/debug/sidebar-items.js | 1 + leo_lang/cli/debug/struct.LeoDebug.html | 61 + leo_lang/cli/deploy/struct.Deploy.html | 4 +- leo_lang/cli/enum.Account.html | 6 +- leo_lang/cli/example/struct.LeoExample.html | 6 +- leo_lang/cli/execute/struct.LeoExecute.html | 4 +- leo_lang/cli/fn.handle_error.html | 2 +- leo_lang/cli/fn.parse_record.html | 2 +- leo_lang/cli/fn.run_with_args.html | 2 +- leo_lang/cli/index.html | 4 +- leo_lang/cli/new/struct.LeoNew.html | 4 +- .../cli/query/program/struct.LeoProgram.html | 4 +- leo_lang/cli/query/struct.LeoProgram.html | 4 +- leo_lang/cli/query/struct.LeoQuery.html | 4 +- leo_lang/cli/remove/struct.LeoRemove.html | 4 +- leo_lang/cli/run/struct.LeoRun.html | 4 +- leo_lang/cli/sidebar-items.js | 2 +- leo_lang/cli/struct.BuildOptions.html | 14 +- leo_lang/cli/struct.Deploy.html | 4 +- leo_lang/cli/struct.FeeOptions.html | 14 +- leo_lang/cli/struct.LeoAdd.html | 4 +- leo_lang/cli/struct.LeoBuild.html | 4 +- leo_lang/cli/struct.LeoClean.html | 4 +- leo_lang/cli/struct.LeoDebug.html | 61 + leo_lang/cli/struct.LeoExample.html | 6 +- leo_lang/cli/struct.LeoExecute.html | 4 +- leo_lang/cli/struct.LeoNew.html | 4 +- leo_lang/cli/struct.LeoQuery.html | 4 +- leo_lang/cli/struct.LeoRemove.html | 4 +- leo_lang/cli/struct.LeoRun.html | 4 +- leo_lang/cli/struct.LeoUpdate.html | 4 +- leo_lang/cli/trait.Command.html | 18 +- leo_lang/cli/update/struct.LeoUpdate.html | 4 +- leo_package/all.html | 2 +- leo_package/fn.parse_file_paths.html | 2 +- leo_package/index.html | 4 +- leo_package/package/index.html | 2 +- leo_package/package/struct.Package.html | 12 +- leo_package/sidebar-items.js | 2 +- leo_package/static.TEST_PRIVATE_KEY.html | 1 + leo_parser/all.html | 2 +- leo_parser/parser/fn.parse_expression.html | 6 + leo_parser/parser/fn.parse_statement.html | 6 + leo_parser/parser/index.html | 4 +- leo_parser/parser/sidebar-items.js | 2 +- .../generator/struct.CodeGenerator.html | 6 +- .../visit_expressions/index.html | 2 +- .../struct.DeadCodeEliminator.html | 6 +- .../eliminate_expression/index.html | 2 +- .../checker/fn.types_to_string.html | 2 +- leo_passes/type_checking/checker/index.html | 2 +- .../checker/struct.TypeChecker.html | 22 +- leo_span/all.html | 2 +- leo_span/source_map/struct.SourceMap.html | 2 +- leo_span/symbol/constant.PRE_DEFINED.html | 2 +- leo_span/symbol/enum.InternedStr.html | 8 +- .../fn.create_session_if_not_set_then.html | 2 +- leo_span/symbol/fn.with_session_globals.html | 2 +- leo_span/symbol/index.html | 2 +- leo_span/symbol/static.SESSION_GLOBALS.html | 2 +- leo_span/symbol/struct.InnerInterner.html | 2 +- leo_span/symbol/struct.Interner.html | 10 +- leo_span/symbol/struct.SessionGlobals.html | 4 +- leo_span/symbol/struct.Symbol.html | 28 +- leo_span/symbol/sym/constant.As.html | 2 +- leo_span/symbol/sym/constant.Await.html | 2 +- leo_span/symbol/sym/constant.BHP1024.html | 2 +- leo_span/symbol/sym/constant.BHP256.html | 2 +- leo_span/symbol/sym/constant.BHP512.html | 2 +- leo_span/symbol/sym/constant.BHP768.html | 2 +- leo_span/symbol/sym/constant.ChaCha.html | 2 +- leo_span/symbol/sym/constant.CheatCode.html | 1 + leo_span/symbol/sym/constant.Const.html | 2 +- leo_span/symbol/sym/constant.Else.html | 2 +- leo_span/symbol/sym/constant.False.html | 2 +- leo_span/symbol/sym/constant.Fn.html | 2 +- leo_span/symbol/sym/constant.For.html | 2 +- leo_span/symbol/sym/constant.Future.html | 2 +- leo_span/symbol/sym/constant.GEN.html | 2 +- leo_span/symbol/sym/constant.If.html | 2 +- leo_span/symbol/sym/constant.In.html | 2 +- leo_span/symbol/sym/constant.Keccak256.html | 2 +- leo_span/symbol/sym/constant.Keccak384.html | 2 +- leo_span/symbol/sym/constant.Keccak512.html | 2 +- leo_span/symbol/sym/constant.Let.html | 2 +- leo_span/symbol/sym/constant.Mapping.html | 2 +- leo_span/symbol/sym/constant.Mod.html | 2 +- leo_span/symbol/sym/constant.Mut.html | 2 +- leo_span/symbol/sym/constant.Pedersen128.html | 2 +- leo_span/symbol/sym/constant.Pedersen64.html | 2 +- leo_span/symbol/sym/constant.Poseidon2.html | 2 +- leo_span/symbol/sym/constant.Poseidon4.html | 2 +- leo_span/symbol/sym/constant.Poseidon8.html | 2 +- leo_span/symbol/sym/constant.Return.html | 2 +- leo_span/symbol/sym/constant.SHA3_256.html | 2 +- leo_span/symbol/sym/constant.SHA3_384.html | 2 +- leo_span/symbol/sym/constant.SHA3_512.html | 2 +- leo_span/symbol/sym/constant.SelfLower.html | 2 +- leo_span/symbol/sym/constant.SelfUpper.html | 2 +- leo_span/symbol/sym/constant.Star.html | 2 +- leo_span/symbol/sym/constant.Struct.html | 2 +- leo_span/symbol/sym/constant.True.html | 2 +- leo_span/symbol/sym/constant.Type.html | 2 +- leo_span/symbol/sym/constant._nonce.html | 2 +- leo_span/symbol/sym/constant.abs.html | 2 +- leo_span/symbol/sym/constant.abs_wrapped.html | 2 +- leo_span/symbol/sym/constant.add.html | 2 +- leo_span/symbol/sym/constant.add_wrapped.html | 2 +- leo_span/symbol/sym/constant.address.html | 2 +- leo_span/symbol/sym/constant.aleo.html | 2 +- leo_span/symbol/sym/constant.and.html | 2 +- leo_span/symbol/sym/constant.assert.html | 2 +- leo_span/symbol/sym/constant.assert_eq.html | 2 +- leo_span/symbol/sym/constant.assert_neq.html | 2 +- leo_span/symbol/sym/constant.block.html | 2 +- leo_span/symbol/sym/constant.bool.html | 2 +- leo_span/symbol/sym/constant.caller.html | 2 +- .../sym/constant.commit_to_address.html | 2 +- .../symbol/sym/constant.commit_to_field.html | 2 +- .../symbol/sym/constant.commit_to_group.html | 2 +- leo_span/symbol/sym/constant.console.html | 2 +- leo_span/symbol/sym/constant.constant.html | 2 +- leo_span/symbol/sym/constant.contains.html | 2 +- leo_span/symbol/sym/constant.decrement.html | 2 +- leo_span/symbol/sym/constant.div.html | 2 +- leo_span/symbol/sym/constant.div_wrapped.html | 2 +- leo_span/symbol/sym/constant.double.html | 2 +- leo_span/symbol/sym/constant.eq.html | 2 +- leo_span/symbol/sym/constant.field.html | 2 +- leo_span/symbol/sym/constant.function.html | 2 +- leo_span/symbol/sym/constant.get.html | 2 +- leo_span/symbol/sym/constant.get_or_use.html | 2 +- leo_span/symbol/sym/constant.group.html | 2 +- leo_span/symbol/sym/constant.gt.html | 2 +- leo_span/symbol/sym/constant.gte.html | 2 +- .../symbol/sym/constant.hash_to_address.html | 2 +- .../symbol/sym/constant.hash_to_field.html | 2 +- .../symbol/sym/constant.hash_to_group.html | 2 +- .../symbol/sym/constant.hash_to_i128.html | 2 +- leo_span/symbol/sym/constant.hash_to_i16.html | 2 +- leo_span/symbol/sym/constant.hash_to_i32.html | 2 +- leo_span/symbol/sym/constant.hash_to_i64.html | 2 +- leo_span/symbol/sym/constant.hash_to_i8.html | 2 +- .../symbol/sym/constant.hash_to_scalar.html | 2 +- .../symbol/sym/constant.hash_to_u128.html | 2 +- leo_span/symbol/sym/constant.hash_to_u16.html | 2 +- leo_span/symbol/sym/constant.hash_to_u32.html | 2 +- leo_span/symbol/sym/constant.hash_to_u64.html | 2 +- leo_span/symbol/sym/constant.hash_to_u8.html | 2 +- leo_span/symbol/sym/constant.height.html | 2 +- leo_span/symbol/sym/constant.i128.html | 2 +- leo_span/symbol/sym/constant.i16.html | 2 +- leo_span/symbol/sym/constant.i32.html | 2 +- leo_span/symbol/sym/constant.i64.html | 2 +- leo_span/symbol/sym/constant.i8.html | 2 +- leo_span/symbol/sym/constant.id.html | 2 +- leo_span/symbol/sym/constant.import.html | 2 +- leo_span/symbol/sym/constant.increment.html | 2 +- leo_span/symbol/sym/constant.inline.html | 2 +- leo_span/symbol/sym/constant.input.html | 2 +- leo_span/symbol/sym/constant.inv.html | 2 +- leo_span/symbol/sym/constant.leo.html | 2 +- leo_span/symbol/sym/constant.lt.html | 2 +- leo_span/symbol/sym/constant.lte.html | 2 +- leo_span/symbol/sym/constant.main.html | 2 +- leo_span/symbol/sym/constant.mapping.html | 2 +- leo_span/symbol/sym/constant.mul.html | 2 +- leo_span/symbol/sym/constant.mul_wrapped.html | 2 +- leo_span/symbol/sym/constant.nand.html | 2 +- leo_span/symbol/sym/constant.neg.html | 2 +- leo_span/symbol/sym/constant.neq.html | 2 +- leo_span/symbol/sym/constant.network.html | 2 +- leo_span/symbol/sym/constant.nor.html | 2 +- leo_span/symbol/sym/constant.not.html | 2 +- leo_span/symbol/sym/constant.or.html | 2 +- leo_span/symbol/sym/constant.owner.html | 2 +- leo_span/symbol/sym/constant.pow.html | 2 +- leo_span/symbol/sym/constant.pow_wrapped.html | 2 +- .../symbol/sym/constant.print_mapping.html | 1 + leo_span/symbol/sym/constant.private.html | 2 +- leo_span/symbol/sym/constant.program.html | 2 +- leo_span/symbol/sym/constant.public.html | 2 +- .../symbol/sym/constant.rand_address.html | 2 +- leo_span/symbol/sym/constant.rand_bool.html | 2 +- leo_span/symbol/sym/constant.rand_field.html | 2 +- leo_span/symbol/sym/constant.rand_group.html | 2 +- leo_span/symbol/sym/constant.rand_i128.html | 2 +- leo_span/symbol/sym/constant.rand_i16.html | 2 +- leo_span/symbol/sym/constant.rand_i32.html | 2 +- leo_span/symbol/sym/constant.rand_i64.html | 2 +- leo_span/symbol/sym/constant.rand_i8.html | 2 +- leo_span/symbol/sym/constant.rand_scalar.html | 2 +- leo_span/symbol/sym/constant.rand_u128.html | 2 +- leo_span/symbol/sym/constant.rand_u16.html | 2 +- leo_span/symbol/sym/constant.rand_u32.html | 2 +- leo_span/symbol/sym/constant.rand_u64.html | 2 +- leo_span/symbol/sym/constant.rand_u8.html | 2 +- leo_span/symbol/sym/constant.record.html | 2 +- leo_span/symbol/sym/constant.rem.html | 2 +- leo_span/symbol/sym/constant.rem_wrapped.html | 2 +- leo_span/symbol/sym/constant.remove.html | 2 +- leo_span/symbol/sym/constant.scalar.html | 2 +- leo_span/symbol/sym/constant.set.html | 2 +- .../symbol/sym/constant.set_block_height.html | 1 + leo_span/symbol/sym/constant.shl.html | 2 +- leo_span/symbol/sym/constant.shl_wrapped.html | 2 +- leo_span/symbol/sym/constant.shr.html | 2 +- leo_span/symbol/sym/constant.shr_wrapped.html | 2 +- leo_span/symbol/sym/constant.signature.html | 2 +- leo_span/symbol/sym/constant.signer.html | 2 +- leo_span/symbol/sym/constant.square.html | 2 +- leo_span/symbol/sym/constant.square_root.html | 2 +- leo_span/symbol/sym/constant.string.html | 2 +- leo_span/symbol/sym/constant.stub.html | 2 +- leo_span/symbol/sym/constant.sub.html | 2 +- leo_span/symbol/sym/constant.sub_wrapped.html | 2 +- .../symbol/sym/constant.to_x_coordinate.html | 2 +- .../symbol/sym/constant.to_y_coordinate.html | 2 +- leo_span/symbol/sym/constant.transition.html | 2 +- leo_span/symbol/sym/constant.u128.html | 2 +- leo_span/symbol/sym/constant.u16.html | 2 +- leo_span/symbol/sym/constant.u32.html | 2 +- leo_span/symbol/sym/constant.u64.html | 2 +- leo_span/symbol/sym/constant.u8.html | 2 +- leo_span/symbol/sym/constant.verify.html | 2 +- leo_span/symbol/sym/constant.xor.html | 2 +- leo_span/symbol/sym/index.html | 2 +- leo_span/symbol/sym/sidebar-items.js | 2 +- leo_test_framework/error/enum.TestError.html | 2 +- leo_test_framework/error/fn.emit_errors.html | 2 +- .../error/fn.toml_to_string.html | 2 +- leo_test_framework/error/index.html | 2 +- search-index.js | 4 +- search.desc/leo_errors/leo_errors-desc-0-.js | 2 +- .../leo_interpreter-desc-0-.js | 1 + search.desc/leo_lang/leo_lang-desc-0-.js | 2 +- search.desc/leo_span/leo_span-desc-0-.js | 2 +- src-files.js | 4 +- src/leo_ast/functions/core_function.rs.html | 26 +- .../errors/interpreter_halt.rs.html | 101 + src/leo_errors/errors/mod.rs.html | 20 +- src/leo_interpreter/cursor.rs.html | 5513 +++++++++++++++++ src/leo_interpreter/cursor_aleo.rs.html | 2061 ++++++ src/leo_interpreter/dialoguer_input.rs.html | 125 + src/leo_interpreter/interpreter.rs.html | 907 +++ src/leo_interpreter/lib.rs.html | 535 ++ src/leo_interpreter/ratatui_ui.rs.html | 741 +++ src/leo_interpreter/ui.rs.html | 61 + src/leo_interpreter/util.rs.html | 151 + src/leo_interpreter/value.rs.html | 977 +++ src/leo_lang/cli/cli.rs.html | 14 +- src/leo_lang/cli/commands/debug.rs.html | 309 + src/leo_lang/cli/commands/mod.rs.html | 8 +- src/leo_package/lib.rs.html | 6 +- src/leo_package/package.rs.html | 12 +- src/leo_parser/parser/mod.rs.html | 68 +- .../code_generation/visit_expressions.rs.html | 10 +- .../eliminate_expression.rs.html | 12 +- src/leo_passes/type_checking/checker.rs.html | 22 +- src/leo_span/source_map.rs.html | 2 +- src/leo_span/symbol.rs.html | 12 +- src/leo_test_framework/error.rs.html | 6 +- trait.impl/clap_builder/derive/trait.Args.js | 4 +- .../derive/trait.CommandFactory.js | 4 +- .../derive/trait.FromArgMatches.js | 4 +- .../clap_builder/derive/trait.Parser.js | 4 +- trait.impl/core/clone/trait.Clone.js | 4 +- trait.impl/core/cmp/trait.Eq.js | 4 +- trait.impl/core/cmp/trait.PartialEq.js | 4 +- trait.impl/core/convert/trait.From.js | 4 +- trait.impl/core/default/trait.Default.js | 4 +- trait.impl/core/error/trait.Error.js | 4 +- trait.impl/core/fmt/trait.Debug.js | 4 +- trait.impl/core/fmt/trait.Display.js | 4 +- trait.impl/core/hash/trait.Hash.js | 4 +- trait.impl/core/marker/trait.Copy.js | 4 +- trait.impl/core/marker/trait.Freeze.js | 4 +- trait.impl/core/marker/trait.Send.js | 4 +- .../core/marker/trait.StructuralPartialEq.js | 4 +- trait.impl/core/marker/trait.Sync.js | 4 +- trait.impl/core/marker/trait.Unpin.js | 4 +- trait.impl/core/ops/drop/trait.Drop.js | 9 + .../panic/unwind_safe/trait.RefUnwindSafe.js | 4 +- .../panic/unwind_safe/trait.UnwindSafe.js | 4 +- trait.impl/leo_interpreter/ui/trait.Ui.js | 9 + .../leo_interpreter/util/trait.ExpectTc.js | 9 + trait.impl/ratatui/widgets/trait.Widget.js | 9 + .../snarkvm_utilities/bits/trait.ToBits.js | 9 + .../data/identifier/struct.Identifier.js | 9 + .../struct.Address.js | 9 + .../struct.Boolean.js | 9 + .../struct.Field.js | 9 + .../struct.Group.js | 9 + .../struct.Integer.js | 9 + .../struct.Scalar.js | 9 + .../type.Closure.js | 9 + .../type.Finalize.js | 9 + .../type.Function.js | 9 + 443 files changed, 13627 insertions(+), 514 deletions(-) create mode 100644 leo_errors/errors/interpreter_halt/index.html create mode 100644 leo_errors/errors/interpreter_halt/sidebar-items.js create mode 100644 leo_errors/errors/interpreter_halt/struct.InterpreterHalt.html create mode 100644 leo_interpreter/all.html create mode 100644 leo_interpreter/constant.HELP.html create mode 100644 leo_interpreter/constant.INTRO.html create mode 100644 leo_interpreter/cursor/enum.AleoContext.html create mode 100644 leo_interpreter/cursor/enum.Element.html create mode 100644 leo_interpreter/cursor/enum.FunctionVariant.html create mode 100644 leo_interpreter/cursor/fn.evaluate_binary.html create mode 100644 leo_interpreter/cursor/fn.evaluate_unary.html create mode 100644 leo_interpreter/cursor/index.html create mode 100644 leo_interpreter/cursor/sidebar-items.js create mode 100644 leo_interpreter/cursor/struct.ContextStack.html create mode 100644 leo_interpreter/cursor/struct.Cursor.html create mode 100644 leo_interpreter/cursor/struct.Frame.html create mode 100644 leo_interpreter/cursor/struct.FunctionContext.html create mode 100644 leo_interpreter/cursor/struct.GlobalId.html create mode 100644 leo_interpreter/cursor/struct.StepResult.html create mode 100644 leo_interpreter/cursor/type.Closure.html create mode 100644 leo_interpreter/cursor/type.Finalize.html create mode 100644 leo_interpreter/cursor/type.SvmFunction.html create mode 100644 leo_interpreter/cursor_aleo/fn.snarkvm_literal_to_value.html create mode 100644 leo_interpreter/cursor_aleo/fn.snarkvm_literal_type_to_type.html create mode 100644 leo_interpreter/cursor_aleo/fn.value_to_snarkvm_literal.html create mode 100644 leo_interpreter/cursor_aleo/index.html create mode 100644 leo_interpreter/cursor_aleo/sidebar-items.js create mode 100644 leo_interpreter/dialoguer_input/index.html create mode 100644 leo_interpreter/dialoguer_input/sidebar-items.js create mode 100644 leo_interpreter/dialoguer_input/struct.DialoguerUi.html create mode 100644 leo_interpreter/fn.interpret.html create mode 100644 leo_interpreter/fn.parse_breakpoint.html create mode 100644 leo_interpreter/fn.tokenize_user_input.html create mode 100644 leo_interpreter/index.html create mode 100644 leo_interpreter/interpreter/enum.InterpreterAction.html create mode 100644 leo_interpreter/interpreter/index.html create mode 100644 leo_interpreter/interpreter/sidebar-items.js create mode 100644 leo_interpreter/interpreter/struct.Breakpoint.html create mode 100644 leo_interpreter/interpreter/struct.Interpreter.html create mode 100644 leo_interpreter/interpreter/struct.Watchpoint.html create mode 100644 leo_interpreter/macro.halt!.html create mode 100644 leo_interpreter/macro.halt.html create mode 100644 leo_interpreter/macro.halt_no_span!.html create mode 100644 leo_interpreter/macro.halt_no_span.html create mode 100644 leo_interpreter/macro.tc_fail!.html create mode 100644 leo_interpreter/macro.tc_fail.html create mode 100644 leo_interpreter/ratatui_ui/fn.append_lines.html create mode 100644 leo_interpreter/ratatui_ui/fn.code_text.html create mode 100644 leo_interpreter/ratatui_ui/fn.render_titled.html create mode 100644 leo_interpreter/ratatui_ui/index.html create mode 100644 leo_interpreter/ratatui_ui/sidebar-items.js create mode 100644 leo_interpreter/ratatui_ui/struct.DebuggerLayout.html create mode 100644 leo_interpreter/ratatui_ui/struct.DrawData.html create mode 100644 leo_interpreter/ratatui_ui/struct.Prompt.html create mode 100644 leo_interpreter/ratatui_ui/struct.RatatuiUi.html create mode 100644 leo_interpreter/sidebar-items.js create mode 100644 leo_interpreter/ui/index.html create mode 100644 leo_interpreter/ui/sidebar-items.js create mode 100644 leo_interpreter/ui/struct.UserData.html create mode 100644 leo_interpreter/ui/trait.Ui.html create mode 100644 leo_interpreter/util/fn.snarkvm_identifier_to_symbol.html create mode 100644 leo_interpreter/util/index.html create mode 100644 leo_interpreter/util/sidebar-items.js create mode 100644 leo_interpreter/util/trait.ExpectTc.html create mode 100644 leo_interpreter/value/enum.Value.html create mode 100644 leo_interpreter/value/fn.really_cast.html create mode 100644 leo_interpreter/value/index.html create mode 100644 leo_interpreter/value/sidebar-items.js create mode 100644 leo_interpreter/value/struct.AsyncExecution.html create mode 100644 leo_interpreter/value/struct.Future.html create mode 100644 leo_interpreter/value/struct.StructContents.html create mode 100644 leo_interpreter/value/type.SvmAddress.html create mode 100644 leo_interpreter/value/type.SvmBoolean.html create mode 100644 leo_interpreter/value/type.SvmField.html create mode 100644 leo_interpreter/value/type.SvmGroup.html create mode 100644 leo_interpreter/value/type.SvmIdentifier.html create mode 100644 leo_interpreter/value/type.SvmInteger.html create mode 100644 leo_interpreter/value/type.SvmScalar.html create mode 100644 leo_lang/cli/commands/debug/fn.handle_debug.html create mode 100644 leo_lang/cli/commands/debug/index.html create mode 100644 leo_lang/cli/commands/debug/sidebar-items.js create mode 100644 leo_lang/cli/commands/debug/struct.LeoDebug.html create mode 100644 leo_lang/cli/debug/index.html create mode 100644 leo_lang/cli/debug/sidebar-items.js create mode 100644 leo_lang/cli/debug/struct.LeoDebug.html create mode 100644 leo_lang/cli/struct.LeoDebug.html create mode 100644 leo_package/static.TEST_PRIVATE_KEY.html create mode 100644 leo_parser/parser/fn.parse_expression.html create mode 100644 leo_parser/parser/fn.parse_statement.html create mode 100644 leo_span/symbol/sym/constant.CheatCode.html create mode 100644 leo_span/symbol/sym/constant.print_mapping.html create mode 100644 leo_span/symbol/sym/constant.set_block_height.html create mode 100644 search.desc/leo_interpreter/leo_interpreter-desc-0-.js create mode 100644 src/leo_errors/errors/interpreter_halt.rs.html create mode 100644 src/leo_interpreter/cursor.rs.html create mode 100644 src/leo_interpreter/cursor_aleo.rs.html create mode 100644 src/leo_interpreter/dialoguer_input.rs.html create mode 100644 src/leo_interpreter/interpreter.rs.html create mode 100644 src/leo_interpreter/lib.rs.html create mode 100644 src/leo_interpreter/ratatui_ui.rs.html create mode 100644 src/leo_interpreter/ui.rs.html create mode 100644 src/leo_interpreter/util.rs.html create mode 100644 src/leo_interpreter/value.rs.html create mode 100644 src/leo_lang/cli/commands/debug.rs.html create mode 100644 trait.impl/core/ops/drop/trait.Drop.js create mode 100644 trait.impl/leo_interpreter/ui/trait.Ui.js create mode 100644 trait.impl/leo_interpreter/util/trait.ExpectTc.js create mode 100644 trait.impl/ratatui/widgets/trait.Widget.js create mode 100644 trait.impl/snarkvm_utilities/bits/trait.ToBits.js create mode 100644 type.impl/snarkvm_console_program/data/identifier/struct.Identifier.js create mode 100644 type.impl/snarkvm_console_types_address/struct.Address.js create mode 100644 type.impl/snarkvm_console_types_boolean/struct.Boolean.js create mode 100644 type.impl/snarkvm_console_types_field/struct.Field.js create mode 100644 type.impl/snarkvm_console_types_group/struct.Group.js create mode 100644 type.impl/snarkvm_console_types_integers/struct.Integer.js create mode 100644 type.impl/snarkvm_console_types_scalar/struct.Scalar.js create mode 100644 type.impl/snarkvm_synthesizer_program/type.Closure.js create mode 100644 type.impl/snarkvm_synthesizer_program/type.Finalize.js create mode 100644 type.impl/snarkvm_synthesizer_program/type.Function.js diff --git a/crates.js b/crates.js index d8addd6122..5c016348fd 100644 --- a/crates.js +++ b/crates.js @@ -1,2 +1,2 @@ -window.ALL_CRATES = ["errcov","leo","leo_abnf","leo_ast","leo_compiler","leo_disassembler","leo_errors","leo_lang","leo_package","leo_parser","leo_passes","leo_retriever","leo_span","leo_test_framework"]; -//{"start":21,"fragment_lengths":[8,6,11,10,15,19,13,11,14,13,13,16,11,21]} \ No newline at end of file +window.ALL_CRATES = ["errcov","leo","leo_abnf","leo_ast","leo_compiler","leo_disassembler","leo_errors","leo_interpreter","leo_lang","leo_package","leo_parser","leo_passes","leo_retriever","leo_span","leo_test_framework"]; +//{"start":21,"fragment_lengths":[8,6,11,10,15,19,13,18,11,14,13,13,16,11,21]} \ No newline at end of file diff --git a/index.html b/index.html index c04b96e64b..3cf8a14664 100644 --- a/index.html +++ b/index.html @@ -1,2 +1,2 @@ -Index of crates
- \ No newline at end of file +Index of crates
+ \ No newline at end of file diff --git a/leo_ast/functions/core_function/enum.CoreFunction.html b/leo_ast/functions/core_function/enum.CoreFunction.html index 9e60454091..a4da4c5d4f 100644 --- a/leo_ast/functions/core_function/enum.CoreFunction.html +++ b/leo_ast/functions/core_function/enum.CoreFunction.html @@ -1,5 +1,5 @@ -CoreFunction in leo_ast::functions::core_function - Rust
leo_ast::functions::core_function

Enum CoreFunction

source
pub enum CoreFunction {
-
Show 252 variants BHP256CommitToAddress, +CoreFunction in leo_ast::functions::core_function - Rust
leo_ast::functions::core_function

Enum CoreFunction

source
pub enum CoreFunction {
+
Show 254 variants BHP256CommitToAddress, BHP256CommitToField, BHP256CommitToGroup, BHP256HashToAddress, @@ -251,10 +251,12 @@ GroupToYCoordinate, SignatureVerify, FutureAwait, + CheatCodePrintMapping, + CheatCodeSetBlockHeight,
}
Expand description

A core instruction that maps directly to an AVM bytecode instruction.

-

Variants§

§

BHP256CommitToAddress

§

BHP256CommitToField

§

BHP256CommitToGroup

§

BHP256HashToAddress

§

BHP256HashToField

§

BHP256HashToGroup

§

BHP256HashToI8

§

BHP256HashToI16

§

BHP256HashToI32

§

BHP256HashToI64

§

BHP256HashToI128

§

BHP256HashToU8

§

BHP256HashToU16

§

BHP256HashToU32

§

BHP256HashToU64

§

BHP256HashToU128

§

BHP256HashToScalar

§

BHP512CommitToAddress

§

BHP512CommitToField

§

BHP512CommitToGroup

§

BHP512HashToAddress

§

BHP512HashToField

§

BHP512HashToGroup

§

BHP512HashToI8

§

BHP512HashToI16

§

BHP512HashToI32

§

BHP512HashToI64

§

BHP512HashToI128

§

BHP512HashToU8

§

BHP512HashToU16

§

BHP512HashToU32

§

BHP512HashToU64

§

BHP512HashToU128

§

BHP512HashToScalar

§

BHP768CommitToAddress

§

BHP768CommitToField

§

BHP768CommitToGroup

§

BHP768HashToAddress

§

BHP768HashToField

§

BHP768HashToGroup

§

BHP768HashToI8

§

BHP768HashToI16

§

BHP768HashToI32

§

BHP768HashToI64

§

BHP768HashToI128

§

BHP768HashToU8

§

BHP768HashToU16

§

BHP768HashToU32

§

BHP768HashToU64

§

BHP768HashToU128

§

BHP768HashToScalar

§

BHP1024CommitToAddress

§

BHP1024CommitToField

§

BHP1024CommitToGroup

§

BHP1024HashToAddress

§

BHP1024HashToField

§

BHP1024HashToGroup

§

BHP1024HashToI8

§

BHP1024HashToI16

§

BHP1024HashToI32

§

BHP1024HashToI64

§

BHP1024HashToI128

§

BHP1024HashToU8

§

BHP1024HashToU16

§

BHP1024HashToU32

§

BHP1024HashToU64

§

BHP1024HashToU128

§

BHP1024HashToScalar

§

ChaChaRandAddress

§

ChaChaRandBool

§

ChaChaRandField

§

ChaChaRandGroup

§

ChaChaRandI8

§

ChaChaRandI16

§

ChaChaRandI32

§

ChaChaRandI64

§

ChaChaRandI128

§

ChaChaRandU8

§

ChaChaRandU16

§

ChaChaRandU32

§

ChaChaRandU64

§

ChaChaRandU128

§

ChaChaRandScalar

§

Keccak256HashToAddress

§

Keccak256HashToField

§

Keccak256HashToGroup

§

Keccak256HashToI8

§

Keccak256HashToI16

§

Keccak256HashToI32

§

Keccak256HashToI64

§

Keccak256HashToI128

§

Keccak256HashToU8

§

Keccak256HashToU16

§

Keccak256HashToU32

§

Keccak256HashToU64

§

Keccak256HashToU128

§

Keccak256HashToScalar

§

Keccak384HashToAddress

§

Keccak384HashToField

§

Keccak384HashToGroup

§

Keccak384HashToI8

§

Keccak384HashToI16

§

Keccak384HashToI32

§

Keccak384HashToI64

§

Keccak384HashToI128

§

Keccak384HashToU8

§

Keccak384HashToU16

§

Keccak384HashToU32

§

Keccak384HashToU64

§

Keccak384HashToU128

§

Keccak384HashToScalar

§

Keccak512HashToAddress

§

Keccak512HashToField

§

Keccak512HashToGroup

§

Keccak512HashToI8

§

Keccak512HashToI16

§

Keccak512HashToI32

§

Keccak512HashToI64

§

Keccak512HashToI128

§

Keccak512HashToU8

§

Keccak512HashToU16

§

Keccak512HashToU32

§

Keccak512HashToU64

§

Keccak512HashToU128

§

Keccak512HashToScalar

§

Pedersen64CommitToAddress

§

Pedersen64CommitToField

§

Pedersen64CommitToGroup

§

Pedersen64HashToAddress

§

Pedersen64HashToField

§

Pedersen64HashToGroup

§

Pedersen64HashToI8

§

Pedersen64HashToI16

§

Pedersen64HashToI32

§

Pedersen64HashToI64

§

Pedersen64HashToI128

§

Pedersen64HashToU8

§

Pedersen64HashToU16

§

Pedersen64HashToU32

§

Pedersen64HashToU64

§

Pedersen64HashToU128

§

Pedersen64HashToScalar

§

Pedersen128CommitToAddress

§

Pedersen128CommitToField

§

Pedersen128CommitToGroup

§

Pedersen128HashToAddress

§

Pedersen128HashToField

§

Pedersen128HashToGroup

§

Pedersen128HashToI8

§

Pedersen128HashToI16

§

Pedersen128HashToI32

§

Pedersen128HashToI64

§

Pedersen128HashToI128

§

Pedersen128HashToU8

§

Pedersen128HashToU16

§

Pedersen128HashToU32

§

Pedersen128HashToU64

§

Pedersen128HashToU128

§

Pedersen128HashToScalar

§

Poseidon2HashToAddress

§

Poseidon2HashToField

§

Poseidon2HashToGroup

§

Poseidon2HashToI8

§

Poseidon2HashToI16

§

Poseidon2HashToI32

§

Poseidon2HashToI64

§

Poseidon2HashToI128

§

Poseidon2HashToU8

§

Poseidon2HashToU16

§

Poseidon2HashToU32

§

Poseidon2HashToU64

§

Poseidon2HashToU128

§

Poseidon2HashToScalar

§

Poseidon4HashToAddress

§

Poseidon4HashToField

§

Poseidon4HashToGroup

§

Poseidon4HashToI8

§

Poseidon4HashToI16

§

Poseidon4HashToI32

§

Poseidon4HashToI64

§

Poseidon4HashToI128

§

Poseidon4HashToU8

§

Poseidon4HashToU16

§

Poseidon4HashToU32

§

Poseidon4HashToU64

§

Poseidon4HashToU128

§

Poseidon4HashToScalar

§

Poseidon8HashToAddress

§

Poseidon8HashToField

§

Poseidon8HashToGroup

§

Poseidon8HashToI8

§

Poseidon8HashToI16

§

Poseidon8HashToI32

§

Poseidon8HashToI64

§

Poseidon8HashToI128

§

Poseidon8HashToU8

§

Poseidon8HashToU16

§

Poseidon8HashToU32

§

Poseidon8HashToU64

§

Poseidon8HashToU128

§

Poseidon8HashToScalar

§

SHA3_256HashToAddress

§

SHA3_256HashToField

§

SHA3_256HashToGroup

§

SHA3_256HashToI8

§

SHA3_256HashToI16

§

SHA3_256HashToI32

§

SHA3_256HashToI64

§

SHA3_256HashToI128

§

SHA3_256HashToU8

§

SHA3_256HashToU16

§

SHA3_256HashToU32

§

SHA3_256HashToU64

§

SHA3_256HashToU128

§

SHA3_256HashToScalar

§

SHA3_384HashToAddress

§

SHA3_384HashToField

§

SHA3_384HashToGroup

§

SHA3_384HashToI8

§

SHA3_384HashToI16

§

SHA3_384HashToI32

§

SHA3_384HashToI64

§

SHA3_384HashToI128

§

SHA3_384HashToU8

§

SHA3_384HashToU16

§

SHA3_384HashToU32

§

SHA3_384HashToU64

§

SHA3_384HashToU128

§

SHA3_384HashToScalar

§

SHA3_512HashToAddress

§

SHA3_512HashToField

§

SHA3_512HashToGroup

§

SHA3_512HashToI8

§

SHA3_512HashToI16

§

SHA3_512HashToI32

§

SHA3_512HashToI64

§

SHA3_512HashToI128

§

SHA3_512HashToU8

§

SHA3_512HashToU16

§

SHA3_512HashToU32

§

SHA3_512HashToU64

§

SHA3_512HashToU128

§

SHA3_512HashToScalar

§

MappingGet

§

MappingGetOrUse

§

MappingSet

§

MappingRemove

§

MappingContains

§

GroupToXCoordinate

§

GroupToYCoordinate

§

SignatureVerify

§

FutureAwait

Implementations§

source§

impl CoreFunction

source

pub fn from_symbols(module: Symbol, function: Symbol) -> Option<Self>

Returns a CoreFunction from the given module and method symbols.

-
source

pub fn num_args(&self) -> usize

Returns the number of arguments required by the instruction.

-
source

pub fn is_finalize_command(&self) -> bool

Returns whether or not this function is finalize command.

+

Variants§

§

BHP256CommitToAddress

§

BHP256CommitToField

§

BHP256CommitToGroup

§

BHP256HashToAddress

§

BHP256HashToField

§

BHP256HashToGroup

§

BHP256HashToI8

§

BHP256HashToI16

§

BHP256HashToI32

§

BHP256HashToI64

§

BHP256HashToI128

§

BHP256HashToU8

§

BHP256HashToU16

§

BHP256HashToU32

§

BHP256HashToU64

§

BHP256HashToU128

§

BHP256HashToScalar

§

BHP512CommitToAddress

§

BHP512CommitToField

§

BHP512CommitToGroup

§

BHP512HashToAddress

§

BHP512HashToField

§

BHP512HashToGroup

§

BHP512HashToI8

§

BHP512HashToI16

§

BHP512HashToI32

§

BHP512HashToI64

§

BHP512HashToI128

§

BHP512HashToU8

§

BHP512HashToU16

§

BHP512HashToU32

§

BHP512HashToU64

§

BHP512HashToU128

§

BHP512HashToScalar

§

BHP768CommitToAddress

§

BHP768CommitToField

§

BHP768CommitToGroup

§

BHP768HashToAddress

§

BHP768HashToField

§

BHP768HashToGroup

§

BHP768HashToI8

§

BHP768HashToI16

§

BHP768HashToI32

§

BHP768HashToI64

§

BHP768HashToI128

§

BHP768HashToU8

§

BHP768HashToU16

§

BHP768HashToU32

§

BHP768HashToU64

§

BHP768HashToU128

§

BHP768HashToScalar

§

BHP1024CommitToAddress

§

BHP1024CommitToField

§

BHP1024CommitToGroup

§

BHP1024HashToAddress

§

BHP1024HashToField

§

BHP1024HashToGroup

§

BHP1024HashToI8

§

BHP1024HashToI16

§

BHP1024HashToI32

§

BHP1024HashToI64

§

BHP1024HashToI128

§

BHP1024HashToU8

§

BHP1024HashToU16

§

BHP1024HashToU32

§

BHP1024HashToU64

§

BHP1024HashToU128

§

BHP1024HashToScalar

§

ChaChaRandAddress

§

ChaChaRandBool

§

ChaChaRandField

§

ChaChaRandGroup

§

ChaChaRandI8

§

ChaChaRandI16

§

ChaChaRandI32

§

ChaChaRandI64

§

ChaChaRandI128

§

ChaChaRandU8

§

ChaChaRandU16

§

ChaChaRandU32

§

ChaChaRandU64

§

ChaChaRandU128

§

ChaChaRandScalar

§

Keccak256HashToAddress

§

Keccak256HashToField

§

Keccak256HashToGroup

§

Keccak256HashToI8

§

Keccak256HashToI16

§

Keccak256HashToI32

§

Keccak256HashToI64

§

Keccak256HashToI128

§

Keccak256HashToU8

§

Keccak256HashToU16

§

Keccak256HashToU32

§

Keccak256HashToU64

§

Keccak256HashToU128

§

Keccak256HashToScalar

§

Keccak384HashToAddress

§

Keccak384HashToField

§

Keccak384HashToGroup

§

Keccak384HashToI8

§

Keccak384HashToI16

§

Keccak384HashToI32

§

Keccak384HashToI64

§

Keccak384HashToI128

§

Keccak384HashToU8

§

Keccak384HashToU16

§

Keccak384HashToU32

§

Keccak384HashToU64

§

Keccak384HashToU128

§

Keccak384HashToScalar

§

Keccak512HashToAddress

§

Keccak512HashToField

§

Keccak512HashToGroup

§

Keccak512HashToI8

§

Keccak512HashToI16

§

Keccak512HashToI32

§

Keccak512HashToI64

§

Keccak512HashToI128

§

Keccak512HashToU8

§

Keccak512HashToU16

§

Keccak512HashToU32

§

Keccak512HashToU64

§

Keccak512HashToU128

§

Keccak512HashToScalar

§

Pedersen64CommitToAddress

§

Pedersen64CommitToField

§

Pedersen64CommitToGroup

§

Pedersen64HashToAddress

§

Pedersen64HashToField

§

Pedersen64HashToGroup

§

Pedersen64HashToI8

§

Pedersen64HashToI16

§

Pedersen64HashToI32

§

Pedersen64HashToI64

§

Pedersen64HashToI128

§

Pedersen64HashToU8

§

Pedersen64HashToU16

§

Pedersen64HashToU32

§

Pedersen64HashToU64

§

Pedersen64HashToU128

§

Pedersen64HashToScalar

§

Pedersen128CommitToAddress

§

Pedersen128CommitToField

§

Pedersen128CommitToGroup

§

Pedersen128HashToAddress

§

Pedersen128HashToField

§

Pedersen128HashToGroup

§

Pedersen128HashToI8

§

Pedersen128HashToI16

§

Pedersen128HashToI32

§

Pedersen128HashToI64

§

Pedersen128HashToI128

§

Pedersen128HashToU8

§

Pedersen128HashToU16

§

Pedersen128HashToU32

§

Pedersen128HashToU64

§

Pedersen128HashToU128

§

Pedersen128HashToScalar

§

Poseidon2HashToAddress

§

Poseidon2HashToField

§

Poseidon2HashToGroup

§

Poseidon2HashToI8

§

Poseidon2HashToI16

§

Poseidon2HashToI32

§

Poseidon2HashToI64

§

Poseidon2HashToI128

§

Poseidon2HashToU8

§

Poseidon2HashToU16

§

Poseidon2HashToU32

§

Poseidon2HashToU64

§

Poseidon2HashToU128

§

Poseidon2HashToScalar

§

Poseidon4HashToAddress

§

Poseidon4HashToField

§

Poseidon4HashToGroup

§

Poseidon4HashToI8

§

Poseidon4HashToI16

§

Poseidon4HashToI32

§

Poseidon4HashToI64

§

Poseidon4HashToI128

§

Poseidon4HashToU8

§

Poseidon4HashToU16

§

Poseidon4HashToU32

§

Poseidon4HashToU64

§

Poseidon4HashToU128

§

Poseidon4HashToScalar

§

Poseidon8HashToAddress

§

Poseidon8HashToField

§

Poseidon8HashToGroup

§

Poseidon8HashToI8

§

Poseidon8HashToI16

§

Poseidon8HashToI32

§

Poseidon8HashToI64

§

Poseidon8HashToI128

§

Poseidon8HashToU8

§

Poseidon8HashToU16

§

Poseidon8HashToU32

§

Poseidon8HashToU64

§

Poseidon8HashToU128

§

Poseidon8HashToScalar

§

SHA3_256HashToAddress

§

SHA3_256HashToField

§

SHA3_256HashToGroup

§

SHA3_256HashToI8

§

SHA3_256HashToI16

§

SHA3_256HashToI32

§

SHA3_256HashToI64

§

SHA3_256HashToI128

§

SHA3_256HashToU8

§

SHA3_256HashToU16

§

SHA3_256HashToU32

§

SHA3_256HashToU64

§

SHA3_256HashToU128

§

SHA3_256HashToScalar

§

SHA3_384HashToAddress

§

SHA3_384HashToField

§

SHA3_384HashToGroup

§

SHA3_384HashToI8

§

SHA3_384HashToI16

§

SHA3_384HashToI32

§

SHA3_384HashToI64

§

SHA3_384HashToI128

§

SHA3_384HashToU8

§

SHA3_384HashToU16

§

SHA3_384HashToU32

§

SHA3_384HashToU64

§

SHA3_384HashToU128

§

SHA3_384HashToScalar

§

SHA3_512HashToAddress

§

SHA3_512HashToField

§

SHA3_512HashToGroup

§

SHA3_512HashToI8

§

SHA3_512HashToI16

§

SHA3_512HashToI32

§

SHA3_512HashToI64

§

SHA3_512HashToI128

§

SHA3_512HashToU8

§

SHA3_512HashToU16

§

SHA3_512HashToU32

§

SHA3_512HashToU64

§

SHA3_512HashToU128

§

SHA3_512HashToScalar

§

MappingGet

§

MappingGetOrUse

§

MappingSet

§

MappingRemove

§

MappingContains

§

GroupToXCoordinate

§

GroupToYCoordinate

§

SignatureVerify

§

FutureAwait

§

CheatCodePrintMapping

§

CheatCodeSetBlockHeight

Implementations§

source§

impl CoreFunction

source

pub fn from_symbols(module: Symbol, function: Symbol) -> Option<Self>

Returns a CoreFunction from the given module and method symbols.

+
source

pub fn num_args(&self) -> usize

Returns the number of arguments required by the instruction.

+
source

pub fn is_finalize_command(&self) -> bool

Returns whether or not this function is finalize command.

Trait Implementations§

source§

impl Clone for CoreFunction

source§

fn clone(&self) -> CoreFunction

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

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

Performs copy-assignment from source. Read more
source§

impl PartialEq for CoreFunction

source§

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

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

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

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

impl Eq for CoreFunction

source§

impl StructuralPartialEq for CoreFunction

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where diff --git a/leo_ast/functions/core_function/index.html b/leo_ast/functions/core_function/index.html index 96d5c30286..a63a576174 100644 --- a/leo_ast/functions/core_function/index.html +++ b/leo_ast/functions/core_function/index.html @@ -1 +1 @@ -leo_ast::functions::core_function - Rust
leo_ast::functions

Module core_function

source

Enums§

  • A core instruction that maps directly to an AVM bytecode instruction.
\ No newline at end of file +leo_ast::functions::core_function - Rust
leo_ast::functions

Module core_function

source

Enums§

  • A core instruction that maps directly to an AVM bytecode instruction.
\ No newline at end of file diff --git a/leo_errors/all.html b/leo_errors/all.html index 62cbe1baa7..6f52b1d8f4 100644 --- a/leo_errors/all.html +++ b/leo_errors/all.html @@ -1 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/leo_errors/errors/ast/ast_errors/enum.AstError.html b/leo_errors/errors/ast/ast_errors/enum.AstError.html index e70df3c2bb..8423f731ed 100644 --- a/leo_errors/errors/ast/ast_errors/enum.AstError.html +++ b/leo_errors/errors/ast/ast_errors/enum.AstError.html @@ -33,7 +33,7 @@

source

pub fn failed_to_convert_symbol_table_to_json_value( error: impl ErrorArg, ) -> Self

For when the symbol table fails to be represented as a JSON value.

-
source

pub fn redefining_external_struct(struct_: impl Display, span: Span) -> Self

source

pub fn function_not_found(func: impl Display) -> Self

source

pub fn num_exit_codes() -> i32

Trait Implementations§

source§

impl Clone for AstError

source§

fn clone(&self) -> AstError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for AstError

source§

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

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

impl Display for AstError

source§

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

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

impl Error for AstError

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<AstError> for LeoError

source§

fn from(source: AstError) -> Self

Converts to this type from the input type.
source§

impl From<Backtraced> for AstError

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for AstError

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for AstError

Implements the trait for LeoError Codes.

+
source

pub fn redefining_external_struct(struct_: impl Display, span: Span) -> Self

source

pub fn function_not_found(func: impl Display) -> Self

source

pub fn num_exit_codes() -> i32

Trait Implementations§

source§

impl Clone for AstError

source§

fn clone(&self) -> AstError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for AstError

source§

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

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

impl Display for AstError

source§

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

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

impl Error for AstError

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<AstError> for LeoError

source§

fn from(source: AstError) -> Self

Converts to this type from the input type.
source§

impl From<Backtraced> for AstError

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for AstError

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for AstError

Implements the trait for LeoError Codes.

source§

fn exit_code(&self) -> i32

Returns the error’s exit code for the program.
source§

fn error_code(&self) -> String

Returns the prefixed error identifier.
source§

fn warning_code(&self) -> String

Returns the prefixed warning identifier.
source§

fn code_mask() -> i32

Returns the messages’s exit code mask, as to avoid conflicts.
source§

fn message_type() -> String

Returns the message’s code type for the program.
source§

fn is_error() -> bool

Returns if the message is an error or warning.
source§

fn code_identifier() -> i8

The LeoErrorCode which has a default code identifier of 037 (Leo upsidedown and backwards). This is to make the exit codes unique to Leo itself.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/leo_errors/errors/cli/cli_errors/enum.CliError.html b/leo_errors/errors/cli/cli_errors/enum.CliError.html index eafb6d5f63..c7ade4067d 100644 --- a/leo_errors/errors/cli/cli_errors/enum.CliError.html +++ b/leo_errors/errors/cli/cli_errors/enum.CliError.html @@ -18,7 +18,7 @@ program: impl Display, limit: u64, network: impl Display, -) -> Self

source

pub fn confirmation_failed() -> Self

source

pub fn invalid_balance(account: impl Display) -> Self

source

pub fn table_render_failed(error: impl Display) -> Self

source

pub fn num_exit_codes() -> i32

Trait Implementations§

source§

impl Clone for CliError

source§

fn clone(&self) -> CliError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for CliError

source§

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

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

impl Display for CliError

source§

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

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

impl Error for CliError

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Backtraced> for CliError

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<CliError> for LeoError

source§

fn from(source: CliError) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for CliError

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for CliError

Implements the trait for LeoError Codes.

+) -> Self
source

pub fn confirmation_failed() -> Self

source

pub fn invalid_balance(account: impl Display) -> Self

source

pub fn table_render_failed(error: impl Display) -> Self

source

pub fn num_exit_codes() -> i32

Trait Implementations§

source§

impl Clone for CliError

source§

fn clone(&self) -> CliError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for CliError

source§

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

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

impl Display for CliError

source§

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

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

impl Error for CliError

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Backtraced> for CliError

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<CliError> for LeoError

source§

fn from(source: CliError) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for CliError

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for CliError

Implements the trait for LeoError Codes.

source§

fn exit_code(&self) -> i32

Returns the error’s exit code for the program.
source§

fn error_code(&self) -> String

Returns the prefixed error identifier.
source§

fn warning_code(&self) -> String

Returns the prefixed warning identifier.
source§

fn code_mask() -> i32

Returns the messages’s exit code mask, as to avoid conflicts.
source§

fn message_type() -> String

Returns the message’s code type for the program.
source§

fn is_error() -> bool

Returns if the message is an error or warning.
source§

fn code_identifier() -> i8

The LeoErrorCode which has a default code identifier of 037 (Leo upsidedown and backwards). This is to make the exit codes unique to Leo itself.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/leo_errors/errors/compiler/compiler_errors/enum.CompilerError.html b/leo_errors/errors/compiler/compiler_errors/enum.CompilerError.html index ebc96933ea..2073642564 100644 --- a/leo_errors/errors/compiler/compiler_errors/enum.CompilerError.html +++ b/leo_errors/errors/compiler/compiler_errors/enum.CompilerError.html @@ -19,7 +19,7 @@ main_program_name: impl Display, dependency_name: impl Display, span: Span, -) -> Self

source

pub fn num_exit_codes() -> i32

Trait Implementations§

source§

impl Clone for CompilerError

source§

fn clone(&self) -> CompilerError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for CompilerError

source§

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

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

impl Display for CompilerError

source§

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

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

impl Error for CompilerError

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Backtraced> for CompilerError

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<CompilerError> for LeoError

source§

fn from(source: CompilerError) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for CompilerError

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for CompilerError

Implements the trait for LeoError Codes.

+) -> Self
source

pub fn num_exit_codes() -> i32

Trait Implementations§

source§

impl Clone for CompilerError

source§

fn clone(&self) -> CompilerError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for CompilerError

source§

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

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

impl Display for CompilerError

source§

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

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

impl Error for CompilerError

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Backtraced> for CompilerError

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<CompilerError> for LeoError

source§

fn from(source: CompilerError) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for CompilerError

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for CompilerError

Implements the trait for LeoError Codes.

source§

fn exit_code(&self) -> i32

Returns the error’s exit code for the program.
source§

fn error_code(&self) -> String

Returns the prefixed error identifier.
source§

fn warning_code(&self) -> String

Returns the prefixed warning identifier.
source§

fn code_mask() -> i32

Returns the messages’s exit code mask, as to avoid conflicts.
source§

fn message_type() -> String

Returns the message’s code type for the program.
source§

fn is_error() -> bool

Returns if the message is an error or warning.
source§

fn code_identifier() -> i8

The LeoErrorCode which has a default code identifier of 037 (Leo upsidedown and backwards). This is to make the exit codes unique to Leo itself.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/leo_errors/errors/enum.LeoError.html b/leo_errors/errors/enum.LeoError.html index 8894d50790..f3a0fcda64 100644 --- a/leo_errors/errors/enum.LeoError.html +++ b/leo_errors/errors/enum.LeoError.html @@ -1,7 +1,8 @@ -LeoError in leo_errors::errors - Rust
leo_errors::errors

Enum LeoError

source
pub enum LeoError {
-    AstError(AstError),
+LeoError in leo_errors::errors - Rust
leo_errors::errors

Enum LeoError

source
pub enum LeoError {
+
Show 13 variants AstError(AstError), CliError(CliError), CompilerError(CompilerError), + InterpreterHalt(InterpreterHalt), PackageError(PackageError), ParserError(ParserError), StaticAnalyzerError(StaticAnalyzerError), @@ -11,12 +12,12 @@ LastErrorCode(i32), UtilError(UtilError), Anyhow(Error), -}
Expand description

The LeoError type that contains all sub error types. +

}
Expand description

The LeoError type that contains all sub error types. This allows a unified error type throughout the Leo crates.

Variants§

§

AstError(AstError)

Represents an AST Error in a Leo Error.

§

CliError(CliError)

Represents a CLI Error in a Leo Error.

§

CompilerError(CompilerError)

Represents a Compiler Error in a Leo Error.

-
§

PackageError(PackageError)

Represents a Package Error in a Leo Error.

+
§

InterpreterHalt(InterpreterHalt)

§

PackageError(PackageError)

Represents a Package Error in a Leo Error.

§

ParserError(ParserError)

Represents a Parser Error in a Leo Error.

§

StaticAnalyzerError(StaticAnalyzerError)

Represents a Static Analyzer Error in a Leo Error.

§

TypeCheckerError(TypeCheckerError)

Represents a Type Checker Error in a Leo Error.

@@ -26,12 +27,12 @@ not re-displaying an error.

§

UtilError(UtilError)

Represents a Utils Error in a Leo Error.

§

Anyhow(Error)

Anyhow errors.

-

Implementations§

source§

impl LeoError

source

pub fn error_code(&self) -> String

Implement error code for each type of Error.

-
source

pub fn exit_code(&self) -> i32

Implement exit code for each type of Error.

-

Trait Implementations§

source§

impl Debug for LeoError

source§

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

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

impl Display for LeoError

source§

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

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

impl Error for LeoError

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<AstError> for LeoError

source§

fn from(source: AstError) -> Self

Converts to this type from the input type.
source§

impl From<CliError> for LeoError

source§

fn from(source: CliError) -> Self

Converts to this type from the input type.
source§

impl From<CompilerError> for LeoError

source§

fn from(source: CompilerError) -> Self

Converts to this type from the input type.
source§

impl From<Error> for LeoError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<FlattenError> for LeoError

source§

fn from(source: FlattenError) -> Self

Converts to this type from the input type.
source§

impl From<LoopUnrollerError> for LeoError

source§

fn from(source: LoopUnrollerError) -> Self

Converts to this type from the input type.
source§

impl From<PackageError> for LeoError

source§

fn from(source: PackageError) -> Self

Converts to this type from the input type.
source§

impl From<ParserError> for LeoError

source§

fn from(source: ParserError) -> Self

Converts to this type from the input type.
source§

impl From<StaticAnalyzerError> for LeoError

source§

fn from(source: StaticAnalyzerError) -> Self

Converts to this type from the input type.
source§

impl From<TypeCheckerError> for LeoError

source§

fn from(source: TypeCheckerError) -> Self

Converts to this type from the input type.
source§

impl From<UtilError> for LeoError

source§

fn from(source: UtilError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Implementations§

source§

impl LeoError

source

pub fn error_code(&self) -> String

Implement error code for each type of Error.

+
source

pub fn exit_code(&self) -> i32

Implement exit code for each type of Error.

+

Trait Implementations§

source§

impl Debug for LeoError

source§

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

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

impl Display for LeoError

source§

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

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

impl Error for LeoError

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<AstError> for LeoError

source§

fn from(source: AstError) -> Self

Converts to this type from the input type.
source§

impl From<CliError> for LeoError

source§

fn from(source: CliError) -> Self

Converts to this type from the input type.
source§

impl From<CompilerError> for LeoError

source§

fn from(source: CompilerError) -> Self

Converts to this type from the input type.
source§

impl From<Error> for LeoError

source§

fn from(source: Error) -> Self

Converts to this type from the input type.
source§

impl From<FlattenError> for LeoError

source§

fn from(source: FlattenError) -> Self

Converts to this type from the input type.
source§

impl From<InterpreterHalt> for LeoError

source§

fn from(source: InterpreterHalt) -> Self

Converts to this type from the input type.
source§

impl From<LoopUnrollerError> for LeoError

source§

fn from(source: LoopUnrollerError) -> Self

Converts to this type from the input type.
source§

impl From<PackageError> for LeoError

source§

fn from(source: PackageError) -> Self

Converts to this type from the input type.
source§

impl From<ParserError> for LeoError

source§

fn from(source: ParserError) -> Self

Converts to this type from the input type.
source§

impl From<StaticAnalyzerError> for LeoError

source§

fn from(source: StaticAnalyzerError) -> Self

Converts to this type from the input type.
source§

impl From<TypeCheckerError> for LeoError

source§

fn from(source: TypeCheckerError) -> Self

Converts to this type from the input type.
source§

impl From<UtilError> for LeoError

source§

fn from(source: UtilError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of diff --git a/leo_errors/errors/enum.LeoWarning.html b/leo_errors/errors/enum.LeoWarning.html index 0ca7c4f5fa..b5fbbad646 100644 --- a/leo_errors/errors/enum.LeoWarning.html +++ b/leo_errors/errors/enum.LeoWarning.html @@ -1,4 +1,4 @@ -LeoWarning in leo_errors::errors - Rust

leo_errors::errors

Enum LeoWarning

source
pub enum LeoWarning {
+LeoWarning in leo_errors::errors - Rust
leo_errors::errors

Enum LeoWarning

source
pub enum LeoWarning {
     ParserWarning(ParserWarning),
     StaticAnalyzerWarning(StaticAnalyzerWarning),
     TypeCheckerWarning(TypeCheckerWarning),
@@ -7,8 +7,8 @@
 

Variants§

§

ParserWarning(ParserWarning)

Represents an Parser Warning in a Leo Warning.

§

StaticAnalyzerWarning(StaticAnalyzerWarning)

Represents a Static Analyzer Warning in a Leo Warning.

§

TypeCheckerWarning(TypeCheckerWarning)

Represents a Type Checker Warning in a Leo Warning.

-

Implementations§

source§

impl LeoWarning

source

pub fn error_code(&self) -> String

Implement warning code for each type of Warning.

-

Trait Implementations§

source§

impl Debug for LeoWarning

source§

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

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

impl Display for LeoWarning

source§

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

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

impl Error for LeoWarning

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<ParserWarning> for LeoWarning

source§

fn from(source: ParserWarning) -> Self

Converts to this type from the input type.
source§

impl From<StaticAnalyzerWarning> for LeoWarning

source§

fn from(source: StaticAnalyzerWarning) -> Self

Converts to this type from the input type.
source§

impl From<TypeCheckerWarning> for LeoWarning

source§

fn from(source: TypeCheckerWarning) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Implementations§

source§

impl LeoWarning

source

pub fn error_code(&self) -> String

Implement warning code for each type of Warning.

+

Trait Implementations§

source§

impl Debug for LeoWarning

source§

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

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

impl Display for LeoWarning

source§

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

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

impl Error for LeoWarning

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<ParserWarning> for LeoWarning

source§

fn from(source: ParserWarning) -> Self

Converts to this type from the input type.
source§

impl From<StaticAnalyzerWarning> for LeoWarning

source§

fn from(source: StaticAnalyzerWarning) -> Self

Converts to this type from the input type.
source§

impl From<TypeCheckerWarning> for LeoWarning

source§

fn from(source: TypeCheckerWarning) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/leo_errors/errors/flattener/flattener_errors/enum.FlattenError.html b/leo_errors/errors/flattener/flattener_errors/enum.FlattenError.html index 73d2d54aaf..634aa3973b 100644 --- a/leo_errors/errors/flattener/flattener_errors/enum.FlattenError.html +++ b/leo_errors/errors/flattener/flattener_errors/enum.FlattenError.html @@ -12,7 +12,7 @@
source

pub fn unary_overflow(left: impl Display, op: impl Display, span: Span) -> Self

For when a constant operation would cause an overflow.

source

pub fn loop_has_neg_value(value: impl Display, span: Span) -> Self

For when a loop uses a negative value.

source

pub fn u128_to_i128(value: impl Display, span: Span) -> Self

For when a u128 value cannot be converted into an i128.

-
source

pub fn num_exit_codes() -> i32

Trait Implementations§

source§

impl Clone for FlattenError

source§

fn clone(&self) -> FlattenError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for FlattenError

source§

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

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

impl Display for FlattenError

source§

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

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

impl Error for FlattenError

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Backtraced> for FlattenError

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<FlattenError> for LeoError

source§

fn from(source: FlattenError) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for FlattenError

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for FlattenError

Implements the trait for LeoError Codes.

+
source

pub fn num_exit_codes() -> i32

Trait Implementations§

source§

impl Clone for FlattenError

source§

fn clone(&self) -> FlattenError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for FlattenError

source§

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

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

impl Display for FlattenError

source§

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

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

impl Error for FlattenError

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Backtraced> for FlattenError

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<FlattenError> for LeoError

source§

fn from(source: FlattenError) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for FlattenError

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for FlattenError

Implements the trait for LeoError Codes.

source§

fn exit_code(&self) -> i32

Returns the error’s exit code for the program.
source§

fn error_code(&self) -> String

Returns the prefixed error identifier.
source§

fn warning_code(&self) -> String

Returns the prefixed warning identifier.
source§

fn code_mask() -> i32

Returns the messages’s exit code mask, as to avoid conflicts.
source§

fn message_type() -> String

Returns the message’s code type for the program.
source§

fn is_error() -> bool

Returns if the message is an error or warning.
source§

fn code_identifier() -> i8

The LeoErrorCode which has a default code identifier of 037 (Leo upsidedown and backwards). This is to make the exit codes unique to Leo itself.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/leo_errors/errors/index.html b/leo_errors/errors/index.html index 6e7a8f3f04..55a8123a05 100644 --- a/leo_errors/errors/index.html +++ b/leo_errors/errors/index.html @@ -1,4 +1,4 @@ -leo_errors::errors - Rust
leo_errors

Module errors

source
Expand description

Contains the errors and warnings for the Leo language.

-

Re-exports§

Modules§

  • Contains the AST error definitions.
  • Contains the CLI error definitions.
  • Contains the Compiler error definitions.
  • Contains the Flattener error definitions.
  • Contains the Loop Unroller error definitions.
  • Contains the Package error definitions.
  • Contains the Parser error definitions.
  • Contains the Static Analyzer error definitions.
  • Contains the Type Checker error definitions.
  • Contains the Utils error definitions.

Enums§

Trait Implementations§

source§

impl Clone for PackageError

source§

fn clone(&self) -> PackageError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for PackageError

source§

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

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

impl Display for PackageError

source§

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

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

impl Error for PackageError

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Backtraced> for PackageError

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for PackageError

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl From<PackageError> for LeoError

source§

fn from(source: PackageError) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for PackageError

Implements the trait for LeoError Codes.

+) -> Self
source

pub fn execution_error(error: impl Display) -> Self

source

pub fn snarkvm_error(error: impl Display) -> Self

source

pub fn failed_to_load_package(path: impl Display) -> Self

source

pub fn num_exit_codes() -> i32

Trait Implementations§

source§

impl Clone for PackageError

source§

fn clone(&self) -> PackageError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for PackageError

source§

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

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

impl Display for PackageError

source§

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

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

impl Error for PackageError

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Backtraced> for PackageError

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for PackageError

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl From<PackageError> for LeoError

source§

fn from(source: PackageError) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for PackageError

Implements the trait for LeoError Codes.

source§

fn exit_code(&self) -> i32

Returns the error’s exit code for the program.
source§

fn error_code(&self) -> String

Returns the prefixed error identifier.
source§

fn warning_code(&self) -> String

Returns the prefixed warning identifier.
source§

fn code_mask() -> i32

Returns the messages’s exit code mask, as to avoid conflicts.
source§

fn message_type() -> String

Returns the message’s code type for the program.
source§

fn is_error() -> bool

Returns if the message is an error or warning.
source§

fn code_identifier() -> i8

The LeoErrorCode which has a default code identifier of 037 (Leo upsidedown and backwards). This is to make the exit codes unique to Leo itself.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/leo_errors/errors/parser/parser_errors/enum.ParserError.html b/leo_errors/errors/parser/parser_errors/enum.ParserError.html index f48d49a159..ef323e35f3 100644 --- a/leo_errors/errors/parser/parser_errors/enum.ParserError.html +++ b/leo_errors/errors/parser/parser_errors/enum.ParserError.html @@ -69,7 +69,7 @@ length: usize, max_length: usize, span: Span, -) -> Self

source

pub fn num_exit_codes() -> i32

Trait Implementations§

source§

impl Clone for ParserError

source§

fn clone(&self) -> ParserError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ParserError

source§

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

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

impl Display for ParserError

source§

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

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

impl Error for ParserError

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Backtraced> for ParserError

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for ParserError

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl From<ParserError> for LeoError

source§

fn from(source: ParserError) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for ParserError

Implements the trait for LeoError Codes.

+) -> Self
source

pub fn num_exit_codes() -> i32

Trait Implementations§

source§

impl Clone for ParserError

source§

fn clone(&self) -> ParserError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ParserError

source§

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

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

impl Display for ParserError

source§

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

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

impl Error for ParserError

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Backtraced> for ParserError

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for ParserError

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl From<ParserError> for LeoError

source§

fn from(source: ParserError) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for ParserError

Implements the trait for LeoError Codes.

source§

fn exit_code(&self) -> i32

Returns the error’s exit code for the program.
source§

fn error_code(&self) -> String

Returns the prefixed error identifier.
source§

fn warning_code(&self) -> String

Returns the prefixed warning identifier.
source§

fn code_mask() -> i32

Returns the messages’s exit code mask, as to avoid conflicts.
source§

fn message_type() -> String

Returns the message’s code type for the program.
source§

fn is_error() -> bool

Returns if the message is an error or warning.
source§

fn code_identifier() -> i8

The LeoErrorCode which has a default code identifier of 037 (Leo upsidedown and backwards). This is to make the exit codes unique to Leo itself.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/leo_errors/errors/parser/parser_warnings/enum.ParserWarning.html b/leo_errors/errors/parser/parser_warnings/enum.ParserWarning.html index b17be97791..ebd5bfb4fe 100644 --- a/leo_errors/errors/parser/parser_warnings/enum.ParserWarning.html +++ b/leo_errors/errors/parser/parser_warnings/enum.ParserWarning.html @@ -4,7 +4,7 @@ }
Expand description

ParserWarning enum that represents all the warnings for the leo-parser crate.

Variants§

§

Formatted(Formatted)

§

Backtraced(Backtraced)

Implementations§

source§

impl ParserWarning

source

pub fn const_parameter_or_input(span: Span) -> Self

For when a user used const on a parameter or input instead of constant.

source

pub fn deprecated(keyword: impl Display, help: impl Display, span: Span) -> Self

For when a keyword is deprecated but could be used as a valid identifier.

-
source

pub fn num_exit_codes() -> i32

Trait Implementations§

source§

impl Clone for ParserWarning

source§

fn clone(&self) -> ParserWarning

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ParserWarning

source§

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

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

impl Display for ParserWarning

source§

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

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

impl Error for ParserWarning

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Backtraced> for ParserWarning

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for ParserWarning

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl From<ParserWarning> for LeoWarning

source§

fn from(source: ParserWarning) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for ParserWarning

Implements the trait for LeoError Codes.

+
source

pub fn num_exit_codes() -> i32

Trait Implementations§

source§

impl Clone for ParserWarning

source§

fn clone(&self) -> ParserWarning

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ParserWarning

source§

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

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

impl Display for ParserWarning

source§

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

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

impl Error for ParserWarning

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Backtraced> for ParserWarning

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for ParserWarning

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl From<ParserWarning> for LeoWarning

source§

fn from(source: ParserWarning) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for ParserWarning

Implements the trait for LeoError Codes.

source§

fn exit_code(&self) -> i32

Returns the error’s exit code for the program.
source§

fn error_code(&self) -> String

Returns the prefixed error identifier.
source§

fn warning_code(&self) -> String

Returns the prefixed warning identifier.
source§

fn code_mask() -> i32

Returns the messages’s exit code mask, as to avoid conflicts.
source§

fn message_type() -> String

Returns the message’s code type for the program.
source§

fn is_error() -> bool

Returns if the message is an error or warning.
source§

fn code_identifier() -> i8

The LeoErrorCode which has a default code identifier of 037 (Leo upsidedown and backwards). This is to make the exit codes unique to Leo itself.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/leo_errors/errors/sidebar-items.js b/leo_errors/errors/sidebar-items.js index b30af8eab5..ba1d654e1a 100644 --- a/leo_errors/errors/sidebar-items.js +++ b/leo_errors/errors/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":["LeoError","LeoWarning"],"mod":["ast","cli","compiler","flattener","loop_unroller","package","parser","static_analyzer","type_checker","utils"],"type":["Result"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["LeoError","LeoWarning"],"mod":["ast","cli","compiler","flattener","interpreter_halt","loop_unroller","package","parser","static_analyzer","type_checker","utils"],"type":["Result"]}; \ No newline at end of file diff --git a/leo_errors/errors/static_analyzer/static_analyzer_error/enum.StaticAnalyzerError.html b/leo_errors/errors/static_analyzer/static_analyzer_error/enum.StaticAnalyzerError.html index eadf24d8f7..365a8aef58 100644 --- a/leo_errors/errors/static_analyzer/static_analyzer_error/enum.StaticAnalyzerError.html +++ b/leo_errors/errors/static_analyzer/static_analyzer_error/enum.StaticAnalyzerError.html @@ -8,7 +8,7 @@ ) -> Self

source

pub fn future_awaits_missing(unawaited: impl Display, span: Span) -> Self

source

pub fn invalid_await_call(span: Span) -> Self

source

pub fn expected_future(type_: impl Display, span: Span) -> Self

source

pub fn async_transition_call_with_future_argument( function_name: impl Display, span: Span, -) -> Self

source

pub fn misplaced_future(span: Span) -> Self

source

pub fn num_exit_codes() -> i32

Trait Implementations§

source§

impl Clone for StaticAnalyzerError

source§

fn clone(&self) -> StaticAnalyzerError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for StaticAnalyzerError

source§

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

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

impl Display for StaticAnalyzerError

source§

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

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

impl Error for StaticAnalyzerError

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Backtraced> for StaticAnalyzerError

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for StaticAnalyzerError

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl From<StaticAnalyzerError> for LeoError

source§

fn from(source: StaticAnalyzerError) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for StaticAnalyzerError

Implements the trait for LeoError Codes.

+) -> Self
source

pub fn misplaced_future(span: Span) -> Self

source

pub fn num_exit_codes() -> i32

Trait Implementations§

source§

impl Clone for StaticAnalyzerError

source§

fn clone(&self) -> StaticAnalyzerError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for StaticAnalyzerError

source§

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

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

impl Display for StaticAnalyzerError

source§

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

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

impl Error for StaticAnalyzerError

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Backtraced> for StaticAnalyzerError

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for StaticAnalyzerError

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl From<StaticAnalyzerError> for LeoError

source§

fn from(source: StaticAnalyzerError) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for StaticAnalyzerError

Implements the trait for LeoError Codes.

source§

fn exit_code(&self) -> i32

Returns the error’s exit code for the program.
source§

fn error_code(&self) -> String

Returns the prefixed error identifier.
source§

fn warning_code(&self) -> String

Returns the prefixed warning identifier.
source§

fn code_mask() -> i32

Returns the messages’s exit code mask, as to avoid conflicts.
source§

fn message_type() -> String

Returns the message’s code type for the program.
source§

fn is_error() -> bool

Returns if the message is an error or warning.
source§

fn code_identifier() -> i8

The LeoErrorCode which has a default code identifier of 037 (Leo upsidedown and backwards). This is to make the exit codes unique to Leo itself.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/leo_errors/errors/static_analyzer/static_analyzer_warning/enum.StaticAnalyzerWarning.html b/leo_errors/errors/static_analyzer/static_analyzer_warning/enum.StaticAnalyzerWarning.html index 6f9a190b0c..b70d4bff6d 100644 --- a/leo_errors/errors/static_analyzer/static_analyzer_warning/enum.StaticAnalyzerWarning.html +++ b/leo_errors/errors/static_analyzer/static_analyzer_warning/enum.StaticAnalyzerWarning.html @@ -16,7 +16,7 @@ ) -> Self

source

pub fn future_not_awaited_in_order( future_name: impl Display, span: Span, -) -> Self

source

pub fn num_exit_codes() -> i32

Trait Implementations§

source§

impl Clone for StaticAnalyzerWarning

source§

fn clone(&self) -> StaticAnalyzerWarning

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for StaticAnalyzerWarning

source§

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

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

impl Display for StaticAnalyzerWarning

source§

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

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

impl Error for StaticAnalyzerWarning

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Backtraced> for StaticAnalyzerWarning

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for StaticAnalyzerWarning

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl From<StaticAnalyzerWarning> for LeoWarning

source§

fn from(source: StaticAnalyzerWarning) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for StaticAnalyzerWarning

Implements the trait for LeoError Codes.

+) -> Self
source

pub fn num_exit_codes() -> i32

Trait Implementations§

source§

impl Clone for StaticAnalyzerWarning

source§

fn clone(&self) -> StaticAnalyzerWarning

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for StaticAnalyzerWarning

source§

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

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

impl Display for StaticAnalyzerWarning

source§

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

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

impl Error for StaticAnalyzerWarning

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Backtraced> for StaticAnalyzerWarning

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for StaticAnalyzerWarning

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl From<StaticAnalyzerWarning> for LeoWarning

source§

fn from(source: StaticAnalyzerWarning) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for StaticAnalyzerWarning

Implements the trait for LeoError Codes.

source§

fn exit_code(&self) -> i32

Returns the error’s exit code for the program.
source§

fn error_code(&self) -> String

Returns the prefixed error identifier.
source§

fn warning_code(&self) -> String

Returns the prefixed warning identifier.
source§

fn code_mask() -> i32

Returns the messages’s exit code mask, as to avoid conflicts.
source§

fn message_type() -> String

Returns the message’s code type for the program.
source§

fn is_error() -> bool

Returns if the message is an error or warning.
source§

fn code_identifier() -> i8

The LeoErrorCode which has a default code identifier of 037 (Leo upsidedown and backwards). This is to make the exit codes unique to Leo itself.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/leo_errors/errors/type.Result.html b/leo_errors/errors/type.Result.html index b5c0fc90b1..f80c9e6097 100644 --- a/leo_errors/errors/type.Result.html +++ b/leo_errors/errors/type.Result.html @@ -1,4 +1,4 @@ -Result in leo_errors::errors - Rust
leo_errors::errors

Type Alias Result

source
pub type Result<T, E = LeoError> = Result<T, E>;
Expand description

A global result type for all Leo crates, that defaults the errors to be a LeoError.

+Result in leo_errors::errors - Rust
leo_errors::errors

Type Alias Result

source
pub type Result<T, E = LeoError> = Result<T, E>;
Expand description

A global result type for all Leo crates, that defaults the errors to be a LeoError.

Aliased Type§

enum Result<T, E = LeoError> {
     Ok(T),
     Err(E),
diff --git a/leo_errors/errors/type_checker/type_checker_error/enum.TypeCheckerError.html b/leo_errors/errors/type_checker/type_checker_error/enum.TypeCheckerError.html
index 803d735fe6..5a9d25037d 100644
--- a/leo_errors/errors/type_checker/type_checker_error/enum.TypeCheckerError.html
+++ b/leo_errors/errors/type_checker/type_checker_error/enum.TypeCheckerError.html
@@ -135,7 +135,7 @@
 ) -> Self

source

pub fn only_async_transition_can_return_future(span: Span) -> Self

source

pub fn async_function_not_found(name: impl Display, span: Span) -> Self

source

pub fn empty_struct(span: Span) -> Self

source

pub fn empty_function_arglist(span: Span) -> Self

source

pub fn composite_data_type_cannot_contain_future( data_type: impl Display, span: Span, -) -> Self

source

pub fn array_element_cannot_be_future(span: Span) -> Self

source

pub fn no_future_parameters(span: Span) -> Self

source

pub fn num_exit_codes() -> i32

Trait Implementations§

source§

impl Clone for TypeCheckerError

source§

fn clone(&self) -> TypeCheckerError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for TypeCheckerError

source§

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

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

impl Display for TypeCheckerError

source§

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

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

impl Error for TypeCheckerError

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Backtraced> for TypeCheckerError

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for TypeCheckerError

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl From<TypeCheckerError> for LeoError

source§

fn from(source: TypeCheckerError) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for TypeCheckerError

Implements the trait for LeoError Codes.

+) -> Self
source

pub fn array_element_cannot_be_future(span: Span) -> Self

source

pub fn no_future_parameters(span: Span) -> Self

source

pub fn num_exit_codes() -> i32

Trait Implementations§

source§

impl Clone for TypeCheckerError

source§

fn clone(&self) -> TypeCheckerError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for TypeCheckerError

source§

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

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

impl Display for TypeCheckerError

source§

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

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

impl Error for TypeCheckerError

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Backtraced> for TypeCheckerError

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for TypeCheckerError

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl From<TypeCheckerError> for LeoError

source§

fn from(source: TypeCheckerError) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for TypeCheckerError

Implements the trait for LeoError Codes.

source§

fn exit_code(&self) -> i32

Returns the error’s exit code for the program.
source§

fn error_code(&self) -> String

Returns the prefixed error identifier.
source§

fn warning_code(&self) -> String

Returns the prefixed warning identifier.
source§

fn code_mask() -> i32

Returns the messages’s exit code mask, as to avoid conflicts.
source§

fn message_type() -> String

Returns the message’s code type for the program.
source§

fn is_error() -> bool

Returns if the message is an error or warning.
source§

fn code_identifier() -> i8

The LeoErrorCode which has a default code identifier of 037 (Leo upsidedown and backwards). This is to make the exit codes unique to Leo itself.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/leo_errors/errors/type_checker/type_checker_warning/enum.TypeCheckerWarning.html b/leo_errors/errors/type_checker/type_checker_warning/enum.TypeCheckerWarning.html index 1ad1daaf37..d15289a72b 100644 --- a/leo_errors/errors/type_checker/type_checker_warning/enum.TypeCheckerWarning.html +++ b/leo_errors/errors/type_checker/type_checker_warning/enum.TypeCheckerWarning.html @@ -16,7 +16,7 @@ ) -> Self

source

pub fn max_conditional_block_depth_exceeded( max: impl Display, span: Span, -) -> Self

source

pub fn num_exit_codes() -> i32

Trait Implementations§

source§

impl Clone for TypeCheckerWarning

source§

fn clone(&self) -> TypeCheckerWarning

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for TypeCheckerWarning

source§

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

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

impl Display for TypeCheckerWarning

source§

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

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

impl Error for TypeCheckerWarning

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Backtraced> for TypeCheckerWarning

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for TypeCheckerWarning

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl From<TypeCheckerWarning> for LeoWarning

source§

fn from(source: TypeCheckerWarning) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for TypeCheckerWarning

Implements the trait for LeoError Codes.

+) -> Self
source

pub fn num_exit_codes() -> i32

Trait Implementations§

source§

impl Clone for TypeCheckerWarning

source§

fn clone(&self) -> TypeCheckerWarning

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for TypeCheckerWarning

source§

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

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

impl Display for TypeCheckerWarning

source§

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

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

impl Error for TypeCheckerWarning

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Backtraced> for TypeCheckerWarning

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for TypeCheckerWarning

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl From<TypeCheckerWarning> for LeoWarning

source§

fn from(source: TypeCheckerWarning) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for TypeCheckerWarning

Implements the trait for LeoError Codes.

source§

fn exit_code(&self) -> i32

Returns the error’s exit code for the program.
source§

fn error_code(&self) -> String

Returns the prefixed error identifier.
source§

fn warning_code(&self) -> String

Returns the prefixed warning identifier.
source§

fn code_mask() -> i32

Returns the messages’s exit code mask, as to avoid conflicts.
source§

fn message_type() -> String

Returns the message’s code type for the program.
source§

fn is_error() -> bool

Returns if the message is an error or warning.
source§

fn code_identifier() -> i8

The LeoErrorCode which has a default code identifier of 037 (Leo upsidedown and backwards). This is to make the exit codes unique to Leo itself.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/leo_errors/errors/utils/util_errors/enum.UtilError.html b/leo_errors/errors/utils/util_errors/enum.UtilError.html index 80e92c8109..2aa1d26e6e 100644 --- a/leo_errors/errors/utils/util_errors/enum.UtilError.html +++ b/leo_errors/errors/utils/util_errors/enum.UtilError.html @@ -28,7 +28,7 @@ input: impl Display, expected_type: impl Display, expected_preface: impl Display, -) -> Self

source

pub fn invalid_numerical_input(input: impl Display) -> Self

source

pub fn invalid_range() -> Self

source

pub fn invalid_height_or_hash(input: impl Display) -> Self

source

pub fn invalid_field(field: impl Display) -> Self

source

pub fn invalid_bound(bound: impl Display) -> Self

source

pub fn endpoint_moved_error(endpoint: impl Display) -> Self

source

pub fn num_exit_codes() -> i32

Trait Implementations§

source§

impl Clone for UtilError

source§

fn clone(&self) -> UtilError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for UtilError

source§

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

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

impl Display for UtilError

source§

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

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

impl Error for UtilError

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Backtraced> for UtilError

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for UtilError

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl From<UtilError> for LeoError

source§

fn from(source: UtilError) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for UtilError

Implements the trait for LeoError Codes.

+) -> Self
source

pub fn invalid_numerical_input(input: impl Display) -> Self

source

pub fn invalid_range() -> Self

source

pub fn invalid_height_or_hash(input: impl Display) -> Self

source

pub fn invalid_field(field: impl Display) -> Self

source

pub fn invalid_bound(bound: impl Display) -> Self

source

pub fn endpoint_moved_error(endpoint: impl Display) -> Self

source

pub fn num_exit_codes() -> i32

Trait Implementations§

source§

impl Clone for UtilError

source§

fn clone(&self) -> UtilError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for UtilError

source§

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

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

impl Display for UtilError

source§

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

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

impl Error for UtilError

source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Backtraced> for UtilError

source§

fn from(source: Backtraced) -> Self

Converts to this type from the input type.
source§

impl From<Formatted> for UtilError

source§

fn from(source: Formatted) -> Self

Converts to this type from the input type.
source§

impl From<UtilError> for LeoError

source§

fn from(source: UtilError) -> Self

Converts to this type from the input type.
source§

impl LeoMessageCode for UtilError

Implements the trait for LeoError Codes.

source§

fn exit_code(&self) -> i32

Returns the error’s exit code for the program.
source§

fn error_code(&self) -> String

Returns the prefixed error identifier.
source§

fn warning_code(&self) -> String

Returns the prefixed warning identifier.
source§

fn code_mask() -> i32

Returns the messages’s exit code mask, as to avoid conflicts.
source§

fn message_type() -> String

Returns the message’s code type for the program.
source§

fn is_error() -> bool

Returns if the message is an error or warning.
source§

fn code_identifier() -> i8

The LeoErrorCode which has a default code identifier of 037 (Leo upsidedown and backwards). This is to make the exit codes unique to Leo itself.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/leo_interpreter/all.html b/leo_interpreter/all.html new file mode 100644 index 0000000000..9a64a5e66a --- /dev/null +++ b/leo_interpreter/all.html @@ -0,0 +1 @@ +List of all items in this crate
\ No newline at end of file diff --git a/leo_interpreter/constant.HELP.html b/leo_interpreter/constant.HELP.html new file mode 100644 index 0000000000..6151d0165a --- /dev/null +++ b/leo_interpreter/constant.HELP.html @@ -0,0 +1,53 @@ +HELP in leo_interpreter - Rust
leo_interpreter

Constant HELP

source
pub(crate) const HELP: &str = "
+You probably want to start by running a function or transition.
+For instance
+#into program.aleo/main()
+Once a function is running, commands include
+#into    to evaluate into the next expression or statement;
+#step    to take one step towards evaluating the current expression or statement;
+#over    to complete evaluating the current expression or statement;
+#run     to finish evaluating
+#quit    to quit the interpreter.
+
+You can set a breakpoint with
+#break program_name line_number
+
+When executing Aleo VM code, you can print the value of a register like this:
+#print 2
+
+Some of the commands may be run with one letter abbreviations, such as #i.
+
+Note that this interpreter is not line oriented as in many common debuggers;
+rather it is oriented around expressions and statements.
+As you step into code, individual expressions or statements will
+be evaluated one by one, including arguments of function calls.
+
+You may simply enter Leo expressions or statements on the command line
+to evaluate. For instance, if you want to see the value of a variable w:
+w
+If you want to set w to a new value:
+w = z + 2u8;
+
+Note that statements (like the assignment above) must end with a semicolon.
+
+If there are futures available to be executed, they will be listed by
+numerical index, and you may run them using `#future` (or `#f`); for instance
+#future 0
+
+The interpreter begins in a global context, not in any Leo program. You can set
+the current program with
+
+#set_program program_name
+
+This allows you to refer to structs and other items in the indicated program.
+
+The interpreter may enter an invalid state, often due to Leo code entered at the
+REPL. In this case, you may use the command
+
+#restore
+
+Which will restore to the last saved state of the interpreter. Any time you
+enter Leo code at the prompt, interpreter state is saved.
+
+Input history is available - use the up and down arrow keys.
+";
\ No newline at end of file diff --git a/leo_interpreter/constant.INTRO.html b/leo_interpreter/constant.INTRO.html new file mode 100644 index 0000000000..c05a57c1c7 --- /dev/null +++ b/leo_interpreter/constant.INTRO.html @@ -0,0 +1 @@ +INTRO in leo_interpreter - Rust
leo_interpreter

Constant INTRO

source
pub(crate) const INTRO: &str = "This is the Leo Interpreter. Try the command `#help`.";
\ No newline at end of file diff --git a/leo_interpreter/cursor/enum.AleoContext.html b/leo_interpreter/cursor/enum.AleoContext.html new file mode 100644 index 0000000000..c81e6ed1ff --- /dev/null +++ b/leo_interpreter/cursor/enum.AleoContext.html @@ -0,0 +1,30 @@ +AleoContext in leo_interpreter::cursor - Rust
leo_interpreter::cursor

Enum AleoContext

source
pub enum AleoContext<'a> {
+    Closure(&'a Closure<TestnetV0>),
+    Function(&'a Function<TestnetV0>),
+    Finalize(&'a Finalize<TestnetV0>),
+}

Variants§

§

Closure(&'a Closure<TestnetV0>)

§

Function(&'a Function<TestnetV0>)

§

Finalize(&'a Finalize<TestnetV0>)

Trait Implementations§

source§

impl<'a> Clone for AleoContext<'a>

source§

fn clone(&self) -> AleoContext<'a>

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

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

Performs copy-assignment from source. Read more
source§

impl<'a> Debug for AleoContext<'a>

source§

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

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

impl<'a> Copy for AleoContext<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for AleoContext<'a>

§

impl<'a> RefUnwindSafe for AleoContext<'a>

§

impl<'a> Send for AleoContext<'a>

§

impl<'a> Sync for AleoContext<'a>

§

impl<'a> Unpin for AleoContext<'a>

§

impl<'a> UnwindSafe for AleoContext<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where + T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where + T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_interpreter/cursor/enum.Element.html b/leo_interpreter/cursor/enum.Element.html new file mode 100644 index 0000000000..c38dd41d3b --- /dev/null +++ b/leo_interpreter/cursor/enum.Element.html @@ -0,0 +1,51 @@ +Element in leo_interpreter::cursor - Rust
leo_interpreter::cursor

Enum Element

source
pub enum Element<'a> {
+    Statement(&'a Statement),
+    Expression(&'a Expression),
+    Block {
+        block: &'a Block,
+        function_body: bool,
+    },
+    AleoExecution {
+        context: AleoContext<'a>,
+        registers: IndexMap<u64, Value>,
+        instruction_index: usize,
+    },
+    DelayedCall(GlobalId),
+}
Expand description

A Leo construct to be evauated.

+

Variants§

§

Statement(&'a Statement)

A Leo statement.

+
§

Expression(&'a Expression)

A Leo expression.

+
§

Block

A Leo block.

+

We have a separate variant for Leo blocks for two reasons:

+
    +
  1. In a ConditionalExpression, the then block is stored +as just a Block with no statement, and
  2. +
  3. We need to remember if a Block came from a function body, +so that if such a block ends, we know to push a Unit to +the values stack.
  4. +
+

Fields

§block: &'a Block
§function_body: bool
§

AleoExecution

Fields

§context: AleoContext<'a>
§registers: IndexMap<u64, Value>
§instruction_index: usize
§

DelayedCall(GlobalId)

Implementations§

source§

impl Element<'_>

source

pub fn span(&self) -> Span

Trait Implementations§

source§

impl<'a> Clone for Element<'a>

source§

fn clone(&self) -> Element<'a>

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

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

Performs copy-assignment from source. Read more
source§

impl<'a> Debug for Element<'a>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Element<'a>

§

impl<'a> !RefUnwindSafe for Element<'a>

§

impl<'a> !Send for Element<'a>

§

impl<'a> !Sync for Element<'a>

§

impl<'a> Unpin for Element<'a>

§

impl<'a> !UnwindSafe for Element<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where + T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where + T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_interpreter/cursor/enum.FunctionVariant.html b/leo_interpreter/cursor/enum.FunctionVariant.html new file mode 100644 index 0000000000..c107fe4780 --- /dev/null +++ b/leo_interpreter/cursor/enum.FunctionVariant.html @@ -0,0 +1,30 @@ +FunctionVariant in leo_interpreter::cursor - Rust
leo_interpreter::cursor

Enum FunctionVariant

source
pub enum FunctionVariant<'a> {
+    Leo(&'a Function),
+    AleoClosure(&'a Closure<TestnetV0>),
+    AleoFunction(&'a Function<TestnetV0>),
+}

Variants§

§

Leo(&'a Function)

§

AleoClosure(&'a Closure<TestnetV0>)

§

AleoFunction(&'a Function<TestnetV0>)

Trait Implementations§

source§

impl<'a> Clone for FunctionVariant<'a>

source§

fn clone(&self) -> FunctionVariant<'a>

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

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

Performs copy-assignment from source. Read more
source§

impl<'a> Debug for FunctionVariant<'a>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for FunctionVariant<'a>

§

impl<'a> !RefUnwindSafe for FunctionVariant<'a>

§

impl<'a> !Send for FunctionVariant<'a>

§

impl<'a> !Sync for FunctionVariant<'a>

§

impl<'a> Unpin for FunctionVariant<'a>

§

impl<'a> !UnwindSafe for FunctionVariant<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where + T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where + T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_interpreter/cursor/fn.evaluate_binary.html b/leo_interpreter/cursor/fn.evaluate_binary.html new file mode 100644 index 0000000000..950f151a33 --- /dev/null +++ b/leo_interpreter/cursor/fn.evaluate_binary.html @@ -0,0 +1,7 @@ +evaluate_binary in leo_interpreter::cursor - Rust
leo_interpreter::cursor

Function evaluate_binary

source
pub fn evaluate_binary(
+    span: Span,
+    op: BinaryOperation,
+    lhs: Value,
+    rhs: Value,
+) -> Result<Value>
Expand description

Evaluate a binary operation.

+
\ No newline at end of file diff --git a/leo_interpreter/cursor/fn.evaluate_unary.html b/leo_interpreter/cursor/fn.evaluate_unary.html new file mode 100644 index 0000000000..8161c82c3a --- /dev/null +++ b/leo_interpreter/cursor/fn.evaluate_unary.html @@ -0,0 +1,6 @@ +evaluate_unary in leo_interpreter::cursor - Rust
leo_interpreter::cursor

Function evaluate_unary

source
pub fn evaluate_unary(
+    span: Span,
+    op: UnaryOperation,
+    value: Value,
+) -> Result<Value>
Expand description

Evaluate a unary operation.

+
\ No newline at end of file diff --git a/leo_interpreter/cursor/index.html b/leo_interpreter/cursor/index.html new file mode 100644 index 0000000000..c19c6cc161 --- /dev/null +++ b/leo_interpreter/cursor/index.html @@ -0,0 +1,3 @@ +leo_interpreter::cursor - Rust
leo_interpreter

Module cursor

source

Structs§

  • A stack of contexts, building with the function call stack.
  • Tracks the current execution state - a cursor into the running program.
  • A frame of execution, keeping track of the Element next to +be executed and the number of steps we’ve done so far.
  • Names associated to values in a function being executed.
  • Global values - such as mappings, functions, etc - +are identified by program and name.

Enums§

Functions§

Type Aliases§

\ No newline at end of file diff --git a/leo_interpreter/cursor/sidebar-items.js b/leo_interpreter/cursor/sidebar-items.js new file mode 100644 index 0000000000..628896fa3e --- /dev/null +++ b/leo_interpreter/cursor/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"enum":["AleoContext","Element","FunctionVariant"],"fn":["evaluate_binary","evaluate_unary"],"struct":["ContextStack","Cursor","Frame","FunctionContext","GlobalId","StepResult"],"type":["Closure","Finalize","SvmFunction"]}; \ No newline at end of file diff --git a/leo_interpreter/cursor/struct.ContextStack.html b/leo_interpreter/cursor/struct.ContextStack.html new file mode 100644 index 0000000000..c06c8671d0 --- /dev/null +++ b/leo_interpreter/cursor/struct.ContextStack.html @@ -0,0 +1,34 @@ +ContextStack in leo_interpreter::cursor - Rust
leo_interpreter::cursor

Struct ContextStack

source
pub struct ContextStack {
+    contexts: Vec<FunctionContext>,
+    current_len: usize,
+}
Expand description

A stack of contexts, building with the function call stack.

+

Fields§

§contexts: Vec<FunctionContext>§current_len: usize

Implementations§

source§

impl ContextStack

source

fn len(&self) -> usize

source

fn push(&mut self, program: Symbol, caller: Address<TestnetV0>, is_async: bool)

source

pub fn pop(&mut self)

source

fn get_future(&mut self) -> Future

Get the future accumulated by awaiting futures in the current function call.

+

If the current code being interpreted is not in an async function, this +will of course be empty.

+
source

fn set(&mut self, symbol: Symbol, value: Value)

source

pub fn add_future(&mut self, future: Future)

source

fn is_async(&self) -> bool

Are we currently in an async function?

+
source

pub fn current_program(&self) -> Option<Symbol>

source

pub fn last(&self) -> Option<&FunctionContext>

source

fn last_mut(&mut self) -> Option<&mut FunctionContext>

Trait Implementations§

source§

impl Clone for ContextStack

source§

fn clone(&self) -> ContextStack

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ContextStack

source§

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

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

impl Default for ContextStack

source§

fn default() -> ContextStack

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where + T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where + T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_interpreter/cursor/struct.Cursor.html b/leo_interpreter/cursor/struct.Cursor.html new file mode 100644 index 0000000000..6763f04571 --- /dev/null +++ b/leo_interpreter/cursor/struct.Cursor.html @@ -0,0 +1,107 @@ +Cursor in leo_interpreter::cursor - Rust
leo_interpreter::cursor

Struct Cursor

source
pub struct Cursor<'a> {
Show 14 fields + pub frames: Vec<Frame<'a>>, + pub values: Vec<Value>, + pub functions: HashMap<GlobalId, FunctionVariant<'a>>, + pub globals: HashMap<GlobalId, Value>, + pub user_values: HashMap<Symbol, Value>, + pub mappings: HashMap<GlobalId, HashMap<Value, Value>>, + pub structs: HashMap<GlobalId, IndexSet<Symbol>>, + pub futures: Vec<Future>, + pub contexts: ContextStack, + pub signer: Address<TestnetV0>, + pub rng: ChaCha20Rng, + pub block_height: u32, + pub really_async: bool, + pub program: Option<Symbol>, +
}
Expand description

Tracks the current execution state - a cursor into the running program.

+

Fields§

§frames: Vec<Frame<'a>>

Stack of execution frames, with the one currently to be executed on top.

+
§values: Vec<Value>

Stack of values from evaluated expressions.

+

Each time an expression completes evaluation, a value is pushed here.

+
§functions: HashMap<GlobalId, FunctionVariant<'a>>

All functions (or transitions or inlines) in any program being interpreted.

+
§globals: HashMap<GlobalId, Value>

Consts are stored here.

+
§user_values: HashMap<Symbol, Value>§mappings: HashMap<GlobalId, HashMap<Value, Value>>§structs: HashMap<GlobalId, IndexSet<Symbol>>

For each struct type, we only need to remember the names of its members, in order.

+
§futures: Vec<Future>§contexts: ContextStack§signer: Address<TestnetV0>§rng: ChaCha20Rng§block_height: u32§really_async: bool§program: Option<Symbol>

Implementations§

source§

impl<'a> Cursor<'a>

source

pub fn new( + really_async: bool, + signer: Address<TestnetV0>, + block_height: u32, +) -> Self

really_async indicates we should really delay execution of async function calls until the user runs them.

+
source

pub fn set_program(&mut self, program: &str)

source

pub fn current_program(&self) -> Option<Symbol>

source

pub fn increment_step(&mut self)

source

fn new_caller(&self) -> Address<TestnetV0>

source

fn pop_value(&mut self) -> Result<Value>

source

fn lookup(&self, name: Symbol) -> Option<Value>

source

pub fn lookup_mapping( + &self, + program: Option<Symbol>, + name: Symbol, +) -> Option<&HashMap<Value, Value>>

source

pub fn lookup_mapping_mut( + &mut self, + program: Option<Symbol>, + name: Symbol, +) -> Option<&mut HashMap<Value, Value>>

source

fn lookup_function( + &self, + program: Symbol, + name: Symbol, +) -> Option<FunctionVariant<'a>>

source

fn set_variable(&mut self, symbol: Symbol, value: Value)

source

fn set_block_height(&mut self, block_height: u32)

source

pub fn whole_step(&mut self) -> Result<StepResult>

Execute the whole step of the current Element.

+

That is, perform a step, and then finish all statements and expressions that have been pushed, +until we’re ready for the next step of the current Element (if there is one).

+
source

pub fn over(&mut self) -> Result<StepResult>

Step over the current Element.

+

That is, continue executing until the current Element is finished.

+
source

pub fn step_block( + &mut self, + block: &'a Block, + function_body: bool, + step: usize, +) -> bool

source

fn step_statement( + &mut self, + statement: &'a Statement, + step: usize, +) -> Result<bool>

source

fn step_expression( + &mut self, + expression: &'a Expression, + step: usize, +) -> Result<bool>

source

pub fn step(&mut self) -> Result<StepResult>

Execute one step of the current element.

+

Many Leo constructs require multiple steps. For instance, when executing a conditional, +the first step will push the condition expression to the stack. Once that has executed +and we’ve returned to the conditional, we push the then or otherwise block to the +stack. Once that has executed and we’ve returned to the conditional, the final step +does nothing.

+
source

pub fn do_call( + &mut self, + function_program: Symbol, + function_name: Symbol, + arguments: impl Iterator<Item = Value>, + finalize: bool, + span: Span, +) -> Result<()>

source

pub fn evaluate_core_function( + &mut self, + core_function: CoreFunction, + arguments: &[Expression], + span: Span, +) -> Result<Value>

source§

impl Cursor<'_>

source

fn mapping_by_call_operator( + &self, + operator: &CallOperator<TestnetV0>, +) -> Option<&HashMap<Value, Value>>

source

fn get_register(&self, reg: &Register<TestnetV0>) -> &Value

source

fn set_register(&mut self, reg: Register<TestnetV0>, value: Value)

source

fn instructions_len(&self) -> usize

source

fn increment_instruction_index(&mut self)

source

fn execution_complete(&self) -> bool

source

fn next_instruction(&self) -> Option<&Instruction<TestnetV0>>

source

fn next_command(&self) -> Option<&Command<TestnetV0>>

source

fn operand_value(&self, operand: &Operand<TestnetV0>) -> Value

source

fn step_aleo_instruction( + &mut self, + instruction: Instruction<TestnetV0>, +) -> Result<()>

source

fn outputs(&self) -> Vec<Value>

source

fn step_aleo_command(&mut self, command: Command<TestnetV0>) -> Result<()>

source

fn branch(&mut self, label: &Identifier<TestnetV0>)

source

pub fn step_aleo(&mut self) -> Result<()>

Trait Implementations§

source§

impl<'a> Clone for Cursor<'a>

source§

fn clone(&self) -> Cursor<'a>

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

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

Performs copy-assignment from source. Read more
source§

impl<'a> Debug for Cursor<'a>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Cursor<'a>

§

impl<'a> !RefUnwindSafe for Cursor<'a>

§

impl<'a> !Send for Cursor<'a>

§

impl<'a> !Sync for Cursor<'a>

§

impl<'a> Unpin for Cursor<'a>

§

impl<'a> !UnwindSafe for Cursor<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where + T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where + T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_interpreter/cursor/struct.Frame.html b/leo_interpreter/cursor/struct.Frame.html new file mode 100644 index 0000000000..0b459b0c6d --- /dev/null +++ b/leo_interpreter/cursor/struct.Frame.html @@ -0,0 +1,32 @@ +Frame in leo_interpreter::cursor - Rust
leo_interpreter::cursor

Struct Frame

source
pub struct Frame<'a> {
+    pub step: usize,
+    pub element: Element<'a>,
+    pub user_initiated: bool,
+}
Expand description

A frame of execution, keeping track of the Element next to +be executed and the number of steps we’ve done so far.

+

Fields§

§step: usize§element: Element<'a>§user_initiated: bool

Trait Implementations§

source§

impl<'a> Clone for Frame<'a>

source§

fn clone(&self) -> Frame<'a>

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

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

Performs copy-assignment from source. Read more
source§

impl<'a> Debug for Frame<'a>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Frame<'a>

§

impl<'a> !RefUnwindSafe for Frame<'a>

§

impl<'a> !Send for Frame<'a>

§

impl<'a> !Sync for Frame<'a>

§

impl<'a> Unpin for Frame<'a>

§

impl<'a> !UnwindSafe for Frame<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where + T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where + T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_interpreter/cursor/struct.FunctionContext.html b/leo_interpreter/cursor/struct.FunctionContext.html new file mode 100644 index 0000000000..3d1363c1e9 --- /dev/null +++ b/leo_interpreter/cursor/struct.FunctionContext.html @@ -0,0 +1,33 @@ +FunctionContext in leo_interpreter::cursor - Rust
leo_interpreter::cursor

Struct FunctionContext

source
pub struct FunctionContext {
+    program: Symbol,
+    pub caller: Address<TestnetV0>,
+    names: HashMap<Symbol, Value>,
+    accumulated_futures: Future,
+    is_async: bool,
+}
Expand description

Names associated to values in a function being executed.

+

Fields§

§program: Symbol§caller: Address<TestnetV0>§names: HashMap<Symbol, Value>§accumulated_futures: Future§is_async: bool

Trait Implementations§

source§

impl Clone for FunctionContext

source§

fn clone(&self) -> FunctionContext

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for FunctionContext

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where + T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where + T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_interpreter/cursor/struct.GlobalId.html b/leo_interpreter/cursor/struct.GlobalId.html new file mode 100644 index 0000000000..040609c474 --- /dev/null +++ b/leo_interpreter/cursor/struct.GlobalId.html @@ -0,0 +1,46 @@ +GlobalId in leo_interpreter::cursor - Rust
leo_interpreter::cursor

Struct GlobalId

source
pub struct GlobalId {
+    pub program: Symbol,
+    pub name: Symbol,
+}
Expand description

Global values - such as mappings, functions, etc - +are identified by program and name.

+

Fields§

§program: Symbol§name: Symbol

Trait Implementations§

source§

impl Clone for GlobalId

source§

fn clone(&self) -> GlobalId

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for GlobalId

source§

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

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

impl Display for GlobalId

source§

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

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

impl Hash for GlobalId

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where + H: Hasher, + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for GlobalId

source§

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

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

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

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

impl Copy for GlobalId

source§

impl Eq for GlobalId

source§

impl StructuralPartialEq for GlobalId

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where + T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
§

impl<Q, K> Equivalent<K> for Q
where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
§

impl<T> ToCompactString for T
where + T: Display,

§

fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>

Fallible version of [ToCompactString::to_compact_string()] Read more
§

fn to_compact_string(&self) -> CompactString

Converts the given value to a [CompactString]. Read more
§

impl<T> ToLine for T
where + T: Display,

§

fn to_line(&self) -> Line<'_>

Converts the value to a [Line].
source§

impl<T> ToOwned for T
where + T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> ToSmolStr for T
where + T: Display + ?Sized,

§

fn to_smolstr(&self) -> SmolStr

§

impl<T> ToSpan for T
where + T: Display,

§

fn to_span(&self) -> Span<'_>

Converts the value to a [Span].
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
§

impl<T> ToText for T
where + T: Display,

§

fn to_text(&self) -> Text<'_>

Converts the value to a [Text].
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_interpreter/cursor/struct.StepResult.html b/leo_interpreter/cursor/struct.StepResult.html new file mode 100644 index 0000000000..529d1f190c --- /dev/null +++ b/leo_interpreter/cursor/struct.StepResult.html @@ -0,0 +1,31 @@ +StepResult in leo_interpreter::cursor - Rust
leo_interpreter::cursor

Struct StepResult

source
pub struct StepResult {
+    pub finished: bool,
+    pub value: Option<Value>,
+}

Fields§

§finished: bool

Has this element completely finished running?

+
§value: Option<Value>

If the element was an expression, here’s its value.

+

Trait Implementations§

source§

impl Clone for StepResult

source§

fn clone(&self) -> StepResult

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for StepResult

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where + T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where + T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_interpreter/cursor/type.Closure.html b/leo_interpreter/cursor/type.Closure.html new file mode 100644 index 0000000000..0b7b3a17e4 --- /dev/null +++ b/leo_interpreter/cursor/type.Closure.html @@ -0,0 +1 @@ +Closure in leo_interpreter::cursor - Rust
leo_interpreter::cursor

Type Alias Closure

source
pub type Closure = Closure<TestnetV0>;

Aliased Type§

struct Closure { /* private fields */ }
\ No newline at end of file diff --git a/leo_interpreter/cursor/type.Finalize.html b/leo_interpreter/cursor/type.Finalize.html new file mode 100644 index 0000000000..8afcfdaace --- /dev/null +++ b/leo_interpreter/cursor/type.Finalize.html @@ -0,0 +1 @@ +Finalize in leo_interpreter::cursor - Rust
leo_interpreter::cursor

Type Alias Finalize

source
pub type Finalize = Finalize<TestnetV0>;

Aliased Type§

struct Finalize { /* private fields */ }
\ No newline at end of file diff --git a/leo_interpreter/cursor/type.SvmFunction.html b/leo_interpreter/cursor/type.SvmFunction.html new file mode 100644 index 0000000000..6b22066b10 --- /dev/null +++ b/leo_interpreter/cursor/type.SvmFunction.html @@ -0,0 +1 @@ +SvmFunction in leo_interpreter::cursor - Rust
leo_interpreter::cursor

Type Alias SvmFunction

source
pub type SvmFunction = Function<TestnetV0>;

Aliased Type§

struct SvmFunction { /* private fields */ }
\ No newline at end of file diff --git a/leo_interpreter/cursor_aleo/fn.snarkvm_literal_to_value.html b/leo_interpreter/cursor_aleo/fn.snarkvm_literal_to_value.html new file mode 100644 index 0000000000..67a8cac936 --- /dev/null +++ b/leo_interpreter/cursor_aleo/fn.snarkvm_literal_to_value.html @@ -0,0 +1 @@ +snarkvm_literal_to_value in leo_interpreter::cursor_aleo - Rust
leo_interpreter::cursor_aleo

Function snarkvm_literal_to_value

source
fn snarkvm_literal_to_value(literal: Literal<TestnetV0>) -> Value
\ No newline at end of file diff --git a/leo_interpreter/cursor_aleo/fn.snarkvm_literal_type_to_type.html b/leo_interpreter/cursor_aleo/fn.snarkvm_literal_type_to_type.html new file mode 100644 index 0000000000..8efc37a17d --- /dev/null +++ b/leo_interpreter/cursor_aleo/fn.snarkvm_literal_type_to_type.html @@ -0,0 +1 @@ +snarkvm_literal_type_to_type in leo_interpreter::cursor_aleo - Rust
leo_interpreter::cursor_aleo

Function snarkvm_literal_type_to_type

source
fn snarkvm_literal_type_to_type(snarkvm_type: LiteralType) -> Type
\ No newline at end of file diff --git a/leo_interpreter/cursor_aleo/fn.value_to_snarkvm_literal.html b/leo_interpreter/cursor_aleo/fn.value_to_snarkvm_literal.html new file mode 100644 index 0000000000..60a4a317e9 --- /dev/null +++ b/leo_interpreter/cursor_aleo/fn.value_to_snarkvm_literal.html @@ -0,0 +1 @@ +value_to_snarkvm_literal in leo_interpreter::cursor_aleo - Rust
leo_interpreter::cursor_aleo

Function value_to_snarkvm_literal

source
fn value_to_snarkvm_literal(value: Value) -> Literal<TestnetV0>
\ No newline at end of file diff --git a/leo_interpreter/cursor_aleo/index.html b/leo_interpreter/cursor_aleo/index.html new file mode 100644 index 0000000000..c37709db97 --- /dev/null +++ b/leo_interpreter/cursor_aleo/index.html @@ -0,0 +1 @@ +leo_interpreter::cursor_aleo - Rust
\ No newline at end of file diff --git a/leo_interpreter/cursor_aleo/sidebar-items.js b/leo_interpreter/cursor_aleo/sidebar-items.js new file mode 100644 index 0000000000..5557221939 --- /dev/null +++ b/leo_interpreter/cursor_aleo/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"fn":["snarkvm_literal_to_value","snarkvm_literal_type_to_type","value_to_snarkvm_literal"]}; \ No newline at end of file diff --git a/leo_interpreter/dialoguer_input/index.html b/leo_interpreter/dialoguer_input/index.html new file mode 100644 index 0000000000..23d1d8668e --- /dev/null +++ b/leo_interpreter/dialoguer_input/index.html @@ -0,0 +1 @@ +leo_interpreter::dialoguer_input - Rust
leo_interpreter

Module dialoguer_input

source

Structs§

\ No newline at end of file diff --git a/leo_interpreter/dialoguer_input/sidebar-items.js b/leo_interpreter/dialoguer_input/sidebar-items.js new file mode 100644 index 0000000000..47b1174bbe --- /dev/null +++ b/leo_interpreter/dialoguer_input/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"struct":["DialoguerUi"]}; \ No newline at end of file diff --git a/leo_interpreter/dialoguer_input/struct.DialoguerUi.html b/leo_interpreter/dialoguer_input/struct.DialoguerUi.html new file mode 100644 index 0000000000..6019e96a3e --- /dev/null +++ b/leo_interpreter/dialoguer_input/struct.DialoguerUi.html @@ -0,0 +1,26 @@ +DialoguerUi in leo_interpreter::dialoguer_input - Rust
leo_interpreter::dialoguer_input

Struct DialoguerUi

source
pub struct DialoguerUi {
+    history: BasicHistory,
+}

Fields§

§history: BasicHistory

Implementations§

source§

impl DialoguerUi

source

pub fn new() -> Self

Trait Implementations§

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_interpreter/fn.interpret.html b/leo_interpreter/fn.interpret.html new file mode 100644 index 0000000000..8ccac64b54 --- /dev/null +++ b/leo_interpreter/fn.interpret.html @@ -0,0 +1,9 @@ +interpret in leo_interpreter - Rust
leo_interpreter

Function interpret

source
pub fn interpret(
+    leo_filenames: &[PathBuf],
+    aleo_filenames: &[PathBuf],
+    signer: Address<TestnetV0>,
+    block_height: u32,
+    tui: bool,
+) -> Result<()>
Expand description

Load all the Leo source files indicated and open the interpreter +to commands from the user.

+
\ No newline at end of file diff --git a/leo_interpreter/fn.parse_breakpoint.html b/leo_interpreter/fn.parse_breakpoint.html new file mode 100644 index 0000000000..9eefd706da --- /dev/null +++ b/leo_interpreter/fn.parse_breakpoint.html @@ -0,0 +1 @@ +parse_breakpoint in leo_interpreter - Rust
leo_interpreter

Function parse_breakpoint

source
pub(crate) fn parse_breakpoint(s: &str) -> Option<Breakpoint>
\ No newline at end of file diff --git a/leo_interpreter/fn.tokenize_user_input.html b/leo_interpreter/fn.tokenize_user_input.html new file mode 100644 index 0000000000..b4951ad9cf --- /dev/null +++ b/leo_interpreter/fn.tokenize_user_input.html @@ -0,0 +1 @@ +tokenize_user_input in leo_interpreter - Rust
leo_interpreter

Function tokenize_user_input

source
pub(crate) fn tokenize_user_input(input: &str) -> (&str, &str)
\ No newline at end of file diff --git a/leo_interpreter/index.html b/leo_interpreter/index.html new file mode 100644 index 0000000000..f56e3c371f --- /dev/null +++ b/leo_interpreter/index.html @@ -0,0 +1,2 @@ +leo_interpreter - Rust

Crate leo_interpreter

source

Modules§

Macros§

Constants§

Functions§

\ No newline at end of file diff --git a/leo_interpreter/interpreter/enum.InterpreterAction.html b/leo_interpreter/interpreter/enum.InterpreterAction.html new file mode 100644 index 0000000000..3a1e85a688 --- /dev/null +++ b/leo_interpreter/interpreter/enum.InterpreterAction.html @@ -0,0 +1,37 @@ +InterpreterAction in leo_interpreter::interpreter - Rust
leo_interpreter::interpreter

Enum InterpreterAction

source
pub enum InterpreterAction {
+    LeoInterpretInto(String),
+    LeoInterpretOver(String),
+    Watch(String),
+    RunFuture(usize),
+    Breakpoint(Breakpoint),
+    PrintRegister(u64),
+    Into,
+    Over,
+    Step,
+    Run,
+}

Variants§

§

LeoInterpretInto(String)

§

LeoInterpretOver(String)

§

Watch(String)

§

RunFuture(usize)

§

Breakpoint(Breakpoint)

§

PrintRegister(u64)

§

Into

§

Over

§

Step

§

Run

Trait Implementations§

source§

impl Clone for InterpreterAction

source§

fn clone(&self) -> InterpreterAction

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for InterpreterAction

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where + T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where + T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_interpreter/interpreter/index.html b/leo_interpreter/interpreter/index.html new file mode 100644 index 0000000000..7abd709c0e --- /dev/null +++ b/leo_interpreter/interpreter/index.html @@ -0,0 +1,3 @@ +leo_interpreter::interpreter - Rust
leo_interpreter

Module interpreter

source

Structs§

  • Contains the state of interpretation, in the form of the Cursor, +as well as information needed to interact with the user, like +the breakpoints.

Enums§

\ No newline at end of file diff --git a/leo_interpreter/interpreter/sidebar-items.js b/leo_interpreter/interpreter/sidebar-items.js new file mode 100644 index 0000000000..9e16bbf485 --- /dev/null +++ b/leo_interpreter/interpreter/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"enum":["InterpreterAction"],"struct":["Breakpoint","Interpreter","Watchpoint"]}; \ No newline at end of file diff --git a/leo_interpreter/interpreter/struct.Breakpoint.html b/leo_interpreter/interpreter/struct.Breakpoint.html new file mode 100644 index 0000000000..b17d36a07e --- /dev/null +++ b/leo_interpreter/interpreter/struct.Breakpoint.html @@ -0,0 +1,29 @@ +Breakpoint in leo_interpreter::interpreter - Rust
leo_interpreter::interpreter

Struct Breakpoint

source
pub struct Breakpoint {
+    pub program: String,
+    pub line: usize,
+}

Fields§

§program: String§line: usize

Trait Implementations§

source§

impl Clone for Breakpoint

source§

fn clone(&self) -> Breakpoint

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Breakpoint

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where + T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where + T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_interpreter/interpreter/struct.Interpreter.html b/leo_interpreter/interpreter/struct.Interpreter.html new file mode 100644 index 0000000000..07f280c961 --- /dev/null +++ b/leo_interpreter/interpreter/struct.Interpreter.html @@ -0,0 +1,53 @@ +Interpreter in leo_interpreter::interpreter - Rust
leo_interpreter::interpreter

Struct Interpreter

source
pub struct Interpreter {
+    pub cursor: Cursor<'static>,
+    actions: Vec<InterpreterAction>,
+    handler: Handler,
+    node_builder: NodeBuilder,
+    breakpoints: Vec<Breakpoint>,
+    pub watchpoints: Vec<Watchpoint>,
+    saved_cursors: Vec<Cursor<'static>>,
+    filename_to_program: HashMap<PathBuf, String>,
+    parsed_inputs: u32,
+}
Expand description

Contains the state of interpretation, in the form of the Cursor, +as well as information needed to interact with the user, like +the breakpoints.

+

Fields§

§cursor: Cursor<'static>§actions: Vec<InterpreterAction>§handler: Handler§node_builder: NodeBuilder§breakpoints: Vec<Breakpoint>§watchpoints: Vec<Watchpoint>§saved_cursors: Vec<Cursor<'static>>§filename_to_program: HashMap<PathBuf, String>§parsed_inputs: u32

Implementations§

source§

impl Interpreter

source

pub fn new<'a, P: 'a + AsRef<Path>, Q: 'a + AsRef<Path>>( + leo_source_files: impl IntoIterator<Item = &'a P>, + aleo_source_files: impl IntoIterator<Item = &'a Q>, + signer: Address<TestnetV0>, + block_height: u32, +) -> Result<Self>

source

fn get_ast( + path: &Path, + handler: &Handler, + node_builder: &NodeBuilder, +) -> Result<Ast>

source

fn new_impl( + leo_source_files: &mut dyn Iterator<Item = &Path>, + aleo_source_files: &mut dyn Iterator<Item = &Path>, + signer: Address<TestnetV0>, + block_height: u32, +) -> Result<Self>

source

pub fn save_cursor(&mut self)

source

pub fn restore_cursor(&mut self) -> bool

Returns false if there was no saved cursor to restore.

+
source

fn get_aleo_program(path: &Path) -> Result<Program<TestnetV0>>

source

pub fn update_watchpoints(&mut self) -> Result<bool>

Returns true if any watchpoints changed.

+
source

pub fn action(&mut self, act: InterpreterAction) -> Result<Option<Value>>

source

pub fn view_current(&self) -> Option<impl Display>

source

pub fn view_current_in_context(&self) -> Option<(impl Display, usize, usize)>

source

fn current_program_and_line(&self) -> Option<(String, usize)>

source

fn current_span(&self) -> Option<Span>

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_interpreter/interpreter/struct.Watchpoint.html b/leo_interpreter/interpreter/struct.Watchpoint.html new file mode 100644 index 0000000000..858c2ddd49 --- /dev/null +++ b/leo_interpreter/interpreter/struct.Watchpoint.html @@ -0,0 +1,29 @@ +Watchpoint in leo_interpreter::interpreter - Rust
leo_interpreter::interpreter

Struct Watchpoint

source
pub struct Watchpoint {
+    pub code: String,
+    pub last_result: Option<String>,
+}

Fields§

§code: String§last_result: Option<String>

Trait Implementations§

source§

impl Clone for Watchpoint

source§

fn clone(&self) -> Watchpoint

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Watchpoint

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where + T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where + T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_interpreter/macro.halt!.html b/leo_interpreter/macro.halt!.html new file mode 100644 index 0000000000..1589c33d94 --- /dev/null +++ b/leo_interpreter/macro.halt!.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to macro.halt.html...

+ + + \ No newline at end of file diff --git a/leo_interpreter/macro.halt.html b/leo_interpreter/macro.halt.html new file mode 100644 index 0000000000..a1760e2261 --- /dev/null +++ b/leo_interpreter/macro.halt.html @@ -0,0 +1,4 @@ +halt in leo_interpreter - Rust
leo_interpreter

Macro halt

source
macro_rules! halt {
+    ($span: expr) => { ... };
+    ($span: expr, $($x:tt)*) => { ... };
+}
\ No newline at end of file diff --git a/leo_interpreter/macro.halt_no_span!.html b/leo_interpreter/macro.halt_no_span!.html new file mode 100644 index 0000000000..1c8432f5e0 --- /dev/null +++ b/leo_interpreter/macro.halt_no_span!.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to macro.halt_no_span.html...

+ + + \ No newline at end of file diff --git a/leo_interpreter/macro.halt_no_span.html b/leo_interpreter/macro.halt_no_span.html new file mode 100644 index 0000000000..4d5a16cdfb --- /dev/null +++ b/leo_interpreter/macro.halt_no_span.html @@ -0,0 +1,3 @@ +halt_no_span in leo_interpreter - Rust
leo_interpreter

Macro halt_no_span

source
macro_rules! halt_no_span {
+    ($($x:tt)*) => { ... };
+}
\ No newline at end of file diff --git a/leo_interpreter/macro.tc_fail!.html b/leo_interpreter/macro.tc_fail!.html new file mode 100644 index 0000000000..eb752bdffa --- /dev/null +++ b/leo_interpreter/macro.tc_fail!.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to macro.tc_fail.html...

+ + + \ No newline at end of file diff --git a/leo_interpreter/macro.tc_fail.html b/leo_interpreter/macro.tc_fail.html new file mode 100644 index 0000000000..7c5547eea0 --- /dev/null +++ b/leo_interpreter/macro.tc_fail.html @@ -0,0 +1,3 @@ +tc_fail in leo_interpreter - Rust
leo_interpreter

Macro tc_fail

source
macro_rules! tc_fail {
+    () => { ... };
+}
\ No newline at end of file diff --git a/leo_interpreter/ratatui_ui/fn.append_lines.html b/leo_interpreter/ratatui_ui/fn.append_lines.html new file mode 100644 index 0000000000..8f24fbfd18 --- /dev/null +++ b/leo_interpreter/ratatui_ui/fn.append_lines.html @@ -0,0 +1,6 @@ +append_lines in leo_interpreter::ratatui_ui - Rust
leo_interpreter::ratatui_ui

Function append_lines

source
fn append_lines<'a>(
+    lines: &mut Vec<Line<'a>>,
+    last_chunk: Option<Line<'a>>,
+    string: &'a str,
+    style: Style,
+) -> Option<Line<'a>>
\ No newline at end of file diff --git a/leo_interpreter/ratatui_ui/fn.code_text.html b/leo_interpreter/ratatui_ui/fn.code_text.html new file mode 100644 index 0000000000..26f0f46ba3 --- /dev/null +++ b/leo_interpreter/ratatui_ui/fn.code_text.html @@ -0,0 +1 @@ +code_text in leo_interpreter::ratatui_ui - Rust
leo_interpreter::ratatui_ui

Function code_text

source
fn code_text(s: &str, highlight: Option<(usize, usize)>) -> (Text<'_>, usize)
\ No newline at end of file diff --git a/leo_interpreter/ratatui_ui/fn.render_titled.html b/leo_interpreter/ratatui_ui/fn.render_titled.html new file mode 100644 index 0000000000..a130b15aee --- /dev/null +++ b/leo_interpreter/ratatui_ui/fn.render_titled.html @@ -0,0 +1,6 @@ +render_titled in leo_interpreter::ratatui_ui - Rust
leo_interpreter::ratatui_ui

Function render_titled

source
fn render_titled<W: Widget>(
+    frame: &mut Frame<'_>,
+    widget: W,
+    title: &str,
+    area: Rect,
+)
\ No newline at end of file diff --git a/leo_interpreter/ratatui_ui/index.html b/leo_interpreter/ratatui_ui/index.html new file mode 100644 index 0000000000..843496aa32 --- /dev/null +++ b/leo_interpreter/ratatui_ui/index.html @@ -0,0 +1 @@ +leo_interpreter::ratatui_ui - Rust
leo_interpreter

Module ratatui_ui

source

Structs§

Functions§

\ No newline at end of file diff --git a/leo_interpreter/ratatui_ui/sidebar-items.js b/leo_interpreter/ratatui_ui/sidebar-items.js new file mode 100644 index 0000000000..1f54d8a22c --- /dev/null +++ b/leo_interpreter/ratatui_ui/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"fn":["append_lines","code_text","render_titled"],"struct":["DebuggerLayout","DrawData","Prompt","RatatuiUi"]}; \ No newline at end of file diff --git a/leo_interpreter/ratatui_ui/struct.DebuggerLayout.html b/leo_interpreter/ratatui_ui/struct.DebuggerLayout.html new file mode 100644 index 0000000000..fa8ad9f5e5 --- /dev/null +++ b/leo_interpreter/ratatui_ui/struct.DebuggerLayout.html @@ -0,0 +1,30 @@ +DebuggerLayout in leo_interpreter::ratatui_ui - Rust
leo_interpreter::ratatui_ui

Struct DebuggerLayout

source
struct DebuggerLayout {
+    code: Rect,
+    result: Rect,
+    watchpoints: Rect,
+    user_input: Rect,
+    message: Rect,
+}

Fields§

§code: Rect§result: Rect§watchpoints: Rect§user_input: Rect§message: Rect

Implementations§

source§

impl DebuggerLayout

source

fn new(total: Rect) -> Self

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_interpreter/ratatui_ui/struct.DrawData.html b/leo_interpreter/ratatui_ui/struct.DrawData.html new file mode 100644 index 0000000000..4c6651f1ce --- /dev/null +++ b/leo_interpreter/ratatui_ui/struct.DrawData.html @@ -0,0 +1,31 @@ +DrawData in leo_interpreter::ratatui_ui - Rust
leo_interpreter::ratatui_ui

Struct DrawData

source
struct DrawData {
+    code: String,
+    highlight: Option<(usize, usize)>,
+    result: String,
+    watchpoints: Vec<String>,
+    message: String,
+    prompt: Prompt,
+}

Fields§

§code: String§highlight: Option<(usize, usize)>§result: String§watchpoints: Vec<String>§message: String§prompt: Prompt

Implementations§

source§

impl DrawData

source

fn draw(&mut self, frame: &mut Frame<'_>)

Trait Implementations§

source§

impl Default for DrawData

source§

fn default() -> DrawData

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_interpreter/ratatui_ui/struct.Prompt.html b/leo_interpreter/ratatui_ui/struct.Prompt.html new file mode 100644 index 0000000000..f154e9337f --- /dev/null +++ b/leo_interpreter/ratatui_ui/struct.Prompt.html @@ -0,0 +1,30 @@ +Prompt in leo_interpreter::ratatui_ui - Rust
leo_interpreter::ratatui_ui

Struct Prompt

source
struct Prompt {
+    history: VecDeque<String>,
+    history_index: usize,
+    current: String,
+    cursor: usize,
+}

Fields§

§history: VecDeque<String>§history_index: usize§current: String§cursor: usize

Implementations§

source§

impl Prompt

source

fn handle_key(&mut self, key: KeyCode, control: bool) -> Option<String>

source

fn new_character(&mut self, c: char)

source

fn right(&mut self)

source

fn left(&mut self)

source

fn backspace(&mut self)

source

fn delete(&mut self)

source

fn beginning_of_line(&mut self)

source

fn end_of_line(&mut self)

source

fn history_next(&mut self)

source

fn history_prev(&mut self)

source

fn check_history(&mut self)

Trait Implementations§

source§

impl Debug for Prompt

source§

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

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

impl Default for Prompt

source§

fn default() -> Prompt

Returns the “default value” for a type. Read more
source§

impl<'a> Widget for &'a Prompt

source§

fn render(self, area: Rect, buf: &mut Buffer)

Draws the current state of the widget in the given buffer. That is the only method required +to implement a custom widget.

Auto Trait Implementations§

§

impl Freeze for Prompt

§

impl RefUnwindSafe for Prompt

§

impl Send for Prompt

§

impl Sync for Prompt

§

impl Unpin for Prompt

§

impl UnwindSafe for Prompt

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_interpreter/ratatui_ui/struct.RatatuiUi.html b/leo_interpreter/ratatui_ui/struct.RatatuiUi.html new file mode 100644 index 0000000000..0d21017e9d --- /dev/null +++ b/leo_interpreter/ratatui_ui/struct.RatatuiUi.html @@ -0,0 +1,27 @@ +RatatuiUi in leo_interpreter::ratatui_ui - Rust
leo_interpreter::ratatui_ui

Struct RatatuiUi

source
pub struct RatatuiUi {
+    terminal: Terminal<CrosstermBackend<Stdout>>,
+    data: DrawData,
+}

Fields§

§terminal: Terminal<CrosstermBackend<Stdout>>§data: DrawData

Implementations§

source§

impl RatatuiUi

source

pub fn new() -> Self

Trait Implementations§

source§

impl Drop for RatatuiUi

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl Ui for RatatuiUi

source§

fn display_user_data(&mut self, data: &UserData<'_>)

source§

fn receive_user_input(&mut self) -> String

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_interpreter/sidebar-items.js b/leo_interpreter/sidebar-items.js new file mode 100644 index 0000000000..12636da726 --- /dev/null +++ b/leo_interpreter/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"constant":["HELP","INTRO"],"fn":["interpret","parse_breakpoint","tokenize_user_input"],"macro":["halt","halt_no_span","tc_fail"],"mod":["cursor","cursor_aleo","dialoguer_input","interpreter","ratatui_ui","ui","util","value"]}; \ No newline at end of file diff --git a/leo_interpreter/ui/index.html b/leo_interpreter/ui/index.html new file mode 100644 index 0000000000..6a98be56ae --- /dev/null +++ b/leo_interpreter/ui/index.html @@ -0,0 +1 @@ +leo_interpreter::ui - Rust
leo_interpreter

Module ui

source

Structs§

Traits§

\ No newline at end of file diff --git a/leo_interpreter/ui/sidebar-items.js b/leo_interpreter/ui/sidebar-items.js new file mode 100644 index 0000000000..43929b56e9 --- /dev/null +++ b/leo_interpreter/ui/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"struct":["UserData"],"trait":["Ui"]}; \ No newline at end of file diff --git a/leo_interpreter/ui/struct.UserData.html b/leo_interpreter/ui/struct.UserData.html new file mode 100644 index 0000000000..af65d37319 --- /dev/null +++ b/leo_interpreter/ui/struct.UserData.html @@ -0,0 +1,31 @@ +UserData in leo_interpreter::ui - Rust
leo_interpreter::ui

Struct UserData

source
pub struct UserData<'a> {
+    pub code: &'a str,
+    pub highlight: Option<(usize, usize)>,
+    pub message: &'a str,
+    pub futures: &'a [String],
+    pub watchpoints: &'a [String],
+    pub result: Option<&'a str>,
+}

Fields§

§code: &'a str§highlight: Option<(usize, usize)>§message: &'a str§futures: &'a [String]§watchpoints: &'a [String]§result: Option<&'a str>

Auto Trait Implementations§

§

impl<'a> Freeze for UserData<'a>

§

impl<'a> RefUnwindSafe for UserData<'a>

§

impl<'a> Send for UserData<'a>

§

impl<'a> Sync for UserData<'a>

§

impl<'a> Unpin for UserData<'a>

§

impl<'a> UnwindSafe for UserData<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_interpreter/ui/trait.Ui.html b/leo_interpreter/ui/trait.Ui.html new file mode 100644 index 0000000000..80b335b7b8 --- /dev/null +++ b/leo_interpreter/ui/trait.Ui.html @@ -0,0 +1,5 @@ +Ui in leo_interpreter::ui - Rust
leo_interpreter::ui

Trait Ui

source
pub trait Ui {
+    // Required methods
+    fn display_user_data(&mut self, data: &UserData<'_>);
+    fn receive_user_input(&mut self) -> String;
+}

Required Methods§

source

fn display_user_data(&mut self, data: &UserData<'_>)

source

fn receive_user_input(&mut self) -> String

Implementors§

\ No newline at end of file diff --git a/leo_interpreter/util/fn.snarkvm_identifier_to_symbol.html b/leo_interpreter/util/fn.snarkvm_identifier_to_symbol.html new file mode 100644 index 0000000000..6580f086d2 --- /dev/null +++ b/leo_interpreter/util/fn.snarkvm_identifier_to_symbol.html @@ -0,0 +1 @@ +snarkvm_identifier_to_symbol in leo_interpreter::util - Rust
leo_interpreter::util

Function snarkvm_identifier_to_symbol

source
pub fn snarkvm_identifier_to_symbol(id: &Identifier<TestnetV0>) -> Symbol
\ No newline at end of file diff --git a/leo_interpreter/util/index.html b/leo_interpreter/util/index.html new file mode 100644 index 0000000000..af7018f12c --- /dev/null +++ b/leo_interpreter/util/index.html @@ -0,0 +1 @@ +leo_interpreter::util - Rust
leo_interpreter

Module util

source

Traits§

Functions§

\ No newline at end of file diff --git a/leo_interpreter/util/sidebar-items.js b/leo_interpreter/util/sidebar-items.js new file mode 100644 index 0000000000..cbd6f7d686 --- /dev/null +++ b/leo_interpreter/util/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"fn":["snarkvm_identifier_to_symbol"],"trait":["ExpectTc"]}; \ No newline at end of file diff --git a/leo_interpreter/util/trait.ExpectTc.html b/leo_interpreter/util/trait.ExpectTc.html new file mode 100644 index 0000000000..555aace5fc --- /dev/null +++ b/leo_interpreter/util/trait.ExpectTc.html @@ -0,0 +1,6 @@ +ExpectTc in leo_interpreter::util - Rust
leo_interpreter::util

Trait ExpectTc

source
pub trait ExpectTc {
+    type T;
+
+    // Required method
+    fn expect_tc(self, span: Span) -> Result<Self::T>;
+}

Required Associated Types§

source

type T

Required Methods§

source

fn expect_tc(self, span: Span) -> Result<Self::T>

Implementations on Foreign Types§

source§

impl<T> ExpectTc for Option<T>

source§

type T = T

source§

fn expect_tc(self, span: Span) -> Result<Self::T>

source§

impl<T, U: Debug> ExpectTc for Result<T, U>

source§

type T = T

source§

fn expect_tc(self, span: Span) -> Result<Self::T>

Implementors§

\ No newline at end of file diff --git a/leo_interpreter/value/enum.Value.html b/leo_interpreter/value/enum.Value.html new file mode 100644 index 0000000000..af735501e5 --- /dev/null +++ b/leo_interpreter/value/enum.Value.html @@ -0,0 +1,72 @@ +Value in leo_interpreter::value - Rust
leo_interpreter::value

Enum Value

source
pub enum Value {
+
Show 20 variants Unit, + Bool(bool), + U8(u8), + U16(u16), + U32(u32), + U64(u64), + U128(u128), + I8(i8), + I16(i16), + I32(i32), + I64(i64), + I128(i128), + Group(Group<TestnetV0>), + Field(Field<TestnetV0>), + Scalar(Scalar<TestnetV0>), + Array(Vec<Value>), + Tuple(Vec<Value>), + Address(Address<TestnetV0>), + Future(Future), + Struct(StructContents), +
}
Expand description

A Leo value of any type.

+

Mappings and functions aren’t considered values.

+

Variants§

§

Unit

§

Bool(bool)

§

U8(u8)

§

U16(u16)

§

U32(u32)

§

U64(u64)

§

U128(u128)

§

I8(i8)

§

I16(i16)

§

I32(i32)

§

I64(i64)

§

I128(i128)

§

Group(Group<TestnetV0>)

§

Field(Field<TestnetV0>)

§

Scalar(Scalar<TestnetV0>)

§

Array(Vec<Value>)

§

Tuple(Vec<Value>)

§

Address(Address<TestnetV0>)

§

Future(Future)

§

Struct(StructContents)

Implementations§

source§

impl Value

source

pub fn to_fields(&self) -> Vec<Field<TestnetV0>>

source

pub fn gte(&self, rhs: &Self) -> Result<bool>

source

pub fn lte(&self, rhs: &Self) -> Result<bool>

source

pub fn lt(&self, rhs: &Self) -> Result<bool>

source

pub fn gt(&self, rhs: &Self) -> Result<bool>

source

pub fn neq(&self, rhs: &Self) -> Result<bool>

source

pub fn eq(&self, rhs: &Self) -> Result<bool>

Are the values equal, according to SnarkVM?

+

We use this rather than the Eq trait so we can +fail when comparing values of different types, +rather than just returning false.

+
source

pub fn inc_wrapping(&self) -> Self

source

pub fn generator() -> Self

Return the group generator.

+
source

pub fn simple_shl(&self, shift: u32) -> Self

Doesn’t correspond to Aleo’s shl, because it +does not fail when set bits are shifted out.

+
source

pub fn simple_shr(&self, shift: u32) -> Self

source

pub fn cast(self, cast_type: &Type) -> Option<Value>

Convert to the given type if possible under Aleo casting rules.

+

Trait Implementations§

source§

impl Clone for Value

source§

fn clone(&self) -> Value

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Value

source§

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

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

impl Default for Value

source§

fn default() -> Value

Returns the “default value” for a type. Read more
source§

impl Display for Value

source§

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

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

impl Hash for Value

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where + H: Hasher, + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for Value

source§

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

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

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

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

impl ToBits for Value

source§

fn write_bits_le(&self, vec: &mut Vec<bool>)

Writes self into the given vector as a boolean array in little-endian order.
source§

fn write_bits_be(&self, _vec: &mut Vec<bool>)

Writes self into the given vector as a boolean array in big-endian order.
§

fn to_bits_le(&self) -> Vec<bool>

Returns self as a boolean array in little-endian order.
§

fn to_bits_be(&self) -> Vec<bool>

Returns self as a boolean array in big-endian order.
§

fn num_bits() -> Option<usize>

An optional indication of how many bits an object can be represented with.
source§

impl Eq for Value

source§

impl StructuralPartialEq for Value

Auto Trait Implementations§

§

impl Freeze for Value

§

impl RefUnwindSafe for Value

§

impl Send for Value

§

impl Sync for Value

§

impl Unpin for Value

§

impl UnwindSafe for Value

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where + T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
§

impl<Q, K> Equivalent<K> for Q
where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
§

impl<T> ToCompactString for T
where + T: Display,

§

fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>

Fallible version of [ToCompactString::to_compact_string()] Read more
§

fn to_compact_string(&self) -> CompactString

Converts the given value to a [CompactString]. Read more
§

impl<T> ToLine for T
where + T: Display,

§

fn to_line(&self) -> Line<'_>

Converts the value to a [Line].
source§

impl<T> ToOwned for T
where + T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> ToSmolStr for T
where + T: Display + ?Sized,

§

fn to_smolstr(&self) -> SmolStr

§

impl<T> ToSpan for T
where + T: Display,

§

fn to_span(&self) -> Span<'_>

Converts the value to a [Span].
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
§

impl<T> ToText for T
where + T: Display,

§

fn to_text(&self) -> Text<'_>

Converts the value to a [Text].
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_interpreter/value/fn.really_cast.html b/leo_interpreter/value/fn.really_cast.html new file mode 100644 index 0000000000..26ff50fa9e --- /dev/null +++ b/leo_interpreter/value/fn.really_cast.html @@ -0,0 +1,2 @@ +really_cast in leo_interpreter::value - Rust
leo_interpreter::value

Function really_cast

source
fn really_cast<C>(c: C, cast_type: &Type) -> Option<Value>
where + C: Cast<Address<TestnetV0>> + Cast<Field<TestnetV0>> + Cast<Group<TestnetV0>> + Cast<Boolean<TestnetV0>> + Cast<Scalar<TestnetV0>> + Cast<Integer<TestnetV0, u8>> + Cast<Integer<TestnetV0, u16>> + Cast<Integer<TestnetV0, u32>> + Cast<Integer<TestnetV0, u64>> + Cast<Integer<TestnetV0, u128>> + Cast<Integer<TestnetV0, i8>> + Cast<Integer<TestnetV0, i16>> + Cast<Integer<TestnetV0, i32>> + Cast<Integer<TestnetV0, i64>> + Cast<Integer<TestnetV0, i128>>,
\ No newline at end of file diff --git a/leo_interpreter/value/index.html b/leo_interpreter/value/index.html new file mode 100644 index 0000000000..bfb9f6cd14 --- /dev/null +++ b/leo_interpreter/value/index.html @@ -0,0 +1 @@ +leo_interpreter::value - Rust
leo_interpreter

Module value

source

Structs§

Enums§

  • A Leo value of any type.

Functions§

Type Aliases§

\ No newline at end of file diff --git a/leo_interpreter/value/sidebar-items.js b/leo_interpreter/value/sidebar-items.js new file mode 100644 index 0000000000..c7e70b3e95 --- /dev/null +++ b/leo_interpreter/value/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"enum":["Value"],"fn":["really_cast"],"struct":["AsyncExecution","Future","StructContents"],"type":["SvmAddress","SvmBoolean","SvmField","SvmGroup","SvmIdentifier","SvmInteger","SvmScalar"]}; \ No newline at end of file diff --git a/leo_interpreter/value/struct.AsyncExecution.html b/leo_interpreter/value/struct.AsyncExecution.html new file mode 100644 index 0000000000..b9ba33146e --- /dev/null +++ b/leo_interpreter/value/struct.AsyncExecution.html @@ -0,0 +1,38 @@ +AsyncExecution in leo_interpreter::value - Rust
leo_interpreter::value

Struct AsyncExecution

source
pub struct AsyncExecution {
+    pub function: GlobalId,
+    pub arguments: Vec<Value>,
+}

Fields§

§function: GlobalId§arguments: Vec<Value>

Trait Implementations§

source§

impl Clone for AsyncExecution

source§

fn clone(&self) -> AsyncExecution

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for AsyncExecution

source§

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

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

impl Hash for AsyncExecution

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where + H: Hasher, + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for AsyncExecution

source§

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

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

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

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

impl Eq for AsyncExecution

source§

impl StructuralPartialEq for AsyncExecution

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where + T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
§

impl<Q, K> Equivalent<K> for Q
where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where + T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_interpreter/value/struct.Future.html b/leo_interpreter/value/struct.Future.html new file mode 100644 index 0000000000..d50ba486e1 --- /dev/null +++ b/leo_interpreter/value/struct.Future.html @@ -0,0 +1,41 @@ +Future in leo_interpreter::value - Rust
leo_interpreter::value

Struct Future

source
pub struct Future(pub Vec<AsyncExecution>);

Tuple Fields§

§0: Vec<AsyncExecution>

Trait Implementations§

source§

impl Clone for Future

source§

fn clone(&self) -> Future

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Future

source§

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

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

impl Default for Future

source§

fn default() -> Future

Returns the “default value” for a type. Read more
source§

impl Display for Future

source§

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

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

impl Hash for Future

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where + H: Hasher, + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for Future

source§

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

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

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

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

impl Eq for Future

source§

impl StructuralPartialEq for Future

Auto Trait Implementations§

§

impl Freeze for Future

§

impl RefUnwindSafe for Future

§

impl Send for Future

§

impl Sync for Future

§

impl Unpin for Future

§

impl UnwindSafe for Future

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where + T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
§

impl<Q, K> Equivalent<K> for Q
where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
§

impl<T> ToCompactString for T
where + T: Display,

§

fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>

Fallible version of [ToCompactString::to_compact_string()] Read more
§

fn to_compact_string(&self) -> CompactString

Converts the given value to a [CompactString]. Read more
§

impl<T> ToLine for T
where + T: Display,

§

fn to_line(&self) -> Line<'_>

Converts the value to a [Line].
source§

impl<T> ToOwned for T
where + T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> ToSmolStr for T
where + T: Display + ?Sized,

§

fn to_smolstr(&self) -> SmolStr

§

impl<T> ToSpan for T
where + T: Display,

§

fn to_span(&self) -> Span<'_>

Converts the value to a [Span].
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
§

impl<T> ToText for T
where + T: Display,

§

fn to_text(&self) -> Text<'_>

Converts the value to a [Text].
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_interpreter/value/struct.StructContents.html b/leo_interpreter/value/struct.StructContents.html new file mode 100644 index 0000000000..1f3cb0e813 --- /dev/null +++ b/leo_interpreter/value/struct.StructContents.html @@ -0,0 +1,38 @@ +StructContents in leo_interpreter::value - Rust
leo_interpreter::value

Struct StructContents

source
pub struct StructContents {
+    pub name: Symbol,
+    pub contents: IndexMap<Symbol, Value>,
+}

Fields§

§name: Symbol§contents: IndexMap<Symbol, Value>

Trait Implementations§

source§

impl Clone for StructContents

source§

fn clone(&self) -> StructContents

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for StructContents

source§

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

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

impl Hash for StructContents

source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where + H: Hasher, + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for StructContents

source§

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

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

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

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

impl Eq for StructContents

source§

impl StructuralPartialEq for StructContents

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where + T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
§

impl<Q, K> Equivalent<K> for Q
where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where + Q: Eq + ?Sized, + K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where + T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_interpreter/value/type.SvmAddress.html b/leo_interpreter/value/type.SvmAddress.html new file mode 100644 index 0000000000..6ef75376af --- /dev/null +++ b/leo_interpreter/value/type.SvmAddress.html @@ -0,0 +1 @@ +SvmAddress in leo_interpreter::value - Rust
leo_interpreter::value

Type Alias SvmAddress

source
pub type SvmAddress = Address<TestnetV0>;

Aliased Type§

struct SvmAddress { /* private fields */ }
\ No newline at end of file diff --git a/leo_interpreter/value/type.SvmBoolean.html b/leo_interpreter/value/type.SvmBoolean.html new file mode 100644 index 0000000000..cf6ec445d4 --- /dev/null +++ b/leo_interpreter/value/type.SvmBoolean.html @@ -0,0 +1 @@ +SvmBoolean in leo_interpreter::value - Rust
leo_interpreter::value

Type Alias SvmBoolean

source
type SvmBoolean = Boolean<TestnetV0>;

Aliased Type§

struct SvmBoolean { /* private fields */ }
\ No newline at end of file diff --git a/leo_interpreter/value/type.SvmField.html b/leo_interpreter/value/type.SvmField.html new file mode 100644 index 0000000000..a72e8e8161 --- /dev/null +++ b/leo_interpreter/value/type.SvmField.html @@ -0,0 +1 @@ +SvmField in leo_interpreter::value - Rust
leo_interpreter::value

Type Alias SvmField

source
type SvmField = Field<TestnetV0>;

Aliased Type§

struct SvmField { /* private fields */ }
\ No newline at end of file diff --git a/leo_interpreter/value/type.SvmGroup.html b/leo_interpreter/value/type.SvmGroup.html new file mode 100644 index 0000000000..8c4e253c3c --- /dev/null +++ b/leo_interpreter/value/type.SvmGroup.html @@ -0,0 +1 @@ +SvmGroup in leo_interpreter::value - Rust
leo_interpreter::value

Type Alias SvmGroup

source
type SvmGroup = Group<TestnetV0>;

Aliased Type§

struct SvmGroup { /* private fields */ }
\ No newline at end of file diff --git a/leo_interpreter/value/type.SvmIdentifier.html b/leo_interpreter/value/type.SvmIdentifier.html new file mode 100644 index 0000000000..64c12e5b80 --- /dev/null +++ b/leo_interpreter/value/type.SvmIdentifier.html @@ -0,0 +1 @@ +SvmIdentifier in leo_interpreter::value - Rust
leo_interpreter::value

Type Alias SvmIdentifier

source
type SvmIdentifier = Identifier<TestnetV0>;

Aliased Type§

struct SvmIdentifier(/* private fields */);
\ No newline at end of file diff --git a/leo_interpreter/value/type.SvmInteger.html b/leo_interpreter/value/type.SvmInteger.html new file mode 100644 index 0000000000..dbf1587245 --- /dev/null +++ b/leo_interpreter/value/type.SvmInteger.html @@ -0,0 +1 @@ +SvmInteger in leo_interpreter::value - Rust
leo_interpreter::value

Type Alias SvmInteger

source
type SvmInteger<I> = Integer<TestnetV0, I>;

Aliased Type§

struct SvmInteger<I> { /* private fields */ }
\ No newline at end of file diff --git a/leo_interpreter/value/type.SvmScalar.html b/leo_interpreter/value/type.SvmScalar.html new file mode 100644 index 0000000000..93d26c368b --- /dev/null +++ b/leo_interpreter/value/type.SvmScalar.html @@ -0,0 +1 @@ +SvmScalar in leo_interpreter::value - Rust
leo_interpreter::value

Type Alias SvmScalar

source
type SvmScalar = Scalar<TestnetV0>;

Aliased Type§

struct SvmScalar { /* private fields */ }
\ No newline at end of file diff --git a/leo_lang/all.html b/leo_lang/all.html index c4e197ee7d..8f9285f5c6 100644 --- a/leo_lang/all.html +++ b/leo_lang/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Structs

Enums

Traits

Functions

Statics

Constants

\ No newline at end of file +List of all items in this crate

List of all items

Structs

Enums

Traits

Functions

Statics

Constants

\ No newline at end of file diff --git a/leo_lang/cli/account/enum.Account.html b/leo_lang/cli/account/enum.Account.html index 9f23699967..5905336cdd 100644 --- a/leo_lang/cli/account/enum.Account.html +++ b/leo_lang/cli/account/enum.Account.html @@ -53,12 +53,12 @@ this field may be left empty.

source§

fn prelude(&self, _: Context) -> Result<Self::Input>
where Self: Sized,

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, ctx: Context, _: Self::Input) -> Result<Self::Output>
where Self: Sized,

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn log_span(&self) -> Span

Adds a span to the logger via tracing::span. +context of ‘execute’ function, which sets logging and timers.
source§

fn log_span(&self) -> Span

Adds a span to the logger via tracing::span. Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this -variable is a &’static str.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +variable is a &’static str.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for Account

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for Account

source§

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

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

impl FromArgMatches for Account

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/add/struct.LeoAdd.html b/leo_lang/cli/add/struct.LeoAdd.html index d16819c3fd..2d804bced8 100644 --- a/leo_lang/cli/add/struct.LeoAdd.html +++ b/leo_lang/cli/add/struct.LeoAdd.html @@ -14,9 +14,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoAdd

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoAdd

source§

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

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

impl FromArgMatches for LeoAdd

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/build/struct.LeoBuild.html b/leo_lang/cli/build/struct.LeoBuild.html index 8096ffe2ef..ba22dced2a 100644 --- a/leo_lang/cli/build/struct.LeoBuild.html +++ b/leo_lang/cli/build/struct.LeoBuild.html @@ -11,9 +11,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoBuild

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoBuild

source§

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

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

impl FromArgMatches for LeoBuild

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/clean/struct.LeoClean.html b/leo_lang/cli/clean/struct.LeoClean.html index e872284ca5..c4744a6499 100644 --- a/leo_lang/cli/clean/struct.LeoClean.html +++ b/leo_lang/cli/clean/struct.LeoClean.html @@ -9,9 +9,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoClean

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoClean

source§

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

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

impl FromArgMatches for LeoClean

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/cli/enum.Commands.html b/leo_lang/cli/cli/enum.Commands.html index 08b0923b6c..0402ed772a 100644 --- a/leo_lang/cli/cli/enum.Commands.html +++ b/leo_lang/cli/cli/enum.Commands.html @@ -1,5 +1,5 @@ -Commands in leo_lang::cli::cli - Rust
leo_lang::cli::cli

Enum Commands

source
enum Commands {
-    Account {
+Commands in leo_lang::cli::cli - Rust
leo_lang::cli::cli

Enum Commands

source
enum Commands {
+
Show 13 variants Account { command: Account, }, New { @@ -23,6 +23,9 @@ Build { command: LeoBuild, }, + Debug { + command: LeoDebug, + }, Add { command: LeoAdd, }, @@ -35,8 +38,8 @@ Update { command: LeoUpdate, }, -}
Expand description

Leo compiler and package manager

-

Variants§

§

Account

Fields

§command: Account
§

New

Fields

§command: LeoNew
§

Example

Fields

§command: LeoExample
§

Run

Fields

§command: LeoRun
§

Execute

Fields

§command: LeoExecute
§

Deploy

Fields

§command: Deploy
§

Query

Fields

§command: LeoQuery
§

Build

Fields

§command: LeoBuild
§

Add

Fields

§command: LeoAdd
§

Remove

Fields

§command: LeoRemove
§

Clean

Fields

§command: LeoClean
§

Update

Fields

§command: LeoUpdate

Trait Implementations§

source§

impl CommandFactory for Commands

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for Commands

source§

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

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

impl FromArgMatches for Commands

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( +

}
Expand description

Leo compiler and package manager

+

Variants§

§

Account

Fields

§command: Account
§

New

Fields

§command: LeoNew
§

Example

Fields

§command: LeoExample
§

Run

Fields

§command: LeoRun
§

Execute

Fields

§command: LeoExecute
§

Deploy

Fields

§command: Deploy
§

Query

Fields

§command: LeoQuery
§

Build

Fields

§command: LeoBuild
§

Debug

Fields

§command: LeoDebug
§

Add

Fields

§command: LeoAdd
§

Remove

Fields

§command: LeoRemove
§

Clean

Fields

§command: LeoClean
§

Update

Fields

§command: LeoUpdate

Trait Implementations§

source§

impl CommandFactory for Commands

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for Commands

source§

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

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

impl FromArgMatches for Commands

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn update_from_arg_matches( &mut self, diff --git a/leo_lang/cli/cli/fn.handle_error.html b/leo_lang/cli/cli/fn.handle_error.html index d50f03833c..eb0b6a6efd 100644 --- a/leo_lang/cli/cli/fn.handle_error.html +++ b/leo_lang/cli/cli/fn.handle_error.html @@ -1 +1 @@ -handle_error in leo_lang::cli::cli - Rust
leo_lang::cli::cli

Function handle_error

source
pub fn handle_error<T>(res: Result<T>) -> T
\ No newline at end of file +handle_error in leo_lang::cli::cli - Rust
leo_lang::cli::cli

Function handle_error

source
pub fn handle_error<T>(res: Result<T>) -> T
\ No newline at end of file diff --git a/leo_lang/cli/cli/fn.run_with_args.html b/leo_lang/cli/cli/fn.run_with_args.html index 9547ed2b0e..6430d0452b 100644 --- a/leo_lang/cli/cli/fn.run_with_args.html +++ b/leo_lang/cli/cli/fn.run_with_args.html @@ -1,2 +1,2 @@ -run_with_args in leo_lang::cli::cli - Rust
leo_lang::cli::cli

Function run_with_args

source
pub fn run_with_args(cli: CLI) -> Result<()>
Expand description

Run command with custom build arguments.

+run_with_args in leo_lang::cli::cli - Rust
leo_lang::cli::cli

Function run_with_args

source
pub fn run_with_args(cli: CLI) -> Result<()>
Expand description

Run command with custom build arguments.

\ No newline at end of file diff --git a/leo_lang/cli/cli/index.html b/leo_lang/cli/cli/index.html index 39f95a13c6..da77fb1799 100644 --- a/leo_lang/cli/cli/index.html +++ b/leo_lang/cli/cli/index.html @@ -1 +1 @@ -leo_lang::cli::cli - Rust
leo_lang::cli

Module cli

source

Structs§

  • CLI Arguments entry point - includes global parameters and subcommands

Enums§

  • Commands 🔒
    Leo compiler and package manager

Functions§

\ No newline at end of file +leo_lang::cli::cli - Rust
leo_lang::cli

Module cli

source

Structs§

  • CLI Arguments entry point - includes global parameters and subcommands

Enums§

  • Commands 🔒
    Leo compiler and package manager

Functions§

\ No newline at end of file diff --git a/leo_lang/cli/commands/account/enum.Account.html b/leo_lang/cli/commands/account/enum.Account.html index 3bf78e664e..76156ce161 100644 --- a/leo_lang/cli/commands/account/enum.Account.html +++ b/leo_lang/cli/commands/account/enum.Account.html @@ -53,12 +53,12 @@ this field may be left empty.
source§

fn prelude(&self, _: Context) -> Result<Self::Input>
where Self: Sized,

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, ctx: Context, _: Self::Input) -> Result<Self::Output>
where Self: Sized,

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn log_span(&self) -> Span

Adds a span to the logger via tracing::span. +context of ‘execute’ function, which sets logging and timers.
source§

fn log_span(&self) -> Span

Adds a span to the logger via tracing::span. Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this -variable is a &’static str.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +variable is a &’static str.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error

source§

impl CommandFactory for Account

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for Account

source§

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

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

impl FromArgMatches for Account

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/commands/add/struct.LeoAdd.html b/leo_lang/cli/commands/add/struct.LeoAdd.html index 28b6d5fc10..079fe3e1da 100644 --- a/leo_lang/cli/commands/add/struct.LeoAdd.html +++ b/leo_lang/cli/commands/add/struct.LeoAdd.html @@ -14,9 +14,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoAdd

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoAdd

source§

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

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

impl FromArgMatches for LeoAdd

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/commands/build/struct.LeoBuild.html b/leo_lang/cli/commands/build/struct.LeoBuild.html index b07fb88d1c..cbf1859ea0 100644 --- a/leo_lang/cli/commands/build/struct.LeoBuild.html +++ b/leo_lang/cli/commands/build/struct.LeoBuild.html @@ -11,9 +11,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error

source§

impl CommandFactory for LeoBuild

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoBuild

source§

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

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

impl FromArgMatches for LeoBuild

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/commands/clean/struct.LeoClean.html b/leo_lang/cli/commands/clean/struct.LeoClean.html index 6a353cf665..301d6c4567 100644 --- a/leo_lang/cli/commands/clean/struct.LeoClean.html +++ b/leo_lang/cli/commands/clean/struct.LeoClean.html @@ -9,9 +9,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoClean

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoClean

source§

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

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

impl FromArgMatches for LeoClean

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/commands/debug/fn.handle_debug.html b/leo_lang/cli/commands/debug/fn.handle_debug.html new file mode 100644 index 0000000000..ef54f21606 --- /dev/null +++ b/leo_lang/cli/commands/debug/fn.handle_debug.html @@ -0,0 +1 @@ +handle_debug in leo_lang::cli::commands::debug - Rust
leo_lang::cli::commands::debug

Function handle_debug

source
fn handle_debug<N: Network>(command: &LeoDebug, context: Context) -> Result<()>
\ No newline at end of file diff --git a/leo_lang/cli/commands/debug/index.html b/leo_lang/cli/commands/debug/index.html new file mode 100644 index 0000000000..d2536ccc9b --- /dev/null +++ b/leo_lang/cli/commands/debug/index.html @@ -0,0 +1 @@ +leo_lang::cli::commands::debug - Rust
leo_lang::cli::commands

Module debug

source

Structs§

  • Debugs an Aleo program through the interpreter.

Functions§

\ No newline at end of file diff --git a/leo_lang/cli/commands/debug/sidebar-items.js b/leo_lang/cli/commands/debug/sidebar-items.js new file mode 100644 index 0000000000..3b31646518 --- /dev/null +++ b/leo_lang/cli/commands/debug/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"fn":["handle_debug"],"struct":["LeoDebug"]}; \ No newline at end of file diff --git a/leo_lang/cli/commands/debug/struct.LeoDebug.html b/leo_lang/cli/commands/debug/struct.LeoDebug.html new file mode 100644 index 0000000000..6576e8630a --- /dev/null +++ b/leo_lang/cli/commands/debug/struct.LeoDebug.html @@ -0,0 +1,61 @@ +LeoDebug in leo_lang::cli::commands::debug - Rust
leo_lang::cli::commands::debug

Struct LeoDebug

source
pub struct LeoDebug {
+    pub(crate) paths: Vec<String>,
+    pub(crate) block_height: u32,
+    pub(crate) tui: bool,
+    pub(crate) compiler_options: BuildOptions,
+}
Expand description

Debugs an Aleo program through the interpreter.

+

Fields§

§paths: Vec<String>§block_height: u32§tui: bool§compiler_options: BuildOptions

Trait Implementations§

source§

impl Args for LeoDebug

source§

fn group_id() -> Option<Id>

Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
source§

fn augment_args<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate Self via +[FromArgMatches::from_arg_matches_mut] Read more
source§

fn augment_args_for_update<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate self via +[FromArgMatches::update_from_arg_matches_mut] Read more
source§

impl Command for LeoDebug

source§

type Input = <LeoBuild as Command>::Output

If the current command requires running another command beforehand +and needs its output result, this is where the result type is defined. +Example: type Input: ::Out
source§

type Output = ()

Defines the output of this command, which may be used as Input for another +command. If this command is not used as a prelude for another command, +this field may be left empty.
source§

fn log_span(&self) -> Span

Adds a span to the logger via tracing::span. +Because of the specifics of the macro implementation, it is not possible +to set the span name with a non-literal i.e. a dynamic variable even if this +variable is a &’static str.
source§

fn prelude(&self, context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within +context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where + Self: Sized,

A wrapper around the apply method. +This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where + Self: Sized,

Executes command but empty the result. Comes in handy where there’s a +need to make match arms compatible while keeping implementation-specific +output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoDebug

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoDebug

source§

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

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

impl FromArgMatches for LeoDebug

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( + __clap_arg_matches: &mut ArgMatches, +) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn update_from_arg_matches( + &mut self, + __clap_arg_matches: &ArgMatches, +) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

fn update_from_arg_matches_mut( + &mut self, + __clap_arg_matches: &mut ArgMatches, +) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

impl Parser for LeoDebug

§

fn parse() -> Self

Parse from std::env::args_os(), [exit][Error::exit] on error.
§

fn try_parse() -> Result<Self, Error>

Parse from std::env::args_os(), return Err on error.
§

fn parse_from<I, T>(itr: I) -> Self
where + I: IntoIterator<Item = T>, + T: Into<OsString> + Clone,

Parse from iterator, [exit][Error::exit] on error.
§

fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
where + I: IntoIterator<Item = T>, + T: Into<OsString> + Clone,

Parse from iterator, return Err on error.
§

fn update_from<I, T>(&mut self, itr: I)
where + I: IntoIterator<Item = T>, + T: Into<OsString> + Clone,

Update from iterator, [exit][Error::exit] on error. Read more
§

fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
where + I: IntoIterator<Item = T>, + T: Into<OsString> + Clone,

Update from iterator, return Err on error.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_lang/cli/commands/deploy/fn.handle_deploy.html b/leo_lang/cli/commands/deploy/fn.handle_deploy.html index 4a3f8ca683..2e98eff81d 100644 --- a/leo_lang/cli/commands/deploy/fn.handle_deploy.html +++ b/leo_lang/cli/commands/deploy/fn.handle_deploy.html @@ -1,6 +1,6 @@ handle_deploy in leo_lang::cli::commands::deploy - Rust
leo_lang::cli::commands::deploy

Function handle_deploy

source
fn handle_deploy<A: Aleo<Network = N, BaseField = N::Field>, N: Network>(
     command: &Deploy,
     context: Context,
-    network: NetworkName,
+    network: NetworkName,
     endpoint: &str,
 ) -> Result<<Deploy as Command>::Output>
\ No newline at end of file diff --git a/leo_lang/cli/commands/deploy/struct.Deploy.html b/leo_lang/cli/commands/deploy/struct.Deploy.html index 441552c717..a7e709b687 100644 --- a/leo_lang/cli/commands/deploy/struct.Deploy.html +++ b/leo_lang/cli/commands/deploy/struct.Deploy.html @@ -15,9 +15,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for Deploy

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for Deploy

source§

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

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

impl FromArgMatches for Deploy

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/commands/example/struct.LeoExample.html b/leo_lang/cli/commands/example/struct.LeoExample.html index e44045c590..dfd35c8465 100644 --- a/leo_lang/cli/commands/example/struct.LeoExample.html +++ b/leo_lang/cli/commands/example/struct.LeoExample.html @@ -11,12 +11,12 @@ command. If this command is not used as a prelude for another command, this field may be left empty.

source§

fn prelude(&self, context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>
where Self: Sized,

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn log_span(&self) -> Span

Adds a span to the logger via tracing::span. +context of ‘execute’ function, which sets logging and timers.
source§

fn log_span(&self) -> Span

Adds a span to the logger via tracing::span. Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this -variable is a &’static str.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +variable is a &’static str.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoExample

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoExample

source§

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

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

impl FromArgMatches for LeoExample

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/commands/execute/fn.handle_execute.html b/leo_lang/cli/commands/execute/fn.handle_execute.html index 4a04a0b61a..9de3404f96 100644 --- a/leo_lang/cli/commands/execute/fn.handle_execute.html +++ b/leo_lang/cli/commands/execute/fn.handle_execute.html @@ -1,6 +1,6 @@ handle_execute in leo_lang::cli::commands::execute - Rust
leo_lang::cli::commands::execute

Function handle_execute

source
fn handle_execute<A: Aleo>(
     command: LeoExecute,
     context: Context,
-    network: NetworkName,
+    network: NetworkName,
     endpoint: &str,
 ) -> Result<<LeoExecute as Command>::Output>
\ No newline at end of file diff --git a/leo_lang/cli/commands/execute/fn.load_program_from_network.html b/leo_lang/cli/commands/execute/fn.load_program_from_network.html index aed171e28e..0ee2ec402e 100644 --- a/leo_lang/cli/commands/execute/fn.load_program_from_network.html +++ b/leo_lang/cli/commands/execute/fn.load_program_from_network.html @@ -2,7 +2,7 @@ context: Context, process: &mut Process<N>, program_id: &ProgramID<N>, - network: NetworkName, + network: NetworkName, endpoint: &str, ) -> Result<()>
Expand description

A helper function to recursively load the program and all of its imports into the process. Lifted from snarkOS.

\ No newline at end of file diff --git a/leo_lang/cli/commands/execute/struct.LeoExecute.html b/leo_lang/cli/commands/execute/struct.LeoExecute.html index 52a4c44c0a..fae0eab806 100644 --- a/leo_lang/cli/commands/execute/struct.LeoExecute.html +++ b/leo_lang/cli/commands/execute/struct.LeoExecute.html @@ -19,9 +19,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.
source§

fn prelude(&self, context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _input: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoExecute

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoExecute

source§

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

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

impl FromArgMatches for LeoExecute

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/commands/fn.check_balance.html b/leo_lang/cli/commands/fn.check_balance.html index c09e08b342..3f47216563 100644 --- a/leo_lang/cli/commands/fn.check_balance.html +++ b/leo_lang/cli/commands/fn.check_balance.html @@ -1,4 +1,4 @@ -check_balance in leo_lang::cli::commands - Rust
leo_lang::cli::commands

Function check_balance

source
fn check_balance<N: Network>(
+check_balance in leo_lang::cli::commands - Rust
leo_lang::cli::commands

Function check_balance

source
fn check_balance<N: Network>(
     private_key: &PrivateKey<N>,
     endpoint: &str,
     network: &str,
diff --git a/leo_lang/cli/commands/fn.handle_broadcast.html b/leo_lang/cli/commands/fn.handle_broadcast.html
index 1fef09788a..179b3ed648 100644
--- a/leo_lang/cli/commands/fn.handle_broadcast.html
+++ b/leo_lang/cli/commands/fn.handle_broadcast.html
@@ -1,4 +1,4 @@
-handle_broadcast in leo_lang::cli::commands - Rust
leo_lang::cli::commands

Function handle_broadcast

source
fn handle_broadcast<N: Network>(
+handle_broadcast in leo_lang::cli::commands - Rust
leo_lang::cli::commands

Function handle_broadcast

source
fn handle_broadcast<N: Network>(
     endpoint: &String,
     transaction: Transaction<N>,
     operation: &String,
diff --git a/leo_lang/cli/commands/fn.parse_record.html b/leo_lang/cli/commands/fn.parse_record.html
index 5ab362e825..8910cba618 100644
--- a/leo_lang/cli/commands/fn.parse_record.html
+++ b/leo_lang/cli/commands/fn.parse_record.html
@@ -1,4 +1,4 @@
-parse_record in leo_lang::cli::commands - Rust
leo_lang::cli::commands

Function parse_record

source
pub fn parse_record<N: Network>(
+parse_record in leo_lang::cli::commands - Rust
leo_lang::cli::commands

Function parse_record

source
pub fn parse_record<N: Network>(
     private_key: &PrivateKey<N>,
     record: &str,
 ) -> Result<Record<N, Plaintext<N>>>
Expand description

Parses the record string. If the string is a ciphertext, then attempt to decrypt it. Lifted from snarkOS.

diff --git a/leo_lang/cli/commands/index.html b/leo_lang/cli/commands/index.html index 1a346f9800..a4c0d531f4 100644 --- a/leo_lang/cli/commands/index.html +++ b/leo_lang/cli/commands/index.html @@ -1,3 +1,3 @@ -leo_lang::cli::commands - Rust
leo_lang::cli

Module commands

source

Re-exports§

Modules§

Structs§

  • Compiler Options wrapper for Build command. Also used by other commands which +leo_lang::cli::commands - Rust
    leo_lang::cli

    Module commands

    source

    Re-exports§

    Modules§

    Structs§

    • Compiler Options wrapper for Build command. Also used by other commands which require Build command output as their input.
    • On Chain Execution Options to set preferences for keys, fees and networks. Used by Execute and Deploy commands.

    Traits§

    • Base trait for the Leo CLI, see methods and their documentation for details.

    Functions§

    • Determine if the transaction should be broadcast or displayed to user.
    • Parses the record string. If the string is a ciphertext, then attempt to decrypt it. Lifted from snarkOS.
    \ No newline at end of file diff --git a/leo_lang/cli/commands/new/struct.LeoNew.html b/leo_lang/cli/commands/new/struct.LeoNew.html index c6cce283f5..6f98ecc500 100644 --- a/leo_lang/cli/commands/new/struct.LeoNew.html +++ b/leo_lang/cli/commands/new/struct.LeoNew.html @@ -13,9 +13,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.
source§

fn prelude(&self, _: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error

source§

impl CommandFactory for LeoNew

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoNew

source§

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

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

impl FromArgMatches for LeoNew

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/commands/query/block/struct.LeoBlock.html b/leo_lang/cli/commands/query/block/struct.LeoBlock.html index 0998061b16..4c9c7b0387 100644 --- a/leo_lang/cli/commands/query/block/struct.LeoBlock.html +++ b/leo_lang/cli/commands/query/block/struct.LeoBlock.html @@ -16,9 +16,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, _context: Context, _input: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoBlock

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoBlock

source§

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

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

impl FromArgMatches for LeoBlock

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/commands/query/committee/struct.LeoCommittee.html b/leo_lang/cli/commands/query/committee/struct.LeoCommittee.html index 1e2072a97f..47a94ce6fe 100644 --- a/leo_lang/cli/commands/query/committee/struct.LeoCommittee.html +++ b/leo_lang/cli/commands/query/committee/struct.LeoCommittee.html @@ -9,9 +9,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, _context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoCommittee

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoCommittee

source§

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

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

impl FromArgMatches for LeoCommittee

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/commands/query/mempool/struct.LeoMempool.html b/leo_lang/cli/commands/query/mempool/struct.LeoMempool.html index 34fa38c02d..801dca4114 100644 --- a/leo_lang/cli/commands/query/mempool/struct.LeoMempool.html +++ b/leo_lang/cli/commands/query/mempool/struct.LeoMempool.html @@ -11,9 +11,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, _context: Context, _input: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoMempool

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoMempool

source§

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

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

impl FromArgMatches for LeoMempool

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/commands/query/peers/struct.LeoPeers.html b/leo_lang/cli/commands/query/peers/struct.LeoPeers.html index c3a18381e6..cf24231554 100644 --- a/leo_lang/cli/commands/query/peers/struct.LeoPeers.html +++ b/leo_lang/cli/commands/query/peers/struct.LeoPeers.html @@ -11,9 +11,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, _context: Context, _input: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoPeers

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoPeers

source§

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

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

impl FromArgMatches for LeoPeers

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/commands/query/program/struct.LeoProgram.html b/leo_lang/cli/commands/query/program/struct.LeoProgram.html index cc7ccfc6ba..9544a3c73c 100644 --- a/leo_lang/cli/commands/query/program/struct.LeoProgram.html +++ b/leo_lang/cli/commands/query/program/struct.LeoProgram.html @@ -13,9 +13,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, _context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoProgram

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoProgram

source§

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

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

impl FromArgMatches for LeoProgram

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/commands/query/state_root/struct.StateRoot.html b/leo_lang/cli/commands/query/state_root/struct.StateRoot.html index ee84bf7c62..49c05a8a35 100644 --- a/leo_lang/cli/commands/query/state_root/struct.StateRoot.html +++ b/leo_lang/cli/commands/query/state_root/struct.StateRoot.html @@ -9,9 +9,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, _context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for StateRoot

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for StateRoot

source§

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

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

impl FromArgMatches for StateRoot

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/commands/query/struct.LeoQuery.html b/leo_lang/cli/commands/query/struct.LeoQuery.html index 650ede4469..3c04a327d4 100644 --- a/leo_lang/cli/commands/query/struct.LeoQuery.html +++ b/leo_lang/cli/commands/query/struct.LeoQuery.html @@ -13,9 +13,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoQuery

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoQuery

source§

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

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

impl FromArgMatches for LeoQuery

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/commands/query/transaction/struct.LeoTransaction.html b/leo_lang/cli/commands/query/transaction/struct.LeoTransaction.html index 0cd3795c54..3c1f299b21 100644 --- a/leo_lang/cli/commands/query/transaction/struct.LeoTransaction.html +++ b/leo_lang/cli/commands/query/transaction/struct.LeoTransaction.html @@ -15,9 +15,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, _context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoTransaction

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoTransaction

source§

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

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

impl FromArgMatches for LeoTransaction

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/commands/remove/struct.LeoRemove.html b/leo_lang/cli/commands/remove/struct.LeoRemove.html index dd8ea96d01..d08f72f7ef 100644 --- a/leo_lang/cli/commands/remove/struct.LeoRemove.html +++ b/leo_lang/cli/commands/remove/struct.LeoRemove.html @@ -12,9 +12,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoRemove

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoRemove

source§

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

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

impl FromArgMatches for LeoRemove

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/commands/run/struct.LeoRun.html b/leo_lang/cli/commands/run/struct.LeoRun.html index 431981fbe9..932cf3f2be 100644 --- a/leo_lang/cli/commands/run/struct.LeoRun.html +++ b/leo_lang/cli/commands/run/struct.LeoRun.html @@ -14,9 +14,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoRun

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoRun

source§

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

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

impl FromArgMatches for LeoRun

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/commands/sidebar-items.js b/leo_lang/cli/commands/sidebar-items.js index d964281f2c..7b2ce6fc84 100644 --- a/leo_lang/cli/commands/sidebar-items.js +++ b/leo_lang/cli/commands/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"fn":["check_balance","handle_broadcast","parse_record"],"mod":["account","add","build","clean","deploy","example","execute","new","query","remove","run","update"],"struct":["BuildOptions","FeeOptions"],"trait":["Command"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":["check_balance","handle_broadcast","parse_record"],"mod":["account","add","build","clean","debug","deploy","example","execute","new","query","remove","run","update"],"struct":["BuildOptions","FeeOptions"],"trait":["Command"]}; \ No newline at end of file diff --git a/leo_lang/cli/commands/struct.BuildOptions.html b/leo_lang/cli/commands/struct.BuildOptions.html index a177a97f2b..b4d978a3dc 100644 --- a/leo_lang/cli/commands/struct.BuildOptions.html +++ b/leo_lang/cli/commands/struct.BuildOptions.html @@ -1,4 +1,4 @@ -BuildOptions in leo_lang::cli::commands - Rust
leo_lang::cli::commands

Struct BuildOptions

source
pub struct BuildOptions {
Show 20 fields +BuildOptions in leo_lang::cli::commands - Rust
leo_lang::cli::commands

Struct BuildOptions

source
pub struct BuildOptions {
Show 20 fields pub endpoint: Option<String>, pub(crate) network: Option<String>, pub non_recursive: bool, @@ -21,17 +21,17 @@ pub disable_conditional_branch_type_checking: bool,
}
Expand description

Compiler Options wrapper for Build command. Also used by other commands which require Build command output as their input.

-

Fields§

§endpoint: Option<String>§network: Option<String>§non_recursive: bool§offline: bool§enable_symbol_table_spans: bool§enable_initial_symbol_table_snapshot: bool§enable_type_checked_symbol_table_snapshot: bool§enable_unrolled_symbol_table_snapshot: bool§enable_ast_spans: bool§enable_dce: bool§enable_all_ast_snapshots: bool§enable_initial_ast_snapshot: bool§enable_unrolled_ast_snapshot: bool§enable_ssa_ast_snapshot: bool§enable_flattened_ast_snapshot: bool§enable_destructured_ast_snapshot: bool§enable_inlined_ast_snapshot: bool§enable_dce_ast_snapshot: bool§conditional_block_max_depth: usize§disable_conditional_branch_type_checking: bool

Trait Implementations§

source§

impl Args for BuildOptions

source§

fn group_id() -> Option<Id>

Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
source§

fn augment_args<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate Self via -[FromArgMatches::from_arg_matches_mut] Read more
source§

fn augment_args_for_update<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate self via -[FromArgMatches::update_from_arg_matches_mut] Read more
source§

impl Clone for BuildOptions

source§

fn clone(&self) -> BuildOptions

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

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

Performs copy-assignment from source. Read more
source§

impl CommandFactory for BuildOptions

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for BuildOptions

source§

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

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

impl Default for BuildOptions

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl From<BuildOptions> for CompilerOptions

source§

fn from(options: BuildOptions) -> Self

Converts to this type from the input type.
source§

impl FromArgMatches for BuildOptions

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( +

Fields§

§endpoint: Option<String>§network: Option<String>§non_recursive: bool§offline: bool§enable_symbol_table_spans: bool§enable_initial_symbol_table_snapshot: bool§enable_type_checked_symbol_table_snapshot: bool§enable_unrolled_symbol_table_snapshot: bool§enable_ast_spans: bool§enable_dce: bool§enable_all_ast_snapshots: bool§enable_initial_ast_snapshot: bool§enable_unrolled_ast_snapshot: bool§enable_ssa_ast_snapshot: bool§enable_flattened_ast_snapshot: bool§enable_destructured_ast_snapshot: bool§enable_inlined_ast_snapshot: bool§enable_dce_ast_snapshot: bool§conditional_block_max_depth: usize§disable_conditional_branch_type_checking: bool

Trait Implementations§

source§

impl Args for BuildOptions

source§

fn group_id() -> Option<Id>

Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
source§

fn augment_args<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate Self via +[FromArgMatches::from_arg_matches_mut] Read more
source§

fn augment_args_for_update<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate self via +[FromArgMatches::update_from_arg_matches_mut] Read more
source§

impl Clone for BuildOptions

source§

fn clone(&self) -> BuildOptions

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

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

Performs copy-assignment from source. Read more
source§

impl CommandFactory for BuildOptions

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for BuildOptions

source§

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

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

impl Default for BuildOptions

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl From<BuildOptions> for CompilerOptions

source§

fn from(options: BuildOptions) -> Self

Converts to this type from the input type.
source§

impl FromArgMatches for BuildOptions

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, -) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn update_from_arg_matches( +) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, -) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

fn update_from_arg_matches_mut( +) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, -) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

impl Parser for BuildOptions

§

fn parse() -> Self

Parse from std::env::args_os(), [exit][Error::exit] on error.
§

fn try_parse() -> Result<Self, Error>

Parse from std::env::args_os(), return Err on error.
§

fn parse_from<I, T>(itr: I) -> Self
where +) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

impl Parser for BuildOptions

§

fn parse() -> Self

Parse from std::env::args_os(), [exit][Error::exit] on error.
§

fn try_parse() -> Result<Self, Error>

Parse from std::env::args_os(), return Err on error.
§

fn parse_from<I, T>(itr: I) -> Self
where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Parse from iterator, [exit][Error::exit] on error.
§

fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
where I: IntoIterator<Item = T>, diff --git a/leo_lang/cli/commands/struct.FeeOptions.html b/leo_lang/cli/commands/struct.FeeOptions.html index 175dd7c3a7..ce33211adb 100644 --- a/leo_lang/cli/commands/struct.FeeOptions.html +++ b/leo_lang/cli/commands/struct.FeeOptions.html @@ -1,4 +1,4 @@ -FeeOptions in leo_lang::cli::commands - Rust
leo_lang::cli::commands

Struct FeeOptions

source
pub struct FeeOptions {
+FeeOptions in leo_lang::cli::commands - Rust
leo_lang::cli::commands

Struct FeeOptions

source
pub struct FeeOptions {
     pub(crate) yes: bool,
     pub(crate) dry_run: bool,
     pub(crate) priority_fee: u64,
@@ -6,17 +6,17 @@
     record: Option<String>,
 }
Expand description

On Chain Execution Options to set preferences for keys, fees and networks. Used by Execute and Deploy commands.

-

Fields§

§yes: bool§dry_run: bool§priority_fee: u64§private_key: Option<String>§record: Option<String>

Trait Implementations§

source§

impl Args for FeeOptions

source§

fn group_id() -> Option<Id>

Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
source§

fn augment_args<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate Self via -[FromArgMatches::from_arg_matches_mut] Read more
source§

fn augment_args_for_update<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate self via -[FromArgMatches::update_from_arg_matches_mut] Read more
source§

impl Clone for FeeOptions

source§

fn clone(&self) -> FeeOptions

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

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

Performs copy-assignment from source. Read more
source§

impl CommandFactory for FeeOptions

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for FeeOptions

source§

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

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

impl Default for FeeOptions

source§

fn default() -> FeeOptions

Returns the “default value” for a type. Read more
source§

impl FromArgMatches for FeeOptions

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( +

Fields§

§yes: bool§dry_run: bool§priority_fee: u64§private_key: Option<String>§record: Option<String>

Trait Implementations§

source§

impl Args for FeeOptions

source§

fn group_id() -> Option<Id>

Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
source§

fn augment_args<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate Self via +[FromArgMatches::from_arg_matches_mut] Read more
source§

fn augment_args_for_update<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate self via +[FromArgMatches::update_from_arg_matches_mut] Read more
source§

impl Clone for FeeOptions

source§

fn clone(&self) -> FeeOptions

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

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

Performs copy-assignment from source. Read more
source§

impl CommandFactory for FeeOptions

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for FeeOptions

source§

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

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

impl Default for FeeOptions

source§

fn default() -> FeeOptions

Returns the “default value” for a type. Read more
source§

impl FromArgMatches for FeeOptions

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, -) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn update_from_arg_matches( +) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, -) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

fn update_from_arg_matches_mut( +) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, -) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

impl Parser for FeeOptions

§

fn parse() -> Self

Parse from std::env::args_os(), [exit][Error::exit] on error.
§

fn try_parse() -> Result<Self, Error>

Parse from std::env::args_os(), return Err on error.
§

fn parse_from<I, T>(itr: I) -> Self
where +) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

impl Parser for FeeOptions

§

fn parse() -> Self

Parse from std::env::args_os(), [exit][Error::exit] on error.
§

fn try_parse() -> Result<Self, Error>

Parse from std::env::args_os(), return Err on error.
§

fn parse_from<I, T>(itr: I) -> Self
where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Parse from iterator, [exit][Error::exit] on error.
§

fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
where I: IntoIterator<Item = T>, diff --git a/leo_lang/cli/commands/trait.Command.html b/leo_lang/cli/commands/trait.Command.html index b7e89c43ff..0bad5e62cd 100644 --- a/leo_lang/cli/commands/trait.Command.html +++ b/leo_lang/cli/commands/trait.Command.html @@ -1,4 +1,4 @@ -Command in leo_lang::cli::commands - Rust
leo_lang::cli::commands

Trait Command

source
pub trait Command {
+Command in leo_lang::cli::commands - Rust
leo_lang::cli::commands

Trait Command

source
pub trait Command {
     type Input;
     type Output;
 
@@ -15,26 +15,26 @@
     fn try_execute(self, context: Context) -> Result<()>
        where Self: Sized { ... }
 }
Expand description

Base trait for the Leo CLI, see methods and their documentation for details.

-

Required Associated Types§

source

type Input

If the current command requires running another command beforehand +

Required Associated Types§

source

type Input

If the current command requires running another command beforehand and needs its output result, this is where the result type is defined. Example: type Input: ::Out

-
source

type Output

Defines the output of this command, which may be used as Input for another +

source

type Output

Defines the output of this command, which may be used as Input for another command. If this command is not used as a prelude for another command, this field may be left empty.

-

Required Methods§

source

fn prelude(&self, context: Context) -> Result<Self::Input>
where +

Required Methods§

source

fn prelude(&self, context: Context) -> Result<Self::Input>
where Self: Sized,

Runs the prelude and returns the Input of the current command.

-
source

fn apply(self, context: Context, input: Self::Input) -> Result<Self::Output>
where +

source

fn apply(self, context: Context, input: Self::Input) -> Result<Self::Output>
where Self: Sized,

Runs the main operation of this command. This function is run within context of ‘execute’ function, which sets logging and timers.

-

Provided Methods§

source

fn log_span(&self) -> Span

Adds a span to the logger via tracing::span. +

Provided Methods§

source

fn log_span(&self) -> Span

Adds a span to the logger via tracing::span. Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

-
source

fn execute(self, context: Context) -> Result<Self::Output>
where +

source

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. This function sets up tracing, timing, and the context.

-
source

fn try_execute(self, context: Context) -> Result<()>
where +

source

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error

-

Implementors§

source§

impl Command for Account

source§

impl Command for LeoAdd

source§

impl Command for LeoBuild

source§

impl Command for LeoClean

source§

impl Command for Deploy

source§

impl Command for LeoExample

source§

impl Command for LeoExecute

source§

impl Command for LeoNew

source§

impl Command for LeoBlock

source§

impl Command for LeoCommittee

source§

impl Command for LeoMempool

source§

impl Command for LeoPeers

source§

impl Command for LeoProgram

source§

impl Command for StateRoot

source§

impl Command for LeoQuery

source§

impl Command for LeoTransaction

source§

impl Command for LeoRemove

source§

impl Command for LeoRun

source§

impl Command for LeoUpdate

\ No newline at end of file +

Implementors§

source§

impl Command for Account

source§

impl Command for LeoAdd

source§

impl Command for LeoBuild

source§

impl Command for LeoClean

source§

impl Command for LeoDebug

source§

impl Command for Deploy

source§

impl Command for LeoExample

source§

impl Command for LeoExecute

source§

impl Command for LeoNew

source§

impl Command for LeoBlock

source§

impl Command for LeoCommittee

source§

impl Command for LeoMempool

source§

impl Command for LeoPeers

source§

impl Command for LeoProgram

source§

impl Command for StateRoot

source§

impl Command for LeoQuery

source§

impl Command for LeoTransaction

source§

impl Command for LeoRemove

source§

impl Command for LeoRun

source§

impl Command for LeoUpdate

\ No newline at end of file diff --git a/leo_lang/cli/commands/update/struct.LeoUpdate.html b/leo_lang/cli/commands/update/struct.LeoUpdate.html index 7c291f1633..f036087918 100644 --- a/leo_lang/cli/commands/update/struct.LeoUpdate.html +++ b/leo_lang/cli/commands/update/struct.LeoUpdate.html @@ -15,9 +15,9 @@ to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, _: Context, _: Self::Input) -> Result<Self::Output>
where Self: Sized,

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoUpdate

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoUpdate

source§

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

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

impl FromArgMatches for LeoUpdate

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/debug/index.html b/leo_lang/cli/debug/index.html new file mode 100644 index 0000000000..c666ffa779 --- /dev/null +++ b/leo_lang/cli/debug/index.html @@ -0,0 +1 @@ +leo_lang::cli::debug - Rust
leo_lang::cli

Module debug

source

Structs§

  • Debugs an Aleo program through the interpreter.
\ No newline at end of file diff --git a/leo_lang/cli/debug/sidebar-items.js b/leo_lang/cli/debug/sidebar-items.js new file mode 100644 index 0000000000..0a20103564 --- /dev/null +++ b/leo_lang/cli/debug/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"struct":["LeoDebug"]}; \ No newline at end of file diff --git a/leo_lang/cli/debug/struct.LeoDebug.html b/leo_lang/cli/debug/struct.LeoDebug.html new file mode 100644 index 0000000000..935c536f8e --- /dev/null +++ b/leo_lang/cli/debug/struct.LeoDebug.html @@ -0,0 +1,61 @@ +LeoDebug in leo_lang::cli::debug - Rust
leo_lang::cli::debug

Struct LeoDebug

source
pub struct LeoDebug {
+    pub(crate) paths: Vec<String>,
+    pub(crate) block_height: u32,
+    pub(crate) tui: bool,
+    pub(crate) compiler_options: BuildOptions,
+}
Expand description

Debugs an Aleo program through the interpreter.

+

Fields§

§paths: Vec<String>§block_height: u32§tui: bool§compiler_options: BuildOptions

Trait Implementations§

source§

impl Args for LeoDebug

source§

fn group_id() -> Option<Id>

Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
source§

fn augment_args<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate Self via +[FromArgMatches::from_arg_matches_mut] Read more
source§

fn augment_args_for_update<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate self via +[FromArgMatches::update_from_arg_matches_mut] Read more
source§

impl Command for LeoDebug

source§

type Input = <LeoBuild as Command>::Output

If the current command requires running another command beforehand +and needs its output result, this is where the result type is defined. +Example: type Input: ::Out
source§

type Output = ()

Defines the output of this command, which may be used as Input for another +command. If this command is not used as a prelude for another command, +this field may be left empty.
source§

fn log_span(&self) -> Span

Adds a span to the logger via tracing::span. +Because of the specifics of the macro implementation, it is not possible +to set the span name with a non-literal i.e. a dynamic variable even if this +variable is a &’static str.
source§

fn prelude(&self, context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within +context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where + Self: Sized,

A wrapper around the apply method. +This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where + Self: Sized,

Executes command but empty the result. Comes in handy where there’s a +need to make match arms compatible while keeping implementation-specific +output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoDebug

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoDebug

source§

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

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

impl FromArgMatches for LeoDebug

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( + __clap_arg_matches: &mut ArgMatches, +) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn update_from_arg_matches( + &mut self, + __clap_arg_matches: &ArgMatches, +) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

fn update_from_arg_matches_mut( + &mut self, + __clap_arg_matches: &mut ArgMatches, +) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

impl Parser for LeoDebug

§

fn parse() -> Self

Parse from std::env::args_os(), [exit][Error::exit] on error.
§

fn try_parse() -> Result<Self, Error>

Parse from std::env::args_os(), return Err on error.
§

fn parse_from<I, T>(itr: I) -> Self
where + I: IntoIterator<Item = T>, + T: Into<OsString> + Clone,

Parse from iterator, [exit][Error::exit] on error.
§

fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
where + I: IntoIterator<Item = T>, + T: Into<OsString> + Clone,

Parse from iterator, return Err on error.
§

fn update_from<I, T>(&mut self, itr: I)
where + I: IntoIterator<Item = T>, + T: Into<OsString> + Clone,

Update from iterator, [exit][Error::exit] on error. Read more
§

fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
where + I: IntoIterator<Item = T>, + T: Into<OsString> + Clone,

Update from iterator, return Err on error.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_lang/cli/deploy/struct.Deploy.html b/leo_lang/cli/deploy/struct.Deploy.html index 486fa96048..12574993f2 100644 --- a/leo_lang/cli/deploy/struct.Deploy.html +++ b/leo_lang/cli/deploy/struct.Deploy.html @@ -15,9 +15,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for Deploy

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for Deploy

source§

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

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

impl FromArgMatches for Deploy

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/enum.Account.html b/leo_lang/cli/enum.Account.html index cd81d107fd..ced0162e08 100644 --- a/leo_lang/cli/enum.Account.html +++ b/leo_lang/cli/enum.Account.html @@ -53,12 +53,12 @@ this field may be left empty.

source§

fn prelude(&self, _: Context) -> Result<Self::Input>
where Self: Sized,

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, ctx: Context, _: Self::Input) -> Result<Self::Output>
where Self: Sized,

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn log_span(&self) -> Span

Adds a span to the logger via tracing::span. +context of ‘execute’ function, which sets logging and timers.
source§

fn log_span(&self) -> Span

Adds a span to the logger via tracing::span. Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this -variable is a &’static str.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +variable is a &’static str.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error

source§

impl CommandFactory for Account

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for Account

source§

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

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

impl FromArgMatches for Account

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/example/struct.LeoExample.html b/leo_lang/cli/example/struct.LeoExample.html index 67732ce201..a21273bd67 100644 --- a/leo_lang/cli/example/struct.LeoExample.html +++ b/leo_lang/cli/example/struct.LeoExample.html @@ -11,12 +11,12 @@ command. If this command is not used as a prelude for another command, this field may be left empty.

source§

fn prelude(&self, context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>
where Self: Sized,

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn log_span(&self) -> Span

Adds a span to the logger via tracing::span. +context of ‘execute’ function, which sets logging and timers.
source§

fn log_span(&self) -> Span

Adds a span to the logger via tracing::span. Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this -variable is a &’static str.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +variable is a &’static str.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoExample

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoExample

source§

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

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

impl FromArgMatches for LeoExample

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/execute/struct.LeoExecute.html b/leo_lang/cli/execute/struct.LeoExecute.html index 8f5ccb2a5a..07fff7e5d6 100644 --- a/leo_lang/cli/execute/struct.LeoExecute.html +++ b/leo_lang/cli/execute/struct.LeoExecute.html @@ -19,9 +19,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _input: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoExecute

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoExecute

source§

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

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

impl FromArgMatches for LeoExecute

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/fn.handle_error.html b/leo_lang/cli/fn.handle_error.html index 395bc48a26..5dc918a960 100644 --- a/leo_lang/cli/fn.handle_error.html +++ b/leo_lang/cli/fn.handle_error.html @@ -1 +1 @@ -handle_error in leo_lang::cli - Rust
leo_lang::cli

Function handle_error

source
pub fn handle_error<T>(res: Result<T>) -> T
\ No newline at end of file +handle_error in leo_lang::cli - Rust
leo_lang::cli

Function handle_error

source
pub fn handle_error<T>(res: Result<T>) -> T
\ No newline at end of file diff --git a/leo_lang/cli/fn.parse_record.html b/leo_lang/cli/fn.parse_record.html index db1a29bff7..f28b742224 100644 --- a/leo_lang/cli/fn.parse_record.html +++ b/leo_lang/cli/fn.parse_record.html @@ -1,4 +1,4 @@ -parse_record in leo_lang::cli - Rust
leo_lang::cli

Function parse_record

source
pub fn parse_record<N: Network>(
+parse_record in leo_lang::cli - Rust
leo_lang::cli

Function parse_record

source
pub fn parse_record<N: Network>(
     private_key: &PrivateKey<N>,
     record: &str,
 ) -> Result<Record<N, Plaintext<N>>>
Expand description

Parses the record string. If the string is a ciphertext, then attempt to decrypt it. Lifted from snarkOS.

diff --git a/leo_lang/cli/fn.run_with_args.html b/leo_lang/cli/fn.run_with_args.html index 2628f95f80..bc3944836f 100644 --- a/leo_lang/cli/fn.run_with_args.html +++ b/leo_lang/cli/fn.run_with_args.html @@ -1,2 +1,2 @@ -run_with_args in leo_lang::cli - Rust
leo_lang::cli

Function run_with_args

source
pub fn run_with_args(cli: CLI) -> Result<()>
Expand description

Run command with custom build arguments.

+run_with_args in leo_lang::cli - Rust
leo_lang::cli

Function run_with_args

source
pub fn run_with_args(cli: CLI) -> Result<()>
Expand description

Run command with custom build arguments.

\ No newline at end of file diff --git a/leo_lang/cli/index.html b/leo_lang/cli/index.html index bebd90c3d9..3ac0d12f72 100644 --- a/leo_lang/cli/index.html +++ b/leo_lang/cli/index.html @@ -1,3 +1,3 @@ -leo_lang::cli - Rust
leo_lang

Module cli

source

Modules§

Structs§

  • Compiler Options wrapper for Build command. Also used by other commands which +leo_lang::cli - Rust
    leo_lang

    Module cli

    source

    Modules§

    Structs§

    • Compiler Options wrapper for Build command. Also used by other commands which require Build command output as their input.
    • CLI Arguments entry point - includes global parameters and subcommands
    • Deploys an Aleo program.
    • On Chain Execution Options to set preferences for keys, fees and networks. -Used by Execute and Deploy commands.
    • Add a new on-chain or local dependency to the current package.
    • Compile and build program command.
    • Clean outputs folder command
    • Initialize a new Leo example.
    • Build, Prove and Run Leo program with inputs
    • Create new Leo project
    • Query live data from the Aleo network.
    • Remove a dependency from the current package.
    • Build, Prove and Run Leo program with inputs
    • Update Leo to the latest version

    Enums§

    • Commands to manage Aleo accounts.

    Constants§

    Traits§

    • Base trait for the Leo CLI, see methods and their documentation for details.

    Functions§

    \ No newline at end of file +Used by Execute and Deploy commands.
  • Add a new on-chain or local dependency to the current package.
  • Compile and build program command.
  • Clean outputs folder command
  • Debugs an Aleo program through the interpreter.
  • Initialize a new Leo example.
  • Build, Prove and Run Leo program with inputs
  • Create new Leo project
  • Query live data from the Aleo network.
  • Remove a dependency from the current package.
  • Build, Prove and Run Leo program with inputs
  • Update Leo to the latest version

Enums§

  • Commands to manage Aleo accounts.

Constants§

Traits§

  • Base trait for the Leo CLI, see methods and their documentation for details.

Functions§

\ No newline at end of file diff --git a/leo_lang/cli/new/struct.LeoNew.html b/leo_lang/cli/new/struct.LeoNew.html index 06604e75f7..7b539d9981 100644 --- a/leo_lang/cli/new/struct.LeoNew.html +++ b/leo_lang/cli/new/struct.LeoNew.html @@ -13,9 +13,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.
source§

fn prelude(&self, _: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoNew

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoNew

source§

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

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

impl FromArgMatches for LeoNew

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/query/program/struct.LeoProgram.html b/leo_lang/cli/query/program/struct.LeoProgram.html index a62b243461..1d807e3112 100644 --- a/leo_lang/cli/query/program/struct.LeoProgram.html +++ b/leo_lang/cli/query/program/struct.LeoProgram.html @@ -13,9 +13,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, _context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error

source§

impl CommandFactory for LeoProgram

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoProgram

source§

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

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

impl FromArgMatches for LeoProgram

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/query/struct.LeoProgram.html b/leo_lang/cli/query/struct.LeoProgram.html index 6a8a044d36..0de4aec6d8 100644 --- a/leo_lang/cli/query/struct.LeoProgram.html +++ b/leo_lang/cli/query/struct.LeoProgram.html @@ -13,9 +13,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, _context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoProgram

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoProgram

source§

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

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

impl FromArgMatches for LeoProgram

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/query/struct.LeoQuery.html b/leo_lang/cli/query/struct.LeoQuery.html index 855695b68b..9ae7641ea6 100644 --- a/leo_lang/cli/query/struct.LeoQuery.html +++ b/leo_lang/cli/query/struct.LeoQuery.html @@ -13,9 +13,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoQuery

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoQuery

source§

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

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

impl FromArgMatches for LeoQuery

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/remove/struct.LeoRemove.html b/leo_lang/cli/remove/struct.LeoRemove.html index 690cfd174d..db6fb12f7f 100644 --- a/leo_lang/cli/remove/struct.LeoRemove.html +++ b/leo_lang/cli/remove/struct.LeoRemove.html @@ -12,9 +12,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoRemove

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoRemove

source§

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

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

impl FromArgMatches for LeoRemove

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/run/struct.LeoRun.html b/leo_lang/cli/run/struct.LeoRun.html index 787837fe37..74447fbb7b 100644 --- a/leo_lang/cli/run/struct.LeoRun.html +++ b/leo_lang/cli/run/struct.LeoRun.html @@ -14,9 +14,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoRun

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoRun

source§

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

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

impl FromArgMatches for LeoRun

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/sidebar-items.js b/leo_lang/cli/sidebar-items.js index 546dc72b81..abf8ff46e0 100644 --- a/leo_lang/cli/sidebar-items.js +++ b/leo_lang/cli/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"constant":["SNARKVM_COMMAND"],"enum":["Account"],"fn":["handle_error","parse_record","run_with_args"],"mod":["account","add","build","clean","cli","commands","context","deploy","example","execute","helpers","logger","new","query","remove","run","update","updater"],"struct":["BuildOptions","CLI","Deploy","FeeOptions","LeoAdd","LeoBuild","LeoClean","LeoExample","LeoExecute","LeoNew","LeoQuery","LeoRemove","LeoRun","LeoUpdate"],"trait":["Command"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":["SNARKVM_COMMAND"],"enum":["Account"],"fn":["handle_error","parse_record","run_with_args"],"mod":["account","add","build","clean","cli","commands","context","debug","deploy","example","execute","helpers","logger","new","query","remove","run","update","updater"],"struct":["BuildOptions","CLI","Deploy","FeeOptions","LeoAdd","LeoBuild","LeoClean","LeoDebug","LeoExample","LeoExecute","LeoNew","LeoQuery","LeoRemove","LeoRun","LeoUpdate"],"trait":["Command"]}; \ No newline at end of file diff --git a/leo_lang/cli/struct.BuildOptions.html b/leo_lang/cli/struct.BuildOptions.html index 1a26f8c004..278911f6ee 100644 --- a/leo_lang/cli/struct.BuildOptions.html +++ b/leo_lang/cli/struct.BuildOptions.html @@ -1,4 +1,4 @@ -BuildOptions in leo_lang::cli - Rust
leo_lang::cli

Struct BuildOptions

source
pub struct BuildOptions {
Show 20 fields +BuildOptions in leo_lang::cli - Rust
leo_lang::cli

Struct BuildOptions

source
pub struct BuildOptions {
Show 20 fields pub endpoint: Option<String>, pub(crate) network: Option<String>, pub non_recursive: bool, @@ -21,17 +21,17 @@ pub disable_conditional_branch_type_checking: bool,
}
Expand description

Compiler Options wrapper for Build command. Also used by other commands which require Build command output as their input.

-

Fields§

§endpoint: Option<String>§network: Option<String>§non_recursive: bool§offline: bool§enable_symbol_table_spans: bool§enable_initial_symbol_table_snapshot: bool§enable_type_checked_symbol_table_snapshot: bool§enable_unrolled_symbol_table_snapshot: bool§enable_ast_spans: bool§enable_dce: bool§enable_all_ast_snapshots: bool§enable_initial_ast_snapshot: bool§enable_unrolled_ast_snapshot: bool§enable_ssa_ast_snapshot: bool§enable_flattened_ast_snapshot: bool§enable_destructured_ast_snapshot: bool§enable_inlined_ast_snapshot: bool§enable_dce_ast_snapshot: bool§conditional_block_max_depth: usize§disable_conditional_branch_type_checking: bool

Trait Implementations§

source§

impl Args for BuildOptions

source§

fn group_id() -> Option<Id>

Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
source§

fn augment_args<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate Self via -[FromArgMatches::from_arg_matches_mut] Read more
source§

fn augment_args_for_update<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate self via -[FromArgMatches::update_from_arg_matches_mut] Read more
source§

impl Clone for BuildOptions

source§

fn clone(&self) -> BuildOptions

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

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

Performs copy-assignment from source. Read more
source§

impl CommandFactory for BuildOptions

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for BuildOptions

source§

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

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

impl Default for BuildOptions

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl From<BuildOptions> for CompilerOptions

source§

fn from(options: BuildOptions) -> Self

Converts to this type from the input type.
source§

impl FromArgMatches for BuildOptions

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( +

Fields§

§endpoint: Option<String>§network: Option<String>§non_recursive: bool§offline: bool§enable_symbol_table_spans: bool§enable_initial_symbol_table_snapshot: bool§enable_type_checked_symbol_table_snapshot: bool§enable_unrolled_symbol_table_snapshot: bool§enable_ast_spans: bool§enable_dce: bool§enable_all_ast_snapshots: bool§enable_initial_ast_snapshot: bool§enable_unrolled_ast_snapshot: bool§enable_ssa_ast_snapshot: bool§enable_flattened_ast_snapshot: bool§enable_destructured_ast_snapshot: bool§enable_inlined_ast_snapshot: bool§enable_dce_ast_snapshot: bool§conditional_block_max_depth: usize§disable_conditional_branch_type_checking: bool

Trait Implementations§

source§

impl Args for BuildOptions

source§

fn group_id() -> Option<Id>

Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
source§

fn augment_args<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate Self via +[FromArgMatches::from_arg_matches_mut] Read more
source§

fn augment_args_for_update<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate self via +[FromArgMatches::update_from_arg_matches_mut] Read more
source§

impl Clone for BuildOptions

source§

fn clone(&self) -> BuildOptions

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

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

Performs copy-assignment from source. Read more
source§

impl CommandFactory for BuildOptions

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for BuildOptions

source§

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

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

impl Default for BuildOptions

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl From<BuildOptions> for CompilerOptions

source§

fn from(options: BuildOptions) -> Self

Converts to this type from the input type.
source§

impl FromArgMatches for BuildOptions

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, -) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn update_from_arg_matches( +) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, -) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

fn update_from_arg_matches_mut( +) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, -) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

impl Parser for BuildOptions

§

fn parse() -> Self

Parse from std::env::args_os(), [exit][Error::exit] on error.
§

fn try_parse() -> Result<Self, Error>

Parse from std::env::args_os(), return Err on error.
§

fn parse_from<I, T>(itr: I) -> Self
where +) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

impl Parser for BuildOptions

§

fn parse() -> Self

Parse from std::env::args_os(), [exit][Error::exit] on error.
§

fn try_parse() -> Result<Self, Error>

Parse from std::env::args_os(), return Err on error.
§

fn parse_from<I, T>(itr: I) -> Self
where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Parse from iterator, [exit][Error::exit] on error.
§

fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
where I: IntoIterator<Item = T>, diff --git a/leo_lang/cli/struct.Deploy.html b/leo_lang/cli/struct.Deploy.html index 7286c2d037..c7d7289e05 100644 --- a/leo_lang/cli/struct.Deploy.html +++ b/leo_lang/cli/struct.Deploy.html @@ -15,9 +15,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for Deploy

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for Deploy

source§

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

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

impl FromArgMatches for Deploy

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/struct.FeeOptions.html b/leo_lang/cli/struct.FeeOptions.html index 9f38fec8fe..b82b2a90a9 100644 --- a/leo_lang/cli/struct.FeeOptions.html +++ b/leo_lang/cli/struct.FeeOptions.html @@ -1,4 +1,4 @@ -FeeOptions in leo_lang::cli - Rust
leo_lang::cli

Struct FeeOptions

source
pub struct FeeOptions {
+FeeOptions in leo_lang::cli - Rust
leo_lang::cli

Struct FeeOptions

source
pub struct FeeOptions {
     pub(crate) yes: bool,
     pub(crate) dry_run: bool,
     pub(crate) priority_fee: u64,
@@ -6,17 +6,17 @@
     record: Option<String>,
 }
Expand description

On Chain Execution Options to set preferences for keys, fees and networks. Used by Execute and Deploy commands.

-

Fields§

§yes: bool§dry_run: bool§priority_fee: u64§private_key: Option<String>§record: Option<String>

Trait Implementations§

source§

impl Args for FeeOptions

source§

fn group_id() -> Option<Id>

Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
source§

fn augment_args<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate Self via -[FromArgMatches::from_arg_matches_mut] Read more
source§

fn augment_args_for_update<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate self via -[FromArgMatches::update_from_arg_matches_mut] Read more
source§

impl Clone for FeeOptions

source§

fn clone(&self) -> FeeOptions

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

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

Performs copy-assignment from source. Read more
source§

impl CommandFactory for FeeOptions

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for FeeOptions

source§

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

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

impl Default for FeeOptions

source§

fn default() -> FeeOptions

Returns the “default value” for a type. Read more
source§

impl FromArgMatches for FeeOptions

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( +

Fields§

§yes: bool§dry_run: bool§priority_fee: u64§private_key: Option<String>§record: Option<String>

Trait Implementations§

source§

impl Args for FeeOptions

source§

fn group_id() -> Option<Id>

Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
source§

fn augment_args<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate Self via +[FromArgMatches::from_arg_matches_mut] Read more
source§

fn augment_args_for_update<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate self via +[FromArgMatches::update_from_arg_matches_mut] Read more
source§

impl Clone for FeeOptions

source§

fn clone(&self) -> FeeOptions

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

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

Performs copy-assignment from source. Read more
source§

impl CommandFactory for FeeOptions

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for FeeOptions

source§

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

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

impl Default for FeeOptions

source§

fn default() -> FeeOptions

Returns the “default value” for a type. Read more
source§

impl FromArgMatches for FeeOptions

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, -) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn update_from_arg_matches( +) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, -) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

fn update_from_arg_matches_mut( +) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, -) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

impl Parser for FeeOptions

§

fn parse() -> Self

Parse from std::env::args_os(), [exit][Error::exit] on error.
§

fn try_parse() -> Result<Self, Error>

Parse from std::env::args_os(), return Err on error.
§

fn parse_from<I, T>(itr: I) -> Self
where +) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

impl Parser for FeeOptions

§

fn parse() -> Self

Parse from std::env::args_os(), [exit][Error::exit] on error.
§

fn try_parse() -> Result<Self, Error>

Parse from std::env::args_os(), return Err on error.
§

fn parse_from<I, T>(itr: I) -> Self
where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Parse from iterator, [exit][Error::exit] on error.
§

fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
where I: IntoIterator<Item = T>, diff --git a/leo_lang/cli/struct.LeoAdd.html b/leo_lang/cli/struct.LeoAdd.html index 9761c81061..619f3526db 100644 --- a/leo_lang/cli/struct.LeoAdd.html +++ b/leo_lang/cli/struct.LeoAdd.html @@ -14,9 +14,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoAdd

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoAdd

source§

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

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

impl FromArgMatches for LeoAdd

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/struct.LeoBuild.html b/leo_lang/cli/struct.LeoBuild.html index 11044c7125..a93da4adb2 100644 --- a/leo_lang/cli/struct.LeoBuild.html +++ b/leo_lang/cli/struct.LeoBuild.html @@ -11,9 +11,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error

source§

impl CommandFactory for LeoBuild

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoBuild

source§

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

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

impl FromArgMatches for LeoBuild

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/struct.LeoClean.html b/leo_lang/cli/struct.LeoClean.html index f4e334a0b4..a741e875d3 100644 --- a/leo_lang/cli/struct.LeoClean.html +++ b/leo_lang/cli/struct.LeoClean.html @@ -9,9 +9,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoClean

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoClean

source§

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

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

impl FromArgMatches for LeoClean

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/struct.LeoDebug.html b/leo_lang/cli/struct.LeoDebug.html new file mode 100644 index 0000000000..214d8caa27 --- /dev/null +++ b/leo_lang/cli/struct.LeoDebug.html @@ -0,0 +1,61 @@ +LeoDebug in leo_lang::cli - Rust
leo_lang::cli

Struct LeoDebug

source
pub struct LeoDebug {
+    pub(crate) paths: Vec<String>,
+    pub(crate) block_height: u32,
+    pub(crate) tui: bool,
+    pub(crate) compiler_options: BuildOptions,
+}
Expand description

Debugs an Aleo program through the interpreter.

+

Fields§

§paths: Vec<String>§block_height: u32§tui: bool§compiler_options: BuildOptions

Trait Implementations§

source§

impl Args for LeoDebug

source§

fn group_id() -> Option<Id>

Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
source§

fn augment_args<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate Self via +[FromArgMatches::from_arg_matches_mut] Read more
source§

fn augment_args_for_update<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate self via +[FromArgMatches::update_from_arg_matches_mut] Read more
source§

impl Command for LeoDebug

source§

type Input = <LeoBuild as Command>::Output

If the current command requires running another command beforehand +and needs its output result, this is where the result type is defined. +Example: type Input: ::Out
source§

type Output = ()

Defines the output of this command, which may be used as Input for another +command. If this command is not used as a prelude for another command, +this field may be left empty.
source§

fn log_span(&self) -> Span

Adds a span to the logger via tracing::span. +Because of the specifics of the macro implementation, it is not possible +to set the span name with a non-literal i.e. a dynamic variable even if this +variable is a &’static str.
source§

fn prelude(&self, context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within +context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where + Self: Sized,

A wrapper around the apply method. +This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where + Self: Sized,

Executes command but empty the result. Comes in handy where there’s a +need to make match arms compatible while keeping implementation-specific +output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoDebug

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoDebug

source§

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

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

impl FromArgMatches for LeoDebug

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( + __clap_arg_matches: &mut ArgMatches, +) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn update_from_arg_matches( + &mut self, + __clap_arg_matches: &ArgMatches, +) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

fn update_from_arg_matches_mut( + &mut self, + __clap_arg_matches: &mut ArgMatches, +) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

impl Parser for LeoDebug

§

fn parse() -> Self

Parse from std::env::args_os(), [exit][Error::exit] on error.
§

fn try_parse() -> Result<Self, Error>

Parse from std::env::args_os(), return Err on error.
§

fn parse_from<I, T>(itr: I) -> Self
where + I: IntoIterator<Item = T>, + T: Into<OsString> + Clone,

Parse from iterator, [exit][Error::exit] on error.
§

fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
where + I: IntoIterator<Item = T>, + T: Into<OsString> + Clone,

Parse from iterator, return Err on error.
§

fn update_from<I, T>(&mut self, itr: I)
where + I: IntoIterator<Item = T>, + T: Into<OsString> + Clone,

Update from iterator, [exit][Error::exit] on error. Read more
§

fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
where + I: IntoIterator<Item = T>, + T: Into<OsString> + Clone,

Update from iterator, return Err on error.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> +if into_left is true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where + F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> +if into_left(&self) returns true. +Converts self into a Right variant of Either<Self, Self> +otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where + V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where + S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
\ No newline at end of file diff --git a/leo_lang/cli/struct.LeoExample.html b/leo_lang/cli/struct.LeoExample.html index 5ddde8bcc6..5d7c8bc4c9 100644 --- a/leo_lang/cli/struct.LeoExample.html +++ b/leo_lang/cli/struct.LeoExample.html @@ -11,12 +11,12 @@ command. If this command is not used as a prelude for another command, this field may be left empty.

source§

fn prelude(&self, context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>
where Self: Sized,

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn log_span(&self) -> Span

Adds a span to the logger via tracing::span. +context of ‘execute’ function, which sets logging and timers.
source§

fn log_span(&self) -> Span

Adds a span to the logger via tracing::span. Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this -variable is a &’static str.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +variable is a &’static str.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoExample

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoExample

source§

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

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

impl FromArgMatches for LeoExample

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/struct.LeoExecute.html b/leo_lang/cli/struct.LeoExecute.html index ad1ceb3d8e..e1e7f1b814 100644 --- a/leo_lang/cli/struct.LeoExecute.html +++ b/leo_lang/cli/struct.LeoExecute.html @@ -19,9 +19,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _input: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error

source§

impl CommandFactory for LeoExecute

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoExecute

source§

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

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

impl FromArgMatches for LeoExecute

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/struct.LeoNew.html b/leo_lang/cli/struct.LeoNew.html index 7edd859f41..e4fc204ada 100644 --- a/leo_lang/cli/struct.LeoNew.html +++ b/leo_lang/cli/struct.LeoNew.html @@ -13,9 +13,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoNew

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoNew

source§

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

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

impl FromArgMatches for LeoNew

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/struct.LeoQuery.html b/leo_lang/cli/struct.LeoQuery.html index 9967f3af51..b30f18f8b4 100644 --- a/leo_lang/cli/struct.LeoQuery.html +++ b/leo_lang/cli/struct.LeoQuery.html @@ -13,9 +13,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoQuery

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoQuery

source§

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

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

impl FromArgMatches for LeoQuery

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/struct.LeoRemove.html b/leo_lang/cli/struct.LeoRemove.html index b71f30b79f..008aa9dd80 100644 --- a/leo_lang/cli/struct.LeoRemove.html +++ b/leo_lang/cli/struct.LeoRemove.html @@ -12,9 +12,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoRemove

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoRemove

source§

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

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

impl FromArgMatches for LeoRemove

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/struct.LeoRun.html b/leo_lang/cli/struct.LeoRun.html index 49e6f65de6..8e893c8a6a 100644 --- a/leo_lang/cli/struct.LeoRun.html +++ b/leo_lang/cli/struct.LeoRun.html @@ -14,9 +14,9 @@ Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, context: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output>

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoRun

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoRun

source§

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

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

impl FromArgMatches for LeoRun

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/struct.LeoUpdate.html b/leo_lang/cli/struct.LeoUpdate.html index 29c97fee89..40f9c13e08 100644 --- a/leo_lang/cli/struct.LeoUpdate.html +++ b/leo_lang/cli/struct.LeoUpdate.html @@ -15,9 +15,9 @@ to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

source§

fn prelude(&self, _: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, _: Context, _: Self::Input) -> Result<Self::Output>
where Self: Sized,

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoUpdate

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoUpdate

source§

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

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

impl FromArgMatches for LeoUpdate

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_lang/cli/trait.Command.html b/leo_lang/cli/trait.Command.html index 5a121958a7..306773a2e8 100644 --- a/leo_lang/cli/trait.Command.html +++ b/leo_lang/cli/trait.Command.html @@ -1,4 +1,4 @@ -Command in leo_lang::cli - Rust
leo_lang::cli

Trait Command

source
pub trait Command {
+Command in leo_lang::cli - Rust
leo_lang::cli

Trait Command

source
pub trait Command {
     type Input;
     type Output;
 
@@ -15,26 +15,26 @@
     fn try_execute(self, context: Context) -> Result<()>
        where Self: Sized { ... }
 }
Expand description

Base trait for the Leo CLI, see methods and their documentation for details.

-

Required Associated Types§

source

type Input

If the current command requires running another command beforehand +

Required Associated Types§

source

type Input

If the current command requires running another command beforehand and needs its output result, this is where the result type is defined. Example: type Input: ::Out

-
source

type Output

Defines the output of this command, which may be used as Input for another +

source

type Output

Defines the output of this command, which may be used as Input for another command. If this command is not used as a prelude for another command, this field may be left empty.

-

Required Methods§

source

fn prelude(&self, context: Context) -> Result<Self::Input>
where +

Required Methods§

source

fn prelude(&self, context: Context) -> Result<Self::Input>
where Self: Sized,

Runs the prelude and returns the Input of the current command.

-
source

fn apply(self, context: Context, input: Self::Input) -> Result<Self::Output>
where +

source

fn apply(self, context: Context, input: Self::Input) -> Result<Self::Output>
where Self: Sized,

Runs the main operation of this command. This function is run within context of ‘execute’ function, which sets logging and timers.

-

Provided Methods§

source

fn log_span(&self) -> Span

Adds a span to the logger via tracing::span. +

Provided Methods§

source

fn log_span(&self) -> Span

Adds a span to the logger via tracing::span. Because of the specifics of the macro implementation, it is not possible to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.

-
source

fn execute(self, context: Context) -> Result<Self::Output>
where +

source

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. This function sets up tracing, timing, and the context.

-
source

fn try_execute(self, context: Context) -> Result<()>
where +

source

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error

-

Implementors§

source§

impl Command for Account

source§

impl Command for LeoAdd

source§

impl Command for LeoBuild

source§

impl Command for LeoClean

source§

impl Command for Deploy

source§

impl Command for LeoExample

source§

impl Command for LeoExecute

source§

impl Command for LeoNew

source§

impl Command for LeoBlock

source§

impl Command for LeoCommittee

source§

impl Command for LeoMempool

source§

impl Command for LeoPeers

source§

impl Command for LeoProgram

source§

impl Command for StateRoot

source§

impl Command for LeoQuery

source§

impl Command for LeoTransaction

source§

impl Command for LeoRemove

source§

impl Command for LeoRun

source§

impl Command for LeoUpdate

\ No newline at end of file +

Implementors§

source§

impl Command for Account

source§

impl Command for LeoAdd

source§

impl Command for LeoBuild

source§

impl Command for LeoClean

source§

impl Command for LeoDebug

source§

impl Command for Deploy

source§

impl Command for LeoExample

source§

impl Command for LeoExecute

source§

impl Command for LeoNew

source§

impl Command for LeoBlock

source§

impl Command for LeoCommittee

source§

impl Command for LeoMempool

source§

impl Command for LeoPeers

source§

impl Command for LeoProgram

source§

impl Command for StateRoot

source§

impl Command for LeoQuery

source§

impl Command for LeoTransaction

source§

impl Command for LeoRemove

source§

impl Command for LeoRun

source§

impl Command for LeoUpdate

\ No newline at end of file diff --git a/leo_lang/cli/update/struct.LeoUpdate.html b/leo_lang/cli/update/struct.LeoUpdate.html index dce7a847b0..519799bea0 100644 --- a/leo_lang/cli/update/struct.LeoUpdate.html +++ b/leo_lang/cli/update/struct.LeoUpdate.html @@ -15,9 +15,9 @@ to set the span name with a non-literal i.e. a dynamic variable even if this variable is a &’static str.
source§

fn prelude(&self, _: Context) -> Result<Self::Input>

Runs the prelude and returns the Input of the current command.
source§

fn apply(self, _: Context, _: Self::Input) -> Result<Self::Output>
where Self: Sized,

Runs the main operation of this command. This function is run within -context of ‘execute’ function, which sets logging and timers.
source§

fn execute(self, context: Context) -> Result<Self::Output>
where +context of ‘execute’ function, which sets logging and timers.

source§

fn execute(self, context: Context) -> Result<Self::Output>
where Self: Sized,

A wrapper around the apply method. -This function sets up tracing, timing, and the context.
source§

fn try_execute(self, context: Context) -> Result<()>
where +This function sets up tracing, timing, and the context.

source§

fn try_execute(self, context: Context) -> Result<()>
where Self: Sized,

Executes command but empty the result. Comes in handy where there’s a need to make match arms compatible while keeping implementation-specific output possible. Errors however are all of the type Error
source§

impl CommandFactory for LeoUpdate

source§

fn command<'b>() -> Command

Build a [Command] that can instantiate Self. Read more
source§

fn command_for_update<'b>() -> Command

Build a [Command] that can update self. Read more
source§

impl Debug for LeoUpdate

source§

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

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

impl FromArgMatches for LeoUpdate

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( diff --git a/leo_package/all.html b/leo_package/all.html index ee35c0a5ee..4b58c09d3b 100644 --- a/leo_package/all.html +++ b/leo_package/all.html @@ -1 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/leo_package/fn.parse_file_paths.html b/leo_package/fn.parse_file_paths.html index 2c98b0e87d..bfd6bbf288 100644 --- a/leo_package/fn.parse_file_paths.html +++ b/leo_package/fn.parse_file_paths.html @@ -1,4 +1,4 @@ -parse_file_paths in leo_package - Rust
leo_package

Function parse_file_paths

source
pub(crate) fn parse_file_paths(
+parse_file_paths in leo_package - Rust
leo_package

Function parse_file_paths

source
pub(crate) fn parse_file_paths(
     directory: ReadDir,
     file_paths: &mut Vec<PathBuf>,
 ) -> Result<()>
\ No newline at end of file diff --git a/leo_package/index.html b/leo_package/index.html index fbbcb767c8..6efa378683 100644 --- a/leo_package/index.html +++ b/leo_package/index.html @@ -1,5 +1,5 @@ -leo_package - Rust

Crate leo_package

source
Expand description

§leo-package

+leo_package - Rust

Crate leo_package

source
Expand description

§leo-package

Crates.io Authors License

-

Modules§

Statics§

Functions§

\ No newline at end of file +

Modules§

Statics§

Functions§

\ No newline at end of file diff --git a/leo_package/package/index.html b/leo_package/package/index.html index 6578338fc5..3270fe30b4 100644 --- a/leo_package/package/index.html +++ b/leo_package/package/index.html @@ -1 +1 @@ -leo_package::package - Rust
leo_package

Module package

source

Structs§

\ No newline at end of file +leo_package::package - Rust
leo_package

Module package

source

Structs§

\ No newline at end of file diff --git a/leo_package/package/struct.Package.html b/leo_package/package/struct.Package.html index 9b81845dd7..680ed83c3c 100644 --- a/leo_package/package/struct.Package.html +++ b/leo_package/package/struct.Package.html @@ -1,19 +1,19 @@ -Package in leo_package::package - Rust
leo_package::package

Struct Package

source
pub struct Package {
+Package in leo_package::package - Rust
leo_package::package

Struct Package

source
pub struct Package {
     pub name: String,
     pub version: String,
     pub description: Option<String>,
     pub license: Option<String>,
     pub network: NetworkName,
-}

Fields§

§name: String§version: String§description: Option<String>§license: Option<String>§network: NetworkName

Implementations§

source§

impl Package

source

pub fn new(package_name: &str, network: NetworkName) -> Result<Self>

source

pub fn is_aleo_name_valid(name: &str) -> bool

Returns true if it is a valid Aleo name.

+}

Fields§

§name: String§version: String§description: Option<String>§license: Option<String>§network: NetworkName

Implementations§

source§

impl Package

source

pub fn new(package_name: &str, network: NetworkName) -> Result<Self>

source

pub fn is_aleo_name_valid(name: &str) -> bool

Returns true if it is a valid Aleo name.

Aleo names can only contain ASCII alphanumeric characters and underscores.

-
source

pub fn can_initialize(package_name: &str, path: &Path) -> bool

Returns true if a package is can be initialized at a given path.

-
source

pub fn is_initialized(package_name: &str, path: &Path) -> bool

Returns true if a package is initialized at the given path

-
source

pub fn initialize<N: Network>( +

source

pub fn can_initialize(package_name: &str, path: &Path) -> bool

Returns true if a package is can be initialized at a given path.

+
source

pub fn is_initialized(package_name: &str, path: &Path) -> bool

Returns true if a package is initialized at the given path

+
source

pub fn initialize<N: Network>( package_name: &str, path: &Path, endpoint: String, ) -> Result<()>

Creates a Leo package at the given path

-

Trait Implementations§

source§

impl<'de> Deserialize<'de> for Package

source§

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

Trait Implementations§

source§

impl<'de> Deserialize<'de> for Package

source§

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

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/leo_package/sidebar-items.js b/leo_package/sidebar-items.js index e2172843d9..a14f488c6d 100644 --- a/leo_package/sidebar-items.js +++ b/leo_package/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"fn":["parse_file_paths"],"mod":["build","imports","inputs","outputs","package","root","source"],"static":["LEO_FILE_EXTENSION"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":["parse_file_paths"],"mod":["build","imports","inputs","outputs","package","root","source"],"static":["LEO_FILE_EXTENSION","TEST_PRIVATE_KEY"]}; \ No newline at end of file diff --git a/leo_package/static.TEST_PRIVATE_KEY.html b/leo_package/static.TEST_PRIVATE_KEY.html new file mode 100644 index 0000000000..4636959540 --- /dev/null +++ b/leo_package/static.TEST_PRIVATE_KEY.html @@ -0,0 +1 @@ +TEST_PRIVATE_KEY in leo_package - Rust
leo_package

Static TEST_PRIVATE_KEY

source
pub static TEST_PRIVATE_KEY: &str
\ No newline at end of file diff --git a/leo_parser/all.html b/leo_parser/all.html index 92d425d901..7a1c30cfca 100644 --- a/leo_parser/all.html +++ b/leo_parser/all.html @@ -1 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/leo_parser/parser/fn.parse_expression.html b/leo_parser/parser/fn.parse_expression.html new file mode 100644 index 0000000000..34ffc65ebd --- /dev/null +++ b/leo_parser/parser/fn.parse_expression.html @@ -0,0 +1,6 @@ +parse_expression in leo_parser::parser - Rust
leo_parser::parser

Function parse_expression

source
pub fn parse_expression<N: Network>(
+    handler: &Handler,
+    node_builder: &NodeBuilder,
+    source: &str,
+    start_pos: BytePos,
+) -> Result<Expression>
\ No newline at end of file diff --git a/leo_parser/parser/fn.parse_statement.html b/leo_parser/parser/fn.parse_statement.html new file mode 100644 index 0000000000..a891915368 --- /dev/null +++ b/leo_parser/parser/fn.parse_statement.html @@ -0,0 +1,6 @@ +parse_statement in leo_parser::parser - Rust
leo_parser::parser

Function parse_statement

source
pub fn parse_statement<N: Network>(
+    handler: &Handler,
+    node_builder: &NodeBuilder,
+    source: &str,
+    start_pos: BytePos,
+) -> Result<Statement>
\ No newline at end of file diff --git a/leo_parser/parser/index.html b/leo_parser/parser/index.html index fd63e91d41..48cc38b6eb 100644 --- a/leo_parser/parser/index.html +++ b/leo_parser/parser/index.html @@ -1,4 +1,4 @@ -leo_parser::parser - Rust
leo_parser

Module parser

source
Expand description

The parser to convert Leo code text into a Program AST type.

+leo_parser::parser - Rust
leo_parser

Module parser

source
Expand description

The parser to convert Leo code text into a Program AST type.

This module contains the parse() function which calls the underlying tokenize() method to create a new program AST.

-

Modules§

Functions§

  • Creates a new program from a given file path and source code text.
\ No newline at end of file +

Modules§

Functions§

\ No newline at end of file diff --git a/leo_parser/parser/sidebar-items.js b/leo_parser/parser/sidebar-items.js index 42e47a79cb..6100122ca9 100644 --- a/leo_parser/parser/sidebar-items.js +++ b/leo_parser/parser/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"fn":["parse"],"mod":["context","expression","file","statement","type_"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":["parse","parse_expression","parse_statement"],"mod":["context","expression","file","statement","type_"]}; \ No newline at end of file diff --git a/leo_passes/code_generation/generator/struct.CodeGenerator.html b/leo_passes/code_generation/generator/struct.CodeGenerator.html index 0072ae7eb2..b07b2d6957 100644 --- a/leo_passes/code_generation/generator/struct.CodeGenerator.html +++ b/leo_passes/code_generation/generator/struct.CodeGenerator.html @@ -38,17 +38,17 @@ _call_graph: &'a CallGraph, program: &'a Program, ) -> Self

Initializes a new CodeGenerator.

-
source§

impl<'a> CodeGenerator<'a>

Implement the necessary methods to visit nodes in the AST.

+
source§

impl<'a> CodeGenerator<'a>

Implement the necessary methods to visit nodes in the AST.

source

pub(crate) fn visit_expression( &mut self, input: &'a Expression, ) -> (String, String)

source

fn visit_identifier(&mut self, input: &'a Identifier) -> (String, String)

source

fn visit_err(&mut self, _input: &'a ErrExpression) -> (String, String)

source

fn visit_value(&mut self, input: &'a Literal) -> (String, String)

source

fn visit_locator(&mut self, input: &'a LocatorExpression) -> (String, String)

source

fn visit_binary(&mut self, input: &'a BinaryExpression) -> (String, String)

source

fn visit_cast(&mut self, input: &'a CastExpression) -> (String, String)

source

fn visit_array(&mut self, input: &'a ArrayExpression) -> (String, String)

source

fn visit_unary(&mut self, input: &'a UnaryExpression) -> (String, String)

source

fn visit_ternary(&mut self, input: &'a TernaryExpression) -> (String, String)

source

fn visit_struct_init(&mut self, input: &'a StructExpression) -> (String, String)

source

fn visit_array_access(&mut self, input: &'a ArrayAccess) -> (String, String)

source

fn visit_member_access(&mut self, input: &'a MemberAccess) -> (String, String)

source

fn visit_associated_constant( &mut self, input: &'a AssociatedConstant, -) -> (String, String)

source

fn visit_associated_function( +) -> (String, String)

source

fn visit_associated_function( &mut self, input: &'a AssociatedFunction, -) -> (String, String)

source

fn visit_access(&mut self, input: &'a AccessExpression) -> (String, String)

source

fn visit_call(&mut self, input: &'a CallExpression) -> (String, String)

source

fn visit_tuple(&mut self, input: &'a TupleExpression) -> (String, String)

source

fn visit_unit(&mut self, _input: &'a UnitExpression) -> (String, String)

source§

impl<'a> CodeGenerator<'a>

source

pub(crate) fn visit_program(&mut self, input: &'a Program) -> String

source

fn visit_struct_or_record(&mut self, struct_: &'a Composite) -> String

source

fn visit_struct(&mut self, struct_: &'a Composite) -> String

source

fn visit_record(&mut self, record: &'a Composite) -> String

source

fn visit_function(&mut self, function: &'a Function) -> String

source

fn visit_mapping(&mut self, mapping: &'a Mapping) -> String

source§

impl<'a> CodeGenerator<'a>

source

fn visit_statement(&mut self, input: &'a Statement) -> String

source

fn visit_assert(&mut self, input: &'a AssertStatement) -> String

source

fn visit_return(&mut self, input: &'a ReturnStatement) -> String

source

fn visit_definition(&mut self, _input: &'a DefinitionStatement) -> String

source

fn visit_expression_statement( +) -> (String, String)

source

fn visit_access(&mut self, input: &'a AccessExpression) -> (String, String)

source

fn visit_call(&mut self, input: &'a CallExpression) -> (String, String)

source

fn visit_tuple(&mut self, input: &'a TupleExpression) -> (String, String)

source

fn visit_unit(&mut self, _input: &'a UnitExpression) -> (String, String)

source§

impl<'a> CodeGenerator<'a>

source

pub(crate) fn visit_program(&mut self, input: &'a Program) -> String

source

fn visit_struct_or_record(&mut self, struct_: &'a Composite) -> String

source

fn visit_struct(&mut self, struct_: &'a Composite) -> String

source

fn visit_record(&mut self, record: &'a Composite) -> String

source

fn visit_function(&mut self, function: &'a Function) -> String

source

fn visit_mapping(&mut self, mapping: &'a Mapping) -> String

source§

impl<'a> CodeGenerator<'a>

source

fn visit_statement(&mut self, input: &'a Statement) -> String

source

fn visit_assert(&mut self, input: &'a AssertStatement) -> String

source

fn visit_return(&mut self, input: &'a ReturnStatement) -> String

source

fn visit_definition(&mut self, _input: &'a DefinitionStatement) -> String

source

fn visit_expression_statement( &mut self, input: &'a ExpressionStatement, ) -> String

source

fn visit_assign(&mut self, input: &'a AssignStatement) -> String

source

fn visit_conditional(&mut self, _input: &'a ConditionalStatement) -> String

source

fn visit_iteration(&mut self, _input: &'a IterationStatement) -> String

source

fn visit_console(&mut self, _: &'a ConsoleStatement) -> String

source

pub(crate) fn visit_block(&mut self, input: &'a Block) -> String

source§

impl<'a> CodeGenerator<'a>

source

pub(crate) fn visit_type(input: &Type) -> String

source

pub(crate) fn visit_type_with_visibility( diff --git a/leo_passes/code_generation/visit_expressions/index.html b/leo_passes/code_generation/visit_expressions/index.html index 52ac9b23fa..b12641c624 100644 --- a/leo_passes/code_generation/visit_expressions/index.html +++ b/leo_passes/code_generation/visit_expressions/index.html @@ -1 +1 @@ -leo_passes::code_generation::visit_expressions - Rust
leo_passes::code_generation

Module visit_expressions

source
\ No newline at end of file +leo_passes::code_generation::visit_expressions - Rust
leo_passes::code_generation

Module visit_expressions

source
\ No newline at end of file diff --git a/leo_passes/dead_code_elimination/dead_code_eliminator/struct.DeadCodeEliminator.html b/leo_passes/dead_code_elimination/dead_code_eliminator/struct.DeadCodeEliminator.html index b7310e945d..90d0ca2b9e 100644 --- a/leo_passes/dead_code_elimination/dead_code_eliminator/struct.DeadCodeEliminator.html +++ b/leo_passes/dead_code_elimination/dead_code_eliminator/struct.DeadCodeEliminator.html @@ -8,16 +8,16 @@

§is_necessary: bool

Whether or not the variables are necessary.

§is_async: bool

Whether or not we are currently traversing an async function.

Implementations§

source§

impl<'a> DeadCodeEliminator<'a>

source

pub fn new(node_builder: &'a NodeBuilder) -> Self

Initializes a new DeadCodeEliminator.

-

Trait Implementations§

Trait Implementations§

source§

impl ExpressionReconstructor for DeadCodeEliminator<'_>

source§

fn reconstruct_associated_function( &mut self, input: AssociatedFunction, ) -> (Expression, Self::AdditionalOutput)

Reconstructs the associated function access expression.

-
source§

fn reconstruct_struct_init( +

source§

fn reconstruct_struct_init( &mut self, input: StructExpression, ) -> (Expression, Self::AdditionalOutput)

Reconstruct the components of the struct init expression. This is necessary since the reconstructor does not explicitly visit each component of the expression.

-
source§

fn reconstruct_identifier( +

source§

fn reconstruct_identifier( &mut self, input: Identifier, ) -> (Expression, Self::AdditionalOutput)

Marks identifiers as used. diff --git a/leo_passes/dead_code_elimination/eliminate_expression/index.html b/leo_passes/dead_code_elimination/eliminate_expression/index.html index da9226403f..a8ee619d33 100644 --- a/leo_passes/dead_code_elimination/eliminate_expression/index.html +++ b/leo_passes/dead_code_elimination/eliminate_expression/index.html @@ -1 +1 @@ -leo_passes::dead_code_elimination::eliminate_expression - Rust

leo_passes::dead_code_elimination

Module eliminate_expression

source
\ No newline at end of file +leo_passes::dead_code_elimination::eliminate_expression - Rust
leo_passes::dead_code_elimination

Module eliminate_expression

source
\ No newline at end of file diff --git a/leo_passes/type_checking/checker/fn.types_to_string.html b/leo_passes/type_checking/checker/fn.types_to_string.html index 89e9e1497a..4bd2897a44 100644 --- a/leo_passes/type_checking/checker/fn.types_to_string.html +++ b/leo_passes/type_checking/checker/fn.types_to_string.html @@ -1 +1 @@ -types_to_string in leo_passes::type_checking::checker - Rust
leo_passes::type_checking::checker

Function types_to_string

source
fn types_to_string(types: &[Type]) -> String
\ No newline at end of file +types_to_string in leo_passes::type_checking::checker - Rust
leo_passes::type_checking::checker

Function types_to_string

source
fn types_to_string(types: &[Type]) -> String
\ No newline at end of file diff --git a/leo_passes/type_checking/checker/index.html b/leo_passes/type_checking/checker/index.html index 86b4defffc..eedf26a7cd 100644 --- a/leo_passes/type_checking/checker/index.html +++ b/leo_passes/type_checking/checker/index.html @@ -1 +1 @@ -leo_passes::type_checking::checker - Rust
leo_passes::type_checking

Module checker

source

Structs§

Constants§

Functions§

\ No newline at end of file +leo_passes::type_checking::checker - Rust
leo_passes::type_checking

Module checker

source

Structs§

Constants§

Functions§

\ No newline at end of file diff --git a/leo_passes/type_checking/checker/struct.TypeChecker.html b/leo_passes/type_checking/checker/struct.TypeChecker.html index d97c3c73c8..0b0760327f 100644 --- a/leo_passes/type_checking/checker/struct.TypeChecker.html +++ b/leo_passes/type_checking/checker/struct.TypeChecker.html @@ -16,7 +16,7 @@
§scope_state: ScopeState

The state of the current scope being traversed.

§async_function_input_types: IndexMap<Location, Vec<Type>>

Mapping from async function name to the inferred input types.

§used_structs: IndexSet<Symbol>

The set of used composites.

-
§phantom: PhantomData<N>

Implementations§

source§

impl<'a, N: Network> TypeChecker<'a, N>

source

pub fn new( +

§phantom: PhantomData<N>

Implementations§

source§

impl<'a, N: Network> TypeChecker<'a, N>

source

pub fn new( symbol_table: SymbolTable, type_table: &'a TypeTable, handler: &'a Handler, @@ -97,7 +97,7 @@ function: &Identifier, ) -> Option<CoreFunction>

Emits an error if the struct is not a core library struct. Emits an error if the function is not supported by the struct.

-
source

pub(crate) fn check_core_function_call( +

source

pub(crate) fn check_core_function_call( &mut self, core_function: CoreFunction, arguments: &[(Option<Type>, Span)], @@ -105,39 +105,39 @@ ) -> Option<Type>

Type checks the inputs to a core function call and returns the expected output type. Emits an error if the correct number of arguments are not provided. Emits an error if the arguments are not of the correct type.

-
source

pub(crate) fn check_expected_struct( +

source

pub(crate) fn check_expected_struct( &mut self, struct_: &Composite, expected: &Option<Type>, span: Span, ) -> Type

Returns the struct type and emits an error if the expected type does not match.

-
source

pub(crate) fn assert_member_is_not_record( +

source

pub(crate) fn assert_member_is_not_record( &mut self, span: Span, parent: Symbol, type_: &Type, )

Emits an error if the struct member is a record type.

-
source

pub(crate) fn assert_type_is_valid(&mut self, type_: &Type, span: Span) -> bool

Emits an error if the type or its constituent types is not valid.

-
source

pub(crate) fn assert_mapping_type( +

source

pub(crate) fn assert_type_is_valid(&mut self, type_: &Type, span: Span) -> bool

Emits an error if the type or its constituent types is not valid.

+
source

pub(crate) fn assert_mapping_type( &self, type_: &Option<Type>, span: Span, ) -> Option<MappingType>

Emits an error if the type is not a mapping.

-
source

pub(crate) fn assert_array_type(&self, type_: &Option<Type>, span: Span)

Emits an error if the type is not an array.

-
source

pub(crate) fn check_function_signature(&mut self, function: &Function)

Helper function to check that the input and output of function are valid

-
source

pub(crate) fn lookup_struct( +

source

pub(crate) fn assert_array_type(&self, type_: &Option<Type>, span: Span)

Emits an error if the type is not an array.

+
source

pub(crate) fn check_function_signature(&mut self, function: &Function)

Helper function to check that the input and output of function are valid

+
source

pub(crate) fn lookup_struct( &mut self, program: Option<Symbol>, name: Symbol, ) -> Option<Composite>

Wrapper around lookup_struct that additionally records all structs that are used in the program.

-
source

pub(crate) fn insert_variable( +

source

pub(crate) fn insert_variable( &mut self, inferred_type: Option<Type>, name: &Identifier, type_: Type, span: Span, )

Inserts variable to symbol table.

-
source

pub(crate) fn check_access_allowed( +
source

pub(crate) fn check_access_allowed( &mut self, name: &str, finalize_op: bool, diff --git a/leo_span/all.html b/leo_span/all.html index 52e95d603f..c04111a9c0 100644 --- a/leo_span/all.html +++ b/leo_span/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Structs

Enums

Traits

Macros

Functions

Statics

Constants

\ No newline at end of file +List of all items in this crate

List of all items

Structs

Enums

Traits

Macros

Functions

Statics

Constants

\ No newline at end of file diff --git a/leo_span/source_map/struct.SourceMap.html b/leo_span/source_map/struct.SourceMap.html index 602d48b55d..1f340fb435 100644 --- a/leo_span/source_map/struct.SourceMap.html +++ b/leo_span/source_map/struct.SourceMap.html @@ -7,7 +7,7 @@

Implementations§

source§

impl SourceMap

source

pub fn load_file(&self, path: &Path) -> Result<Rc<SourceFile>>

Loads the given path and returns a SourceFile for it.

source

pub fn new_source(&self, source: &str, name: FileName) -> Rc<SourceFile>

Registers source under the given file name, returning a SourceFile back.

source

fn find_source_file_index(&self, pos: BytePos) -> Option<usize>

Find the index for the source file containing pos.

-
source

fn find_source_file(&self, pos: BytePos) -> Option<Rc<SourceFile>>

Find the source file containing pos.

+
source

pub fn find_source_file(&self, pos: BytePos) -> Option<Rc<SourceFile>>

Find the source file containing pos.

source

fn find_line_col(&self, pos: BytePos) -> Option<LineCol>

Finds line column info about a given pos.

source

pub fn span_to_location(&self, sp: Span) -> Option<SpanLocation>

Retrieves the location (source file, lines, columns) on the given span.

source

pub fn span_to_string(&self, span: Span) -> String

Returns a displayable representation of the span as a string.

diff --git a/leo_span/symbol/constant.PRE_DEFINED.html b/leo_span/symbol/constant.PRE_DEFINED.html index d60247e923..0fcbff6169 100644 --- a/leo_span/symbol/constant.PRE_DEFINED.html +++ b/leo_span/symbol/constant.PRE_DEFINED.html @@ -1 +1 @@ -PRE_DEFINED in leo_span::symbol - Rust
leo_span::symbol

Constant PRE_DEFINED

source
const PRE_DEFINED: &[&str];
\ No newline at end of file +PRE_DEFINED in leo_span::symbol - Rust
leo_span::symbol

Constant PRE_DEFINED

source
const PRE_DEFINED: &[&str];
\ No newline at end of file diff --git a/leo_span/symbol/enum.InternedStr.html b/leo_span/symbol/enum.InternedStr.html index 1c7da6ccdf..b9d7300281 100644 --- a/leo_span/symbol/enum.InternedStr.html +++ b/leo_span/symbol/enum.InternedStr.html @@ -1,4 +1,4 @@ -InternedStr in leo_span::symbol - Rust
leo_span::symbol

Enum InternedStr

source
enum InternedStr {
+InternedStr in leo_span::symbol - Rust
leo_span::symbol

Enum InternedStr

source
enum InternedStr {
     Static(&'static str),
     Owned(Box<str>),
 }
Expand description

An interned string, @@ -1250,10 +1250,10 @@

§Examples
let s = "Grüße, Jürgen ❤";
 
 assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
-

Trait Implementations§

source§

impl Borrow<str> for InternedStr

source§

fn borrow(&self) -> &str

Immutably borrows from an owned value. Read more
source§

impl Deref for InternedStr

source§

type Target = str

The resulting type after dereferencing.
source§

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

Dereferences the value.
source§

impl Hash for InternedStr

source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl Borrow<str> for InternedStr

source§

fn borrow(&self) -> &str

Immutably borrows from an owned value. Read more
source§

impl Deref for InternedStr

source§

type Target = str

The resulting type after dereferencing.
source§

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

Dereferences the value.
source§

impl Hash for InternedStr

source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for InternedStr

source§

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

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

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

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

impl Eq for InternedStr

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for InternedStr

source§

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

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

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

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

impl Eq for InternedStr

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Q
where diff --git a/leo_span/symbol/fn.create_session_if_not_set_then.html b/leo_span/symbol/fn.create_session_if_not_set_then.html index 76e941824e..8a9f1d22d6 100644 --- a/leo_span/symbol/fn.create_session_if_not_set_then.html +++ b/leo_span/symbol/fn.create_session_if_not_set_then.html @@ -1,4 +1,4 @@ -create_session_if_not_set_then in leo_span::symbol - Rust
leo_span::symbol

Function create_session_if_not_set_then

source
pub fn create_session_if_not_set_then<R>(
+create_session_if_not_set_then in leo_span::symbol - Rust
leo_span::symbol

Function create_session_if_not_set_then

source
pub fn create_session_if_not_set_then<R>(
     f: impl FnOnce(&SessionGlobals) -> R,
 ) -> R
Expand description

Creates the session globals and then runs the closure f.

\ No newline at end of file diff --git a/leo_span/symbol/fn.with_session_globals.html b/leo_span/symbol/fn.with_session_globals.html index ad7ea065cf..28b1627583 100644 --- a/leo_span/symbol/fn.with_session_globals.html +++ b/leo_span/symbol/fn.with_session_globals.html @@ -1,2 +1,2 @@ -with_session_globals in leo_span::symbol - Rust
leo_span::symbol

Function with_session_globals

source
pub fn with_session_globals<R>(f: impl FnOnce(&SessionGlobals) -> R) -> R
Expand description

Gives access to read or modify the session globals in f.

+with_session_globals in leo_span::symbol - Rust
leo_span::symbol

Function with_session_globals

source
pub fn with_session_globals<R>(f: impl FnOnce(&SessionGlobals) -> R) -> R
Expand description

Gives access to read or modify the session globals in f.

\ No newline at end of file diff --git a/leo_span/symbol/index.html b/leo_span/symbol/index.html index 54f335625e..947e9d24b4 100644 --- a/leo_span/symbol/index.html +++ b/leo_span/symbol/index.html @@ -1,4 +1,4 @@ -leo_span::symbol - Rust
leo_span

Module symbol

source

Modules§

Macros§

  • consts 🔒
    A helper for symbols defined below. +leo_span::symbol - Rust
    leo_span

    Module symbol

    source

    Modules§

    Macros§

    • consts 🔒
      A helper for symbols defined below. The macro’s job is to bind conveniently usable const items to the symbol names provided. For example, with symbol { a, b } you’d have sym::a and sym::b.
    • strings 🔒
      A helper for symbols defined below. The macro’s job is to merge all the hard-coded strings into a single array of strings. diff --git a/leo_span/symbol/static.SESSION_GLOBALS.html b/leo_span/symbol/static.SESSION_GLOBALS.html index ff18031bfa..b78be1f301 100644 --- a/leo_span/symbol/static.SESSION_GLOBALS.html +++ b/leo_span/symbol/static.SESSION_GLOBALS.html @@ -1 +1 @@ -SESSION_GLOBALS in leo_span::symbol - Rust
      leo_span::symbol

      Static SESSION_GLOBALS

      source
      pub static SESSION_GLOBALS: ScopedKey<SessionGlobals>
      \ No newline at end of file +SESSION_GLOBALS in leo_span::symbol - Rust
      leo_span::symbol

      Static SESSION_GLOBALS

      source
      pub static SESSION_GLOBALS: ScopedKey<SessionGlobals>
      \ No newline at end of file diff --git a/leo_span/symbol/struct.InnerInterner.html b/leo_span/symbol/struct.InnerInterner.html index 9b8d7e4d00..c75eabfd4e 100644 --- a/leo_span/symbol/struct.InnerInterner.html +++ b/leo_span/symbol/struct.InnerInterner.html @@ -1,4 +1,4 @@ -InnerInterner in leo_span::symbol - Rust
      leo_span::symbol

      Struct InnerInterner

      source
      struct InnerInterner {
      +InnerInterner in leo_span::symbol - Rust
      leo_span::symbol

      Struct InnerInterner

      source
      struct InnerInterner {
           set: IndexSet<InternedStr, FxBuildHasher>,
       }
      Expand description

      The inner interner. This construction is used to get interior mutability in Interner.

      diff --git a/leo_span/symbol/struct.Interner.html b/leo_span/symbol/struct.Interner.html index 118c9d586c..27dfff5a95 100644 --- a/leo_span/symbol/struct.Interner.html +++ b/leo_span/symbol/struct.Interner.html @@ -1,10 +1,10 @@ -Interner in leo_span::symbol - Rust
      leo_span::symbol

      Struct Interner

      source
      struct Interner {
      +Interner in leo_span::symbol - Rust
      leo_span::symbol

      Struct Interner

      source
      struct Interner {
           inner: RefCell<InnerInterner>,
       }
      Expand description

      A symbol-to-string interner.

      -

      Fields§

      §inner: RefCell<InnerInterner>

      Implementations§

      source§

      impl Interner

      source

      fn prefilled() -> Self

      Returns an interner prefilled with commonly used strings in Leo.

      -
      source

      fn prefill(init: &[&'static str]) -> Self

      Returns an interner prefilled with init.

      -
      source

      fn intern(&self, string: &str) -> Symbol

      Interns string, returning a Symbol corresponding to it.

      -
      source

      fn get<R>(&self, symbol: Symbol, with: impl FnOnce(&str) -> R) -> R

      Returns the corresponding string for the given symbol.

      +

      Fields§

      §inner: RefCell<InnerInterner>

      Implementations§

      source§

      impl Interner

      source

      fn prefilled() -> Self

      Returns an interner prefilled with commonly used strings in Leo.

      +
      source

      fn prefill(init: &[&'static str]) -> Self

      Returns an interner prefilled with init.

      +
      source

      fn intern(&self, string: &str) -> Symbol

      Interns string, returning a Symbol corresponding to it.

      +
      source

      fn get<R>(&self, symbol: Symbol, with: impl FnOnce(&str) -> R) -> R

      Returns the corresponding string for the given symbol.

      Auto Trait Implementations§

      Blanket Implementations§

      source§

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

      source§

      fn type_id(&self) -> TypeId

      Gets the TypeId of self. Read more
      source§

      impl<T> Borrow<T> for T
      where T: ?Sized,

      source§

      fn borrow(&self) -> &T

      Immutably borrows from an owned value. Read more
      source§

      impl<T> BorrowMut<T> for T
      where diff --git a/leo_span/symbol/struct.SessionGlobals.html b/leo_span/symbol/struct.SessionGlobals.html index 545adb81d3..0ee8a1eff4 100644 --- a/leo_span/symbol/struct.SessionGlobals.html +++ b/leo_span/symbol/struct.SessionGlobals.html @@ -1,10 +1,10 @@ -SessionGlobals in leo_span::symbol - Rust
      leo_span::symbol

      Struct SessionGlobals

      source
      pub struct SessionGlobals {
      +SessionGlobals in leo_span::symbol - Rust
      leo_span::symbol

      Struct SessionGlobals

      source
      pub struct SessionGlobals {
           symbol_interner: Interner,
           pub source_map: SourceMap,
       }
      Expand description

      All the globals for a compiler sessions.

      Fields§

      §symbol_interner: Interner

      The interner for Symbols used in the compiler.

      §source_map: SourceMap

      The source map used in the compiler.

      -

      Trait Implementations§

      source§

      impl Default for SessionGlobals

      source§

      fn default() -> Self

      Returns the “default value” for a type. Read more

      Auto Trait Implementations§

      Blanket Implementations§

      source§

      impl<T> Any for T
      where +

      Trait Implementations§

      source§

      impl Default for SessionGlobals

      source§

      fn default() -> Self

      Returns the “default value” for a type. Read more

      Auto Trait Implementations§

      Blanket Implementations§

      source§

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

      source§

      fn type_id(&self) -> TypeId

      Gets the TypeId of self. Read more
      source§

      impl<T> Borrow<T> for T
      where T: ?Sized,

      source§

      fn borrow(&self) -> &T

      Immutably borrows from an owned value. Read more
      source§

      impl<T> BorrowMut<T> for T
      where T: ?Sized,

      source§

      fn borrow_mut(&mut self) -> &mut T

      Mutably borrows from an owned value. Read more
      source§

      impl<T> From<T> for T

      source§

      fn from(t: T) -> T

      Returns the argument unchanged.

      diff --git a/leo_span/symbol/struct.Symbol.html b/leo_span/symbol/struct.Symbol.html index bad6673b86..914a397ad1 100644 --- a/leo_span/symbol/struct.Symbol.html +++ b/leo_span/symbol/struct.Symbol.html @@ -1,27 +1,27 @@ -Symbol in leo_span::symbol - Rust
      leo_span::symbol

      Struct Symbol

      source
      pub struct Symbol(NonZeroU32);
      Expand description

      An interned string.

      +Symbol in leo_span::symbol - Rust
      leo_span::symbol

      Struct Symbol

      source
      pub struct Symbol(NonZeroU32);
      Expand description

      An interned string.

      Represented as an index internally, with all operations based on that. A Symbol reserves the value 0, so that Option<Symbol> only takes up 4 bytes.

      -

      Tuple Fields§

      §0: NonZeroU32

      Implementations§

      source§

      impl Symbol

      source

      pub const fn new(index: u32) -> Self

      Returns the corresponding Symbol for the given index.

      -
      source

      pub fn intern(string: &str) -> Self

      Maps a string to its interned representation.

      -
      source

      pub fn as_str<R>(self, s: &SessionGlobals, with: impl FnOnce(&str) -> R) -> R

      Convert to effectively a &'static str given the SessionGlobals.

      -
      source

      pub const fn as_u32(self) -> u32

      Converts this symbol to the raw index.

      -
      source

      fn serde_to_symbol<'de, D: Deserializer<'de>>( +

      Tuple Fields§

      §0: NonZeroU32

      Implementations§

      source§

      impl Symbol

      source

      pub const fn new(index: u32) -> Self

      Returns the corresponding Symbol for the given index.

      +
      source

      pub fn intern(string: &str) -> Self

      Maps a string to its interned representation.

      +
      source

      pub fn as_str<R>(self, s: &SessionGlobals, with: impl FnOnce(&str) -> R) -> R

      Convert to effectively a &'static str given the SessionGlobals.

      +
      source

      pub const fn as_u32(self) -> u32

      Converts this symbol to the raw index.

      +
      source

      fn serde_to_symbol<'de, D: Deserializer<'de>>( de: D, -) -> Result<NonZeroU32, D::Error>

      source

      fn serde_from_symbol<S: Serializer>( +) -> Result<NonZeroU32, D::Error>

      source

      fn serde_from_symbol<S: Serializer>( index: &NonZeroU32, ser: S, -) -> Result<S::Ok, S::Error>

      Trait Implementations§

      source§

      impl Clone for Symbol

      source§

      fn clone(&self) -> Symbol

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

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

      Performs copy-assignment from source. Read more
      source§

      impl Debug for Symbol

      source§

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

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

      impl<'de> Deserialize<'de> for Symbol

      source§

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

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

      impl Display for Symbol

      source§

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

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

      impl Hash for Symbol

      source§

      fn hash<__H: Hasher>(&self, state: &mut __H)

      Feeds this value into the given Hasher. Read more
      1.3.0 · source§

      fn hash_slice<H>(data: &[Self], state: &mut H)
      where +) -> Result<S::Ok, S::Error>

      Trait Implementations§

      source§

      impl Clone for Symbol

      source§

      fn clone(&self) -> Symbol

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

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

      Performs copy-assignment from source. Read more
      source§

      impl Debug for Symbol

      source§

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

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

      impl<'de> Deserialize<'de> for Symbol

      source§

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

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

      impl Display for Symbol

      source§

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

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

      impl Hash for Symbol

      source§

      fn hash<__H: Hasher>(&self, state: &mut __H)

      Feeds this value into the given Hasher. Read more
      1.3.0 · source§

      fn hash_slice<H>(data: &[Self], state: &mut H)
      where H: Hasher, - Self: Sized,

      Feeds a slice of this type into the given Hasher. Read more
      source§

      impl Ord for Symbol

      source§

      fn cmp(&self, other: &Symbol) -> Ordering

      This method returns an Ordering between self and other. Read more
      1.21.0 · source§

      fn max(self, other: Self) -> Self
      where + Self: Sized,

      Feeds a slice of this type into the given Hasher. Read more
      source§

      impl Ord for Symbol

      source§

      fn cmp(&self, other: &Symbol) -> Ordering

      This method returns an Ordering between self and other. Read more
      1.21.0 · source§

      fn max(self, other: Self) -> Self
      where Self: Sized,

      Compares and returns the maximum of two values. Read more
      1.21.0 · source§

      fn min(self, other: Self) -> Self
      where Self: Sized,

      Compares and returns the minimum of two values. Read more
      1.50.0 · source§

      fn clamp(self, min: Self, max: Self) -> Self
      where - Self: Sized,

      Restrict a value to a certain interval. Read more
      source§

      impl PartialEq for Symbol

      source§

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

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

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

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

      impl PartialOrd for Symbol

      source§

      fn partial_cmp(&self, other: &Symbol) -> Option<Ordering>

      This method returns an ordering between self and other values if one exists. Read more
      1.0.0 · source§

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

      Tests less than (for self and other) and is used by the < operator. Read more
      1.0.0 · source§

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

      Tests less than or equal to (for self and other) and is used by the + Self: Sized,

      Restrict a value to a certain interval. Read more
      source§

      impl PartialEq for Symbol

      source§

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

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

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

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

      impl PartialOrd for Symbol

      source§

      fn partial_cmp(&self, other: &Symbol) -> Option<Ordering>

      This method returns an ordering between self and other values if one exists. Read more
      1.0.0 · source§

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

      Tests less than (for self and other) and is used by the < operator. Read more
      1.0.0 · source§

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

      Tests less than or equal to (for self and other) and is used by the <= operator. Read more
      1.0.0 · source§

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

      Tests greater than (for self and other) and is used by the > operator. Read more
      1.0.0 · source§

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

      Tests greater than or equal to (for self and other) and is used by -the >= operator. Read more
      source§

      impl Serialize for Symbol

      source§

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

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

      impl Copy for Symbol

      source§

      impl Eq for Symbol

      source§

      impl StructuralPartialEq for Symbol

      Auto Trait Implementations§

      §

      impl Freeze for Symbol

      §

      impl RefUnwindSafe for Symbol

      §

      impl Send for Symbol

      §

      impl Sync for Symbol

      §

      impl Unpin for Symbol

      §

      impl UnwindSafe for Symbol

      Blanket Implementations§

      source§

      impl<T> Any for T
      where +the >= operator. Read more

      source§

      impl Serialize for Symbol

      source§

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

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

      impl Copy for Symbol

      source§

      impl Eq for Symbol

      source§

      impl StructuralPartialEq for Symbol

      Auto Trait Implementations§

      §

      impl Freeze for Symbol

      §

      impl RefUnwindSafe for Symbol

      §

      impl Send for Symbol

      §

      impl Sync for Symbol

      §

      impl Unpin for Symbol

      §

      impl UnwindSafe for Symbol

      Blanket Implementations§

      source§

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

      source§

      fn type_id(&self) -> TypeId

      Gets the TypeId of self. Read more
      source§

      impl<T> Borrow<T> for T
      where T: ?Sized,

      source§

      fn borrow(&self) -> &T

      Immutably borrows from an owned value. Read more
      source§

      impl<T> BorrowMut<T> for T
      where T: ?Sized,

      source§

      fn borrow_mut(&mut self) -> &mut T

      Mutably borrows from an owned value. Read more
      source§

      impl<T> CloneToUninit for T
      where diff --git a/leo_span/symbol/sym/constant.As.html b/leo_span/symbol/sym/constant.As.html index 5e82ff6d38..8e926f8fb9 100644 --- a/leo_span/symbol/sym/constant.As.html +++ b/leo_span/symbol/sym/constant.As.html @@ -1 +1 @@ -As in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant As

      source
      pub const As: Symbol;
      \ No newline at end of file +As in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant As

      source
      pub const As: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.Await.html b/leo_span/symbol/sym/constant.Await.html index c4826d8a36..4f78c16ab0 100644 --- a/leo_span/symbol/sym/constant.Await.html +++ b/leo_span/symbol/sym/constant.Await.html @@ -1 +1 @@ -Await in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Await

      source
      pub const Await: Symbol;
      \ No newline at end of file +Await in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Await

      source
      pub const Await: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.BHP1024.html b/leo_span/symbol/sym/constant.BHP1024.html index dc5d204430..cd2fea6f36 100644 --- a/leo_span/symbol/sym/constant.BHP1024.html +++ b/leo_span/symbol/sym/constant.BHP1024.html @@ -1 +1 @@ -BHP1024 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant BHP1024

      source
      pub const BHP1024: Symbol;
      \ No newline at end of file +BHP1024 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant BHP1024

      source
      pub const BHP1024: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.BHP256.html b/leo_span/symbol/sym/constant.BHP256.html index 0b00fd8945..610062cc36 100644 --- a/leo_span/symbol/sym/constant.BHP256.html +++ b/leo_span/symbol/sym/constant.BHP256.html @@ -1 +1 @@ -BHP256 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant BHP256

      source
      pub const BHP256: Symbol;
      \ No newline at end of file +BHP256 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant BHP256

      source
      pub const BHP256: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.BHP512.html b/leo_span/symbol/sym/constant.BHP512.html index 0b345d0fc7..73d55fc0b1 100644 --- a/leo_span/symbol/sym/constant.BHP512.html +++ b/leo_span/symbol/sym/constant.BHP512.html @@ -1 +1 @@ -BHP512 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant BHP512

      source
      pub const BHP512: Symbol;
      \ No newline at end of file +BHP512 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant BHP512

      source
      pub const BHP512: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.BHP768.html b/leo_span/symbol/sym/constant.BHP768.html index 8198097e97..947b1f5102 100644 --- a/leo_span/symbol/sym/constant.BHP768.html +++ b/leo_span/symbol/sym/constant.BHP768.html @@ -1 +1 @@ -BHP768 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant BHP768

      source
      pub const BHP768: Symbol;
      \ No newline at end of file +BHP768 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant BHP768

      source
      pub const BHP768: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.ChaCha.html b/leo_span/symbol/sym/constant.ChaCha.html index 5d1298f54d..f900e8b3a3 100644 --- a/leo_span/symbol/sym/constant.ChaCha.html +++ b/leo_span/symbol/sym/constant.ChaCha.html @@ -1 +1 @@ -ChaCha in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant ChaCha

      source
      pub const ChaCha: Symbol;
      \ No newline at end of file +ChaCha in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant ChaCha

      source
      pub const ChaCha: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.CheatCode.html b/leo_span/symbol/sym/constant.CheatCode.html new file mode 100644 index 0000000000..3fa08fc79d --- /dev/null +++ b/leo_span/symbol/sym/constant.CheatCode.html @@ -0,0 +1 @@ +CheatCode in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant CheatCode

      source
      pub const CheatCode: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.Const.html b/leo_span/symbol/sym/constant.Const.html index 3df0a9f183..90115a0d35 100644 --- a/leo_span/symbol/sym/constant.Const.html +++ b/leo_span/symbol/sym/constant.Const.html @@ -1 +1 @@ -Const in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Const

      source
      pub const Const: Symbol;
      \ No newline at end of file +Const in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Const

      source
      pub const Const: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.Else.html b/leo_span/symbol/sym/constant.Else.html index 7cdd19205f..253aee1d0f 100644 --- a/leo_span/symbol/sym/constant.Else.html +++ b/leo_span/symbol/sym/constant.Else.html @@ -1 +1 @@ -Else in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Else

      source
      pub const Else: Symbol;
      \ No newline at end of file +Else in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Else

      source
      pub const Else: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.False.html b/leo_span/symbol/sym/constant.False.html index 50d11b67e2..70d80f4766 100644 --- a/leo_span/symbol/sym/constant.False.html +++ b/leo_span/symbol/sym/constant.False.html @@ -1 +1 @@ -False in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant False

      source
      pub const False: Symbol;
      \ No newline at end of file +False in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant False

      source
      pub const False: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.Fn.html b/leo_span/symbol/sym/constant.Fn.html index b5cbad7733..e1281e616d 100644 --- a/leo_span/symbol/sym/constant.Fn.html +++ b/leo_span/symbol/sym/constant.Fn.html @@ -1 +1 @@ -Fn in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Fn

      source
      pub const Fn: Symbol;
      \ No newline at end of file +Fn in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Fn

      source
      pub const Fn: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.For.html b/leo_span/symbol/sym/constant.For.html index dbbce39d38..cc7d4708e4 100644 --- a/leo_span/symbol/sym/constant.For.html +++ b/leo_span/symbol/sym/constant.For.html @@ -1 +1 @@ -For in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant For

      source
      pub const For: Symbol;
      \ No newline at end of file +For in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant For

      source
      pub const For: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.Future.html b/leo_span/symbol/sym/constant.Future.html index 14a8299c23..3d71f45671 100644 --- a/leo_span/symbol/sym/constant.Future.html +++ b/leo_span/symbol/sym/constant.Future.html @@ -1 +1 @@ -Future in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Future

      source
      pub const Future: Symbol;
      \ No newline at end of file +Future in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Future

      source
      pub const Future: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.GEN.html b/leo_span/symbol/sym/constant.GEN.html index 1a8678241a..2c40f8b868 100644 --- a/leo_span/symbol/sym/constant.GEN.html +++ b/leo_span/symbol/sym/constant.GEN.html @@ -1 +1 @@ -GEN in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant GEN

      source
      pub const GEN: Symbol;
      \ No newline at end of file +GEN in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant GEN

      source
      pub const GEN: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.If.html b/leo_span/symbol/sym/constant.If.html index fc9faa8d4e..b418de4ebd 100644 --- a/leo_span/symbol/sym/constant.If.html +++ b/leo_span/symbol/sym/constant.If.html @@ -1 +1 @@ -If in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant If

      source
      pub const If: Symbol;
      \ No newline at end of file +If in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant If

      source
      pub const If: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.In.html b/leo_span/symbol/sym/constant.In.html index 27d735d6c3..526630298e 100644 --- a/leo_span/symbol/sym/constant.In.html +++ b/leo_span/symbol/sym/constant.In.html @@ -1 +1 @@ -In in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant In

      source
      pub const In: Symbol;
      \ No newline at end of file +In in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant In

      source
      pub const In: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.Keccak256.html b/leo_span/symbol/sym/constant.Keccak256.html index e074d3f75d..474827f7cd 100644 --- a/leo_span/symbol/sym/constant.Keccak256.html +++ b/leo_span/symbol/sym/constant.Keccak256.html @@ -1 +1 @@ -Keccak256 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Keccak256

      source
      pub const Keccak256: Symbol;
      \ No newline at end of file +Keccak256 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Keccak256

      source
      pub const Keccak256: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.Keccak384.html b/leo_span/symbol/sym/constant.Keccak384.html index 1906d53899..2f05afaade 100644 --- a/leo_span/symbol/sym/constant.Keccak384.html +++ b/leo_span/symbol/sym/constant.Keccak384.html @@ -1 +1 @@ -Keccak384 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Keccak384

      source
      pub const Keccak384: Symbol;
      \ No newline at end of file +Keccak384 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Keccak384

      source
      pub const Keccak384: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.Keccak512.html b/leo_span/symbol/sym/constant.Keccak512.html index 440c72fece..2eb2564eb8 100644 --- a/leo_span/symbol/sym/constant.Keccak512.html +++ b/leo_span/symbol/sym/constant.Keccak512.html @@ -1 +1 @@ -Keccak512 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Keccak512

      source
      pub const Keccak512: Symbol;
      \ No newline at end of file +Keccak512 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Keccak512

      source
      pub const Keccak512: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.Let.html b/leo_span/symbol/sym/constant.Let.html index a340444edc..3d6750a56f 100644 --- a/leo_span/symbol/sym/constant.Let.html +++ b/leo_span/symbol/sym/constant.Let.html @@ -1 +1 @@ -Let in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Let

      source
      pub const Let: Symbol;
      \ No newline at end of file +Let in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Let

      source
      pub const Let: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.Mapping.html b/leo_span/symbol/sym/constant.Mapping.html index 061d392b74..07fe359612 100644 --- a/leo_span/symbol/sym/constant.Mapping.html +++ b/leo_span/symbol/sym/constant.Mapping.html @@ -1 +1 @@ -Mapping in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Mapping

      source
      pub const Mapping: Symbol;
      \ No newline at end of file +Mapping in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Mapping

      source
      pub const Mapping: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.Mod.html b/leo_span/symbol/sym/constant.Mod.html index 11064aa160..26ee6cd901 100644 --- a/leo_span/symbol/sym/constant.Mod.html +++ b/leo_span/symbol/sym/constant.Mod.html @@ -1 +1 @@ -Mod in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Mod

      source
      pub const Mod: Symbol;
      \ No newline at end of file +Mod in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Mod

      source
      pub const Mod: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.Mut.html b/leo_span/symbol/sym/constant.Mut.html index e7808b55e8..e2da818c1d 100644 --- a/leo_span/symbol/sym/constant.Mut.html +++ b/leo_span/symbol/sym/constant.Mut.html @@ -1 +1 @@ -Mut in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Mut

      source
      pub const Mut: Symbol;
      \ No newline at end of file +Mut in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Mut

      source
      pub const Mut: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.Pedersen128.html b/leo_span/symbol/sym/constant.Pedersen128.html index 96ff2bed34..aea114eaeb 100644 --- a/leo_span/symbol/sym/constant.Pedersen128.html +++ b/leo_span/symbol/sym/constant.Pedersen128.html @@ -1 +1 @@ -Pedersen128 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Pedersen128

      source
      pub const Pedersen128: Symbol;
      \ No newline at end of file +Pedersen128 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Pedersen128

      source
      pub const Pedersen128: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.Pedersen64.html b/leo_span/symbol/sym/constant.Pedersen64.html index a9d4c1edc3..0bfa40560f 100644 --- a/leo_span/symbol/sym/constant.Pedersen64.html +++ b/leo_span/symbol/sym/constant.Pedersen64.html @@ -1 +1 @@ -Pedersen64 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Pedersen64

      source
      pub const Pedersen64: Symbol;
      \ No newline at end of file +Pedersen64 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Pedersen64

      source
      pub const Pedersen64: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.Poseidon2.html b/leo_span/symbol/sym/constant.Poseidon2.html index 396c143149..751d356638 100644 --- a/leo_span/symbol/sym/constant.Poseidon2.html +++ b/leo_span/symbol/sym/constant.Poseidon2.html @@ -1 +1 @@ -Poseidon2 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Poseidon2

      source
      pub const Poseidon2: Symbol;
      \ No newline at end of file +Poseidon2 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Poseidon2

      source
      pub const Poseidon2: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.Poseidon4.html b/leo_span/symbol/sym/constant.Poseidon4.html index f401f0df56..58b3e67f72 100644 --- a/leo_span/symbol/sym/constant.Poseidon4.html +++ b/leo_span/symbol/sym/constant.Poseidon4.html @@ -1 +1 @@ -Poseidon4 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Poseidon4

      source
      pub const Poseidon4: Symbol;
      \ No newline at end of file +Poseidon4 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Poseidon4

      source
      pub const Poseidon4: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.Poseidon8.html b/leo_span/symbol/sym/constant.Poseidon8.html index 543a7550e2..431855cebd 100644 --- a/leo_span/symbol/sym/constant.Poseidon8.html +++ b/leo_span/symbol/sym/constant.Poseidon8.html @@ -1 +1 @@ -Poseidon8 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Poseidon8

      source
      pub const Poseidon8: Symbol;
      \ No newline at end of file +Poseidon8 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Poseidon8

      source
      pub const Poseidon8: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.Return.html b/leo_span/symbol/sym/constant.Return.html index 9e3721692c..623ebeba78 100644 --- a/leo_span/symbol/sym/constant.Return.html +++ b/leo_span/symbol/sym/constant.Return.html @@ -1 +1 @@ -Return in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Return

      source
      pub const Return: Symbol;
      \ No newline at end of file +Return in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Return

      source
      pub const Return: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.SHA3_256.html b/leo_span/symbol/sym/constant.SHA3_256.html index 7e8088a641..130a7cefd2 100644 --- a/leo_span/symbol/sym/constant.SHA3_256.html +++ b/leo_span/symbol/sym/constant.SHA3_256.html @@ -1 +1 @@ -SHA3_256 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant SHA3_256

      source
      pub const SHA3_256: Symbol;
      \ No newline at end of file +SHA3_256 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant SHA3_256

      source
      pub const SHA3_256: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.SHA3_384.html b/leo_span/symbol/sym/constant.SHA3_384.html index c72d1a7c48..6a544fdf9f 100644 --- a/leo_span/symbol/sym/constant.SHA3_384.html +++ b/leo_span/symbol/sym/constant.SHA3_384.html @@ -1 +1 @@ -SHA3_384 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant SHA3_384

      source
      pub const SHA3_384: Symbol;
      \ No newline at end of file +SHA3_384 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant SHA3_384

      source
      pub const SHA3_384: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.SHA3_512.html b/leo_span/symbol/sym/constant.SHA3_512.html index 6398b27031..0cab25fd50 100644 --- a/leo_span/symbol/sym/constant.SHA3_512.html +++ b/leo_span/symbol/sym/constant.SHA3_512.html @@ -1 +1 @@ -SHA3_512 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant SHA3_512

      source
      pub const SHA3_512: Symbol;
      \ No newline at end of file +SHA3_512 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant SHA3_512

      source
      pub const SHA3_512: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.SelfLower.html b/leo_span/symbol/sym/constant.SelfLower.html index 76ee20f370..7925ab7fd1 100644 --- a/leo_span/symbol/sym/constant.SelfLower.html +++ b/leo_span/symbol/sym/constant.SelfLower.html @@ -1 +1 @@ -SelfLower in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant SelfLower

      source
      pub const SelfLower: Symbol;
      \ No newline at end of file +SelfLower in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant SelfLower

      source
      pub const SelfLower: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.SelfUpper.html b/leo_span/symbol/sym/constant.SelfUpper.html index 1f714c8ad0..ff02cda810 100644 --- a/leo_span/symbol/sym/constant.SelfUpper.html +++ b/leo_span/symbol/sym/constant.SelfUpper.html @@ -1 +1 @@ -SelfUpper in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant SelfUpper

      source
      pub const SelfUpper: Symbol;
      \ No newline at end of file +SelfUpper in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant SelfUpper

      source
      pub const SelfUpper: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.Star.html b/leo_span/symbol/sym/constant.Star.html index 19b6e03cdf..7b649b13b3 100644 --- a/leo_span/symbol/sym/constant.Star.html +++ b/leo_span/symbol/sym/constant.Star.html @@ -1 +1 @@ -Star in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Star

      source
      pub const Star: Symbol;
      \ No newline at end of file +Star in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Star

      source
      pub const Star: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.Struct.html b/leo_span/symbol/sym/constant.Struct.html index 8ddb5cb3a3..a808c79887 100644 --- a/leo_span/symbol/sym/constant.Struct.html +++ b/leo_span/symbol/sym/constant.Struct.html @@ -1 +1 @@ -Struct in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Struct

      source
      pub const Struct: Symbol;
      \ No newline at end of file +Struct in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Struct

      source
      pub const Struct: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.True.html b/leo_span/symbol/sym/constant.True.html index f62cf9afb2..74f19ad74e 100644 --- a/leo_span/symbol/sym/constant.True.html +++ b/leo_span/symbol/sym/constant.True.html @@ -1 +1 @@ -True in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant True

      source
      pub const True: Symbol;
      \ No newline at end of file +True in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant True

      source
      pub const True: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.Type.html b/leo_span/symbol/sym/constant.Type.html index 4f59e5bbc4..7e8e11a858 100644 --- a/leo_span/symbol/sym/constant.Type.html +++ b/leo_span/symbol/sym/constant.Type.html @@ -1 +1 @@ -Type in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Type

      source
      pub const Type: Symbol;
      \ No newline at end of file +Type in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant Type

      source
      pub const Type: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant._nonce.html b/leo_span/symbol/sym/constant._nonce.html index bf76a63e67..1ffd4778d7 100644 --- a/leo_span/symbol/sym/constant._nonce.html +++ b/leo_span/symbol/sym/constant._nonce.html @@ -1 +1 @@ -_nonce in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant _nonce

      source
      pub const _nonce: Symbol;
      \ No newline at end of file +_nonce in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant _nonce

      source
      pub const _nonce: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.abs.html b/leo_span/symbol/sym/constant.abs.html index 9edb1e2d52..d487b665f4 100644 --- a/leo_span/symbol/sym/constant.abs.html +++ b/leo_span/symbol/sym/constant.abs.html @@ -1 +1 @@ -abs in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant abs

      source
      pub const abs: Symbol;
      \ No newline at end of file +abs in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant abs

      source
      pub const abs: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.abs_wrapped.html b/leo_span/symbol/sym/constant.abs_wrapped.html index 5fff82a7e7..4f418a6f16 100644 --- a/leo_span/symbol/sym/constant.abs_wrapped.html +++ b/leo_span/symbol/sym/constant.abs_wrapped.html @@ -1 +1 @@ -abs_wrapped in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant abs_wrapped

      source
      pub const abs_wrapped: Symbol;
      \ No newline at end of file +abs_wrapped in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant abs_wrapped

      source
      pub const abs_wrapped: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.add.html b/leo_span/symbol/sym/constant.add.html index e27a078a7c..09e462b4a0 100644 --- a/leo_span/symbol/sym/constant.add.html +++ b/leo_span/symbol/sym/constant.add.html @@ -1 +1 @@ -add in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant add

      source
      pub const add: Symbol;
      \ No newline at end of file +add in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant add

      source
      pub const add: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.add_wrapped.html b/leo_span/symbol/sym/constant.add_wrapped.html index 785a9bb2db..4dd75010c5 100644 --- a/leo_span/symbol/sym/constant.add_wrapped.html +++ b/leo_span/symbol/sym/constant.add_wrapped.html @@ -1 +1 @@ -add_wrapped in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant add_wrapped

      source
      pub const add_wrapped: Symbol;
      \ No newline at end of file +add_wrapped in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant add_wrapped

      source
      pub const add_wrapped: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.address.html b/leo_span/symbol/sym/constant.address.html index 92ffb8a6ec..70fbbfae3f 100644 --- a/leo_span/symbol/sym/constant.address.html +++ b/leo_span/symbol/sym/constant.address.html @@ -1 +1 @@ -address in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant address

      source
      pub const address: Symbol;
      \ No newline at end of file +address in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant address

      source
      pub const address: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.aleo.html b/leo_span/symbol/sym/constant.aleo.html index 9e8a94e97a..1351308fb8 100644 --- a/leo_span/symbol/sym/constant.aleo.html +++ b/leo_span/symbol/sym/constant.aleo.html @@ -1 +1 @@ -aleo in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant aleo

      source
      pub const aleo: Symbol;
      \ No newline at end of file +aleo in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant aleo

      source
      pub const aleo: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.and.html b/leo_span/symbol/sym/constant.and.html index a053308137..d131546c73 100644 --- a/leo_span/symbol/sym/constant.and.html +++ b/leo_span/symbol/sym/constant.and.html @@ -1 +1 @@ -and in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant and

      source
      pub const and: Symbol;
      \ No newline at end of file +and in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant and

      source
      pub const and: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.assert.html b/leo_span/symbol/sym/constant.assert.html index 0c89022cbd..7eaf6f580c 100644 --- a/leo_span/symbol/sym/constant.assert.html +++ b/leo_span/symbol/sym/constant.assert.html @@ -1 +1 @@ -assert in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant assert

      source
      pub const assert: Symbol;
      \ No newline at end of file +assert in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant assert

      source
      pub const assert: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.assert_eq.html b/leo_span/symbol/sym/constant.assert_eq.html index 67ecf3287f..4fe9da2173 100644 --- a/leo_span/symbol/sym/constant.assert_eq.html +++ b/leo_span/symbol/sym/constant.assert_eq.html @@ -1 +1 @@ -assert_eq in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant assert_eq

      source
      pub const assert_eq: Symbol;
      \ No newline at end of file +assert_eq in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant assert_eq

      source
      pub const assert_eq: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.assert_neq.html b/leo_span/symbol/sym/constant.assert_neq.html index f34f76aae8..bc590ab5dd 100644 --- a/leo_span/symbol/sym/constant.assert_neq.html +++ b/leo_span/symbol/sym/constant.assert_neq.html @@ -1 +1 @@ -assert_neq in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant assert_neq

      source
      pub const assert_neq: Symbol;
      \ No newline at end of file +assert_neq in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant assert_neq

      source
      pub const assert_neq: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.block.html b/leo_span/symbol/sym/constant.block.html index 7e5a4246a3..2210ae72d4 100644 --- a/leo_span/symbol/sym/constant.block.html +++ b/leo_span/symbol/sym/constant.block.html @@ -1 +1 @@ -block in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant block

      source
      pub const block: Symbol;
      \ No newline at end of file +block in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant block

      source
      pub const block: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.bool.html b/leo_span/symbol/sym/constant.bool.html index ffa85971f0..8394a7cc2c 100644 --- a/leo_span/symbol/sym/constant.bool.html +++ b/leo_span/symbol/sym/constant.bool.html @@ -1 +1 @@ -bool in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant bool

      source
      pub const bool: Symbol;
      \ No newline at end of file +bool in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant bool

      source
      pub const bool: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.caller.html b/leo_span/symbol/sym/constant.caller.html index bbf06d894d..cc414ff18b 100644 --- a/leo_span/symbol/sym/constant.caller.html +++ b/leo_span/symbol/sym/constant.caller.html @@ -1 +1 @@ -caller in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant caller

      source
      pub const caller: Symbol;
      \ No newline at end of file +caller in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant caller

      source
      pub const caller: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.commit_to_address.html b/leo_span/symbol/sym/constant.commit_to_address.html index 6ff92cc1cc..460c1b0795 100644 --- a/leo_span/symbol/sym/constant.commit_to_address.html +++ b/leo_span/symbol/sym/constant.commit_to_address.html @@ -1 +1 @@ -commit_to_address in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant commit_to_address

      source
      pub const commit_to_address: Symbol;
      \ No newline at end of file +commit_to_address in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant commit_to_address

      source
      pub const commit_to_address: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.commit_to_field.html b/leo_span/symbol/sym/constant.commit_to_field.html index c598ae3480..855b47ccdb 100644 --- a/leo_span/symbol/sym/constant.commit_to_field.html +++ b/leo_span/symbol/sym/constant.commit_to_field.html @@ -1 +1 @@ -commit_to_field in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant commit_to_field

      source
      pub const commit_to_field: Symbol;
      \ No newline at end of file +commit_to_field in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant commit_to_field

      source
      pub const commit_to_field: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.commit_to_group.html b/leo_span/symbol/sym/constant.commit_to_group.html index fa31dbbe43..1ce2c99863 100644 --- a/leo_span/symbol/sym/constant.commit_to_group.html +++ b/leo_span/symbol/sym/constant.commit_to_group.html @@ -1 +1 @@ -commit_to_group in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant commit_to_group

      source
      pub const commit_to_group: Symbol;
      \ No newline at end of file +commit_to_group in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant commit_to_group

      source
      pub const commit_to_group: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.console.html b/leo_span/symbol/sym/constant.console.html index ba3ac7caf8..8e5fcfdf51 100644 --- a/leo_span/symbol/sym/constant.console.html +++ b/leo_span/symbol/sym/constant.console.html @@ -1 +1 @@ -console in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant console

      source
      pub const console: Symbol;
      \ No newline at end of file +console in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant console

      source
      pub const console: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.constant.html b/leo_span/symbol/sym/constant.constant.html index 26d3075695..850ec8e538 100644 --- a/leo_span/symbol/sym/constant.constant.html +++ b/leo_span/symbol/sym/constant.constant.html @@ -1 +1 @@ -constant in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant constant

      source
      pub const constant: Symbol;
      \ No newline at end of file +constant in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant constant

      source
      pub const constant: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.contains.html b/leo_span/symbol/sym/constant.contains.html index 623f493f9c..0abe6de38b 100644 --- a/leo_span/symbol/sym/constant.contains.html +++ b/leo_span/symbol/sym/constant.contains.html @@ -1 +1 @@ -contains in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant contains

      source
      pub const contains: Symbol;
      \ No newline at end of file +contains in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant contains

      source
      pub const contains: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.decrement.html b/leo_span/symbol/sym/constant.decrement.html index 371170c9c8..b77c5e9753 100644 --- a/leo_span/symbol/sym/constant.decrement.html +++ b/leo_span/symbol/sym/constant.decrement.html @@ -1 +1 @@ -decrement in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant decrement

      source
      pub const decrement: Symbol;
      \ No newline at end of file +decrement in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant decrement

      source
      pub const decrement: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.div.html b/leo_span/symbol/sym/constant.div.html index 0d1df21e96..8fe95c777c 100644 --- a/leo_span/symbol/sym/constant.div.html +++ b/leo_span/symbol/sym/constant.div.html @@ -1 +1 @@ -div in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant div

      source
      pub const div: Symbol;
      \ No newline at end of file +div in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant div

      source
      pub const div: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.div_wrapped.html b/leo_span/symbol/sym/constant.div_wrapped.html index eb5dc02cab..23f6fc94de 100644 --- a/leo_span/symbol/sym/constant.div_wrapped.html +++ b/leo_span/symbol/sym/constant.div_wrapped.html @@ -1 +1 @@ -div_wrapped in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant div_wrapped

      source
      pub const div_wrapped: Symbol;
      \ No newline at end of file +div_wrapped in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant div_wrapped

      source
      pub const div_wrapped: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.double.html b/leo_span/symbol/sym/constant.double.html index 1a5bf73be2..518dae9d43 100644 --- a/leo_span/symbol/sym/constant.double.html +++ b/leo_span/symbol/sym/constant.double.html @@ -1 +1 @@ -double in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant double

      source
      pub const double: Symbol;
      \ No newline at end of file +double in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant double

      source
      pub const double: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.eq.html b/leo_span/symbol/sym/constant.eq.html index 908b6c87d6..756766f5ff 100644 --- a/leo_span/symbol/sym/constant.eq.html +++ b/leo_span/symbol/sym/constant.eq.html @@ -1 +1 @@ -eq in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant eq

      source
      pub const eq: Symbol;
      \ No newline at end of file +eq in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant eq

      source
      pub const eq: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.field.html b/leo_span/symbol/sym/constant.field.html index 115afa1081..148a8137d8 100644 --- a/leo_span/symbol/sym/constant.field.html +++ b/leo_span/symbol/sym/constant.field.html @@ -1 +1 @@ -field in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant field

      source
      pub const field: Symbol;
      \ No newline at end of file +field in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant field

      source
      pub const field: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.function.html b/leo_span/symbol/sym/constant.function.html index d5c5c9767d..59962c7a7e 100644 --- a/leo_span/symbol/sym/constant.function.html +++ b/leo_span/symbol/sym/constant.function.html @@ -1 +1 @@ -function in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant function

      source
      pub const function: Symbol;
      \ No newline at end of file +function in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant function

      source
      pub const function: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.get.html b/leo_span/symbol/sym/constant.get.html index bb703f9dda..e74dccb8e0 100644 --- a/leo_span/symbol/sym/constant.get.html +++ b/leo_span/symbol/sym/constant.get.html @@ -1 +1 @@ -get in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant get

      source
      pub const get: Symbol;
      \ No newline at end of file +get in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant get

      source
      pub const get: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.get_or_use.html b/leo_span/symbol/sym/constant.get_or_use.html index 2b738c93df..45401a69cb 100644 --- a/leo_span/symbol/sym/constant.get_or_use.html +++ b/leo_span/symbol/sym/constant.get_or_use.html @@ -1 +1 @@ -get_or_use in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant get_or_use

      source
      pub const get_or_use: Symbol;
      \ No newline at end of file +get_or_use in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant get_or_use

      source
      pub const get_or_use: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.group.html b/leo_span/symbol/sym/constant.group.html index ad6a815e76..0e187e848e 100644 --- a/leo_span/symbol/sym/constant.group.html +++ b/leo_span/symbol/sym/constant.group.html @@ -1 +1 @@ -group in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant group

      source
      pub const group: Symbol;
      \ No newline at end of file +group in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant group

      source
      pub const group: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.gt.html b/leo_span/symbol/sym/constant.gt.html index 4a31f532a4..64e24fd36c 100644 --- a/leo_span/symbol/sym/constant.gt.html +++ b/leo_span/symbol/sym/constant.gt.html @@ -1 +1 @@ -gt in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant gt

      source
      pub const gt: Symbol;
      \ No newline at end of file +gt in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant gt

      source
      pub const gt: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.gte.html b/leo_span/symbol/sym/constant.gte.html index a721d0b551..1d9b64c6fc 100644 --- a/leo_span/symbol/sym/constant.gte.html +++ b/leo_span/symbol/sym/constant.gte.html @@ -1 +1 @@ -gte in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant gte

      source
      pub const gte: Symbol;
      \ No newline at end of file +gte in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant gte

      source
      pub const gte: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.hash_to_address.html b/leo_span/symbol/sym/constant.hash_to_address.html index d44bc44201..263f3a5d8d 100644 --- a/leo_span/symbol/sym/constant.hash_to_address.html +++ b/leo_span/symbol/sym/constant.hash_to_address.html @@ -1 +1 @@ -hash_to_address in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_address

      source
      pub const hash_to_address: Symbol;
      \ No newline at end of file +hash_to_address in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_address

      source
      pub const hash_to_address: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.hash_to_field.html b/leo_span/symbol/sym/constant.hash_to_field.html index 4ecc194eb6..ac935033e2 100644 --- a/leo_span/symbol/sym/constant.hash_to_field.html +++ b/leo_span/symbol/sym/constant.hash_to_field.html @@ -1 +1 @@ -hash_to_field in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_field

      source
      pub const hash_to_field: Symbol;
      \ No newline at end of file +hash_to_field in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_field

      source
      pub const hash_to_field: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.hash_to_group.html b/leo_span/symbol/sym/constant.hash_to_group.html index 5b2a659c3f..8ff0eb58f6 100644 --- a/leo_span/symbol/sym/constant.hash_to_group.html +++ b/leo_span/symbol/sym/constant.hash_to_group.html @@ -1 +1 @@ -hash_to_group in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_group

      source
      pub const hash_to_group: Symbol;
      \ No newline at end of file +hash_to_group in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_group

      source
      pub const hash_to_group: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.hash_to_i128.html b/leo_span/symbol/sym/constant.hash_to_i128.html index e5a23118b6..8148c2a330 100644 --- a/leo_span/symbol/sym/constant.hash_to_i128.html +++ b/leo_span/symbol/sym/constant.hash_to_i128.html @@ -1 +1 @@ -hash_to_i128 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_i128

      source
      pub const hash_to_i128: Symbol;
      \ No newline at end of file +hash_to_i128 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_i128

      source
      pub const hash_to_i128: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.hash_to_i16.html b/leo_span/symbol/sym/constant.hash_to_i16.html index edcb65da40..801b97baf7 100644 --- a/leo_span/symbol/sym/constant.hash_to_i16.html +++ b/leo_span/symbol/sym/constant.hash_to_i16.html @@ -1 +1 @@ -hash_to_i16 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_i16

      source
      pub const hash_to_i16: Symbol;
      \ No newline at end of file +hash_to_i16 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_i16

      source
      pub const hash_to_i16: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.hash_to_i32.html b/leo_span/symbol/sym/constant.hash_to_i32.html index 577f7f6549..3bdd7ab57f 100644 --- a/leo_span/symbol/sym/constant.hash_to_i32.html +++ b/leo_span/symbol/sym/constant.hash_to_i32.html @@ -1 +1 @@ -hash_to_i32 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_i32

      source
      pub const hash_to_i32: Symbol;
      \ No newline at end of file +hash_to_i32 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_i32

      source
      pub const hash_to_i32: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.hash_to_i64.html b/leo_span/symbol/sym/constant.hash_to_i64.html index f3a1ff7a2e..3bb7dbdb04 100644 --- a/leo_span/symbol/sym/constant.hash_to_i64.html +++ b/leo_span/symbol/sym/constant.hash_to_i64.html @@ -1 +1 @@ -hash_to_i64 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_i64

      source
      pub const hash_to_i64: Symbol;
      \ No newline at end of file +hash_to_i64 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_i64

      source
      pub const hash_to_i64: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.hash_to_i8.html b/leo_span/symbol/sym/constant.hash_to_i8.html index 9e96548b0d..be5cc5a270 100644 --- a/leo_span/symbol/sym/constant.hash_to_i8.html +++ b/leo_span/symbol/sym/constant.hash_to_i8.html @@ -1 +1 @@ -hash_to_i8 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_i8

      source
      pub const hash_to_i8: Symbol;
      \ No newline at end of file +hash_to_i8 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_i8

      source
      pub const hash_to_i8: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.hash_to_scalar.html b/leo_span/symbol/sym/constant.hash_to_scalar.html index defe2e446c..77d1f90047 100644 --- a/leo_span/symbol/sym/constant.hash_to_scalar.html +++ b/leo_span/symbol/sym/constant.hash_to_scalar.html @@ -1 +1 @@ -hash_to_scalar in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_scalar

      source
      pub const hash_to_scalar: Symbol;
      \ No newline at end of file +hash_to_scalar in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_scalar

      source
      pub const hash_to_scalar: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.hash_to_u128.html b/leo_span/symbol/sym/constant.hash_to_u128.html index f2da6bb8f2..61cad6c1d0 100644 --- a/leo_span/symbol/sym/constant.hash_to_u128.html +++ b/leo_span/symbol/sym/constant.hash_to_u128.html @@ -1 +1 @@ -hash_to_u128 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_u128

      source
      pub const hash_to_u128: Symbol;
      \ No newline at end of file +hash_to_u128 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_u128

      source
      pub const hash_to_u128: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.hash_to_u16.html b/leo_span/symbol/sym/constant.hash_to_u16.html index 809fb47516..6a3c7a6eda 100644 --- a/leo_span/symbol/sym/constant.hash_to_u16.html +++ b/leo_span/symbol/sym/constant.hash_to_u16.html @@ -1 +1 @@ -hash_to_u16 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_u16

      source
      pub const hash_to_u16: Symbol;
      \ No newline at end of file +hash_to_u16 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_u16

      source
      pub const hash_to_u16: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.hash_to_u32.html b/leo_span/symbol/sym/constant.hash_to_u32.html index 1b1fba5dcf..7cf85838cd 100644 --- a/leo_span/symbol/sym/constant.hash_to_u32.html +++ b/leo_span/symbol/sym/constant.hash_to_u32.html @@ -1 +1 @@ -hash_to_u32 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_u32

      source
      pub const hash_to_u32: Symbol;
      \ No newline at end of file +hash_to_u32 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_u32

      source
      pub const hash_to_u32: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.hash_to_u64.html b/leo_span/symbol/sym/constant.hash_to_u64.html index 70aac1f5ef..c5845ceb54 100644 --- a/leo_span/symbol/sym/constant.hash_to_u64.html +++ b/leo_span/symbol/sym/constant.hash_to_u64.html @@ -1 +1 @@ -hash_to_u64 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_u64

      source
      pub const hash_to_u64: Symbol;
      \ No newline at end of file +hash_to_u64 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_u64

      source
      pub const hash_to_u64: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.hash_to_u8.html b/leo_span/symbol/sym/constant.hash_to_u8.html index f0a3bec519..ec87e466fd 100644 --- a/leo_span/symbol/sym/constant.hash_to_u8.html +++ b/leo_span/symbol/sym/constant.hash_to_u8.html @@ -1 +1 @@ -hash_to_u8 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_u8

      source
      pub const hash_to_u8: Symbol;
      \ No newline at end of file +hash_to_u8 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant hash_to_u8

      source
      pub const hash_to_u8: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.height.html b/leo_span/symbol/sym/constant.height.html index 1f77a75bec..c59767e814 100644 --- a/leo_span/symbol/sym/constant.height.html +++ b/leo_span/symbol/sym/constant.height.html @@ -1 +1 @@ -height in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant height

      source
      pub const height: Symbol;
      \ No newline at end of file +height in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant height

      source
      pub const height: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.i128.html b/leo_span/symbol/sym/constant.i128.html index 6da0717ada..441d524cf1 100644 --- a/leo_span/symbol/sym/constant.i128.html +++ b/leo_span/symbol/sym/constant.i128.html @@ -1 +1 @@ -i128 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant i128

      source
      pub const i128: Symbol;
      \ No newline at end of file +i128 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant i128

      source
      pub const i128: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.i16.html b/leo_span/symbol/sym/constant.i16.html index f96b4e916a..9b8aaf2f66 100644 --- a/leo_span/symbol/sym/constant.i16.html +++ b/leo_span/symbol/sym/constant.i16.html @@ -1 +1 @@ -i16 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant i16

      source
      pub const i16: Symbol;
      \ No newline at end of file +i16 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant i16

      source
      pub const i16: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.i32.html b/leo_span/symbol/sym/constant.i32.html index c9146b22fc..88b64ee969 100644 --- a/leo_span/symbol/sym/constant.i32.html +++ b/leo_span/symbol/sym/constant.i32.html @@ -1 +1 @@ -i32 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant i32

      source
      pub const i32: Symbol;
      \ No newline at end of file +i32 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant i32

      source
      pub const i32: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.i64.html b/leo_span/symbol/sym/constant.i64.html index a4dc9becaa..bf208ff363 100644 --- a/leo_span/symbol/sym/constant.i64.html +++ b/leo_span/symbol/sym/constant.i64.html @@ -1 +1 @@ -i64 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant i64

      source
      pub const i64: Symbol;
      \ No newline at end of file +i64 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant i64

      source
      pub const i64: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.i8.html b/leo_span/symbol/sym/constant.i8.html index 4e0648a8b2..310f4bd42a 100644 --- a/leo_span/symbol/sym/constant.i8.html +++ b/leo_span/symbol/sym/constant.i8.html @@ -1 +1 @@ -i8 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant i8

      source
      pub const i8: Symbol;
      \ No newline at end of file +i8 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant i8

      source
      pub const i8: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.id.html b/leo_span/symbol/sym/constant.id.html index c9e941b8b6..b45a316825 100644 --- a/leo_span/symbol/sym/constant.id.html +++ b/leo_span/symbol/sym/constant.id.html @@ -1 +1 @@ -id in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant id

      source
      pub const id: Symbol;
      \ No newline at end of file +id in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant id

      source
      pub const id: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.import.html b/leo_span/symbol/sym/constant.import.html index e7898e071e..5cd50a862b 100644 --- a/leo_span/symbol/sym/constant.import.html +++ b/leo_span/symbol/sym/constant.import.html @@ -1 +1 @@ -import in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant import

      source
      pub const import: Symbol;
      \ No newline at end of file +import in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant import

      source
      pub const import: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.increment.html b/leo_span/symbol/sym/constant.increment.html index 8e12b7e945..2015e941ec 100644 --- a/leo_span/symbol/sym/constant.increment.html +++ b/leo_span/symbol/sym/constant.increment.html @@ -1 +1 @@ -increment in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant increment

      source
      pub const increment: Symbol;
      \ No newline at end of file +increment in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant increment

      source
      pub const increment: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.inline.html b/leo_span/symbol/sym/constant.inline.html index 295cdf765a..e35c60911e 100644 --- a/leo_span/symbol/sym/constant.inline.html +++ b/leo_span/symbol/sym/constant.inline.html @@ -1 +1 @@ -inline in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant inline

      source
      pub const inline: Symbol;
      \ No newline at end of file +inline in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant inline

      source
      pub const inline: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.input.html b/leo_span/symbol/sym/constant.input.html index a7ebe9bd58..0676840f3e 100644 --- a/leo_span/symbol/sym/constant.input.html +++ b/leo_span/symbol/sym/constant.input.html @@ -1 +1 @@ -input in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant input

      source
      pub const input: Symbol;
      \ No newline at end of file +input in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant input

      source
      pub const input: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.inv.html b/leo_span/symbol/sym/constant.inv.html index d1a073fcd2..0768673152 100644 --- a/leo_span/symbol/sym/constant.inv.html +++ b/leo_span/symbol/sym/constant.inv.html @@ -1 +1 @@ -inv in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant inv

      source
      pub const inv: Symbol;
      \ No newline at end of file +inv in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant inv

      source
      pub const inv: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.leo.html b/leo_span/symbol/sym/constant.leo.html index bb7e2c82a7..6183aa85f1 100644 --- a/leo_span/symbol/sym/constant.leo.html +++ b/leo_span/symbol/sym/constant.leo.html @@ -1 +1 @@ -leo in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant leo

      source
      pub const leo: Symbol;
      \ No newline at end of file +leo in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant leo

      source
      pub const leo: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.lt.html b/leo_span/symbol/sym/constant.lt.html index c771236ab8..84974925d0 100644 --- a/leo_span/symbol/sym/constant.lt.html +++ b/leo_span/symbol/sym/constant.lt.html @@ -1 +1 @@ -lt in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant lt

      source
      pub const lt: Symbol;
      \ No newline at end of file +lt in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant lt

      source
      pub const lt: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.lte.html b/leo_span/symbol/sym/constant.lte.html index 82489a8af5..6bfc3aa2fc 100644 --- a/leo_span/symbol/sym/constant.lte.html +++ b/leo_span/symbol/sym/constant.lte.html @@ -1 +1 @@ -lte in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant lte

      source
      pub const lte: Symbol;
      \ No newline at end of file +lte in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant lte

      source
      pub const lte: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.main.html b/leo_span/symbol/sym/constant.main.html index d1df346f68..13e829d753 100644 --- a/leo_span/symbol/sym/constant.main.html +++ b/leo_span/symbol/sym/constant.main.html @@ -1 +1 @@ -main in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant main

      source
      pub const main: Symbol;
      \ No newline at end of file +main in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant main

      source
      pub const main: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.mapping.html b/leo_span/symbol/sym/constant.mapping.html index c05fb09e35..7fe242ad20 100644 --- a/leo_span/symbol/sym/constant.mapping.html +++ b/leo_span/symbol/sym/constant.mapping.html @@ -1 +1 @@ -mapping in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant mapping

      source
      pub const mapping: Symbol;
      \ No newline at end of file +mapping in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant mapping

      source
      pub const mapping: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.mul.html b/leo_span/symbol/sym/constant.mul.html index 64d0b29aee..a3a0793392 100644 --- a/leo_span/symbol/sym/constant.mul.html +++ b/leo_span/symbol/sym/constant.mul.html @@ -1 +1 @@ -mul in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant mul

      source
      pub const mul: Symbol;
      \ No newline at end of file +mul in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant mul

      source
      pub const mul: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.mul_wrapped.html b/leo_span/symbol/sym/constant.mul_wrapped.html index 1f4f2cc4bc..0254b25339 100644 --- a/leo_span/symbol/sym/constant.mul_wrapped.html +++ b/leo_span/symbol/sym/constant.mul_wrapped.html @@ -1 +1 @@ -mul_wrapped in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant mul_wrapped

      source
      pub const mul_wrapped: Symbol;
      \ No newline at end of file +mul_wrapped in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant mul_wrapped

      source
      pub const mul_wrapped: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.nand.html b/leo_span/symbol/sym/constant.nand.html index 9b6314bf31..0e762783af 100644 --- a/leo_span/symbol/sym/constant.nand.html +++ b/leo_span/symbol/sym/constant.nand.html @@ -1 +1 @@ -nand in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant nand

      source
      pub const nand: Symbol;
      \ No newline at end of file +nand in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant nand

      source
      pub const nand: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.neg.html b/leo_span/symbol/sym/constant.neg.html index 8be0edb68a..07045b8875 100644 --- a/leo_span/symbol/sym/constant.neg.html +++ b/leo_span/symbol/sym/constant.neg.html @@ -1 +1 @@ -neg in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant neg

      source
      pub const neg: Symbol;
      \ No newline at end of file +neg in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant neg

      source
      pub const neg: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.neq.html b/leo_span/symbol/sym/constant.neq.html index 2d67802849..7240ffb450 100644 --- a/leo_span/symbol/sym/constant.neq.html +++ b/leo_span/symbol/sym/constant.neq.html @@ -1 +1 @@ -neq in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant neq

      source
      pub const neq: Symbol;
      \ No newline at end of file +neq in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant neq

      source
      pub const neq: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.network.html b/leo_span/symbol/sym/constant.network.html index d6b08cb75f..0f56f227b4 100644 --- a/leo_span/symbol/sym/constant.network.html +++ b/leo_span/symbol/sym/constant.network.html @@ -1 +1 @@ -network in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant network

      source
      pub const network: Symbol;
      \ No newline at end of file +network in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant network

      source
      pub const network: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.nor.html b/leo_span/symbol/sym/constant.nor.html index cd74126661..9be2124d1a 100644 --- a/leo_span/symbol/sym/constant.nor.html +++ b/leo_span/symbol/sym/constant.nor.html @@ -1 +1 @@ -nor in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant nor

      source
      pub const nor: Symbol;
      \ No newline at end of file +nor in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant nor

      source
      pub const nor: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.not.html b/leo_span/symbol/sym/constant.not.html index 0be6e03628..7002a6f62b 100644 --- a/leo_span/symbol/sym/constant.not.html +++ b/leo_span/symbol/sym/constant.not.html @@ -1 +1 @@ -not in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant not

      source
      pub const not: Symbol;
      \ No newline at end of file +not in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant not

      source
      pub const not: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.or.html b/leo_span/symbol/sym/constant.or.html index 1974571339..bb51baa694 100644 --- a/leo_span/symbol/sym/constant.or.html +++ b/leo_span/symbol/sym/constant.or.html @@ -1 +1 @@ -or in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant or

      source
      pub const or: Symbol;
      \ No newline at end of file +or in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant or

      source
      pub const or: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.owner.html b/leo_span/symbol/sym/constant.owner.html index de01714eb4..1dd68536ff 100644 --- a/leo_span/symbol/sym/constant.owner.html +++ b/leo_span/symbol/sym/constant.owner.html @@ -1 +1 @@ -owner in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant owner

      source
      pub const owner: Symbol;
      \ No newline at end of file +owner in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant owner

      source
      pub const owner: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.pow.html b/leo_span/symbol/sym/constant.pow.html index 2b5f719068..444265539c 100644 --- a/leo_span/symbol/sym/constant.pow.html +++ b/leo_span/symbol/sym/constant.pow.html @@ -1 +1 @@ -pow in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant pow

      source
      pub const pow: Symbol;
      \ No newline at end of file +pow in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant pow

      source
      pub const pow: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.pow_wrapped.html b/leo_span/symbol/sym/constant.pow_wrapped.html index b6ee39ed05..467791b63b 100644 --- a/leo_span/symbol/sym/constant.pow_wrapped.html +++ b/leo_span/symbol/sym/constant.pow_wrapped.html @@ -1 +1 @@ -pow_wrapped in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant pow_wrapped

      source
      pub const pow_wrapped: Symbol;
      \ No newline at end of file +pow_wrapped in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant pow_wrapped

      source
      pub const pow_wrapped: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.print_mapping.html b/leo_span/symbol/sym/constant.print_mapping.html new file mode 100644 index 0000000000..ace2dbe9b7 --- /dev/null +++ b/leo_span/symbol/sym/constant.print_mapping.html @@ -0,0 +1 @@ +print_mapping in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant print_mapping

      source
      pub const print_mapping: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.private.html b/leo_span/symbol/sym/constant.private.html index 014e1edbd1..cbdec84b22 100644 --- a/leo_span/symbol/sym/constant.private.html +++ b/leo_span/symbol/sym/constant.private.html @@ -1 +1 @@ -private in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant private

      source
      pub const private: Symbol;
      \ No newline at end of file +private in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant private

      source
      pub const private: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.program.html b/leo_span/symbol/sym/constant.program.html index a0aa390f8e..d58ae66aa0 100644 --- a/leo_span/symbol/sym/constant.program.html +++ b/leo_span/symbol/sym/constant.program.html @@ -1 +1 @@ -program in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant program

      source
      pub const program: Symbol;
      \ No newline at end of file +program in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant program

      source
      pub const program: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.public.html b/leo_span/symbol/sym/constant.public.html index f96cb53a7b..8c3f46b5d9 100644 --- a/leo_span/symbol/sym/constant.public.html +++ b/leo_span/symbol/sym/constant.public.html @@ -1 +1 @@ -public in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant public

      source
      pub const public: Symbol;
      \ No newline at end of file +public in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant public

      source
      pub const public: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.rand_address.html b/leo_span/symbol/sym/constant.rand_address.html index 55edbadbf4..02d0b3228e 100644 --- a/leo_span/symbol/sym/constant.rand_address.html +++ b/leo_span/symbol/sym/constant.rand_address.html @@ -1 +1 @@ -rand_address in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_address

      source
      pub const rand_address: Symbol;
      \ No newline at end of file +rand_address in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_address

      source
      pub const rand_address: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.rand_bool.html b/leo_span/symbol/sym/constant.rand_bool.html index 946cef6b43..c71ef92c4a 100644 --- a/leo_span/symbol/sym/constant.rand_bool.html +++ b/leo_span/symbol/sym/constant.rand_bool.html @@ -1 +1 @@ -rand_bool in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_bool

      source
      pub const rand_bool: Symbol;
      \ No newline at end of file +rand_bool in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_bool

      source
      pub const rand_bool: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.rand_field.html b/leo_span/symbol/sym/constant.rand_field.html index 8b294370a5..f622127022 100644 --- a/leo_span/symbol/sym/constant.rand_field.html +++ b/leo_span/symbol/sym/constant.rand_field.html @@ -1 +1 @@ -rand_field in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_field

      source
      pub const rand_field: Symbol;
      \ No newline at end of file +rand_field in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_field

      source
      pub const rand_field: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.rand_group.html b/leo_span/symbol/sym/constant.rand_group.html index f8a2a095f6..5b1fb673ba 100644 --- a/leo_span/symbol/sym/constant.rand_group.html +++ b/leo_span/symbol/sym/constant.rand_group.html @@ -1 +1 @@ -rand_group in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_group

      source
      pub const rand_group: Symbol;
      \ No newline at end of file +rand_group in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_group

      source
      pub const rand_group: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.rand_i128.html b/leo_span/symbol/sym/constant.rand_i128.html index 19eef4b264..24abcc7dc1 100644 --- a/leo_span/symbol/sym/constant.rand_i128.html +++ b/leo_span/symbol/sym/constant.rand_i128.html @@ -1 +1 @@ -rand_i128 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_i128

      source
      pub const rand_i128: Symbol;
      \ No newline at end of file +rand_i128 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_i128

      source
      pub const rand_i128: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.rand_i16.html b/leo_span/symbol/sym/constant.rand_i16.html index 97dd64adcb..255c63efd1 100644 --- a/leo_span/symbol/sym/constant.rand_i16.html +++ b/leo_span/symbol/sym/constant.rand_i16.html @@ -1 +1 @@ -rand_i16 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_i16

      source
      pub const rand_i16: Symbol;
      \ No newline at end of file +rand_i16 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_i16

      source
      pub const rand_i16: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.rand_i32.html b/leo_span/symbol/sym/constant.rand_i32.html index b92e6a71a9..ef7b70f1ca 100644 --- a/leo_span/symbol/sym/constant.rand_i32.html +++ b/leo_span/symbol/sym/constant.rand_i32.html @@ -1 +1 @@ -rand_i32 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_i32

      source
      pub const rand_i32: Symbol;
      \ No newline at end of file +rand_i32 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_i32

      source
      pub const rand_i32: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.rand_i64.html b/leo_span/symbol/sym/constant.rand_i64.html index 9f863fb76c..4eae188613 100644 --- a/leo_span/symbol/sym/constant.rand_i64.html +++ b/leo_span/symbol/sym/constant.rand_i64.html @@ -1 +1 @@ -rand_i64 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_i64

      source
      pub const rand_i64: Symbol;
      \ No newline at end of file +rand_i64 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_i64

      source
      pub const rand_i64: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.rand_i8.html b/leo_span/symbol/sym/constant.rand_i8.html index eea0c408e5..1df96b6cf2 100644 --- a/leo_span/symbol/sym/constant.rand_i8.html +++ b/leo_span/symbol/sym/constant.rand_i8.html @@ -1 +1 @@ -rand_i8 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_i8

      source
      pub const rand_i8: Symbol;
      \ No newline at end of file +rand_i8 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_i8

      source
      pub const rand_i8: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.rand_scalar.html b/leo_span/symbol/sym/constant.rand_scalar.html index f2681efbc0..06832ab87a 100644 --- a/leo_span/symbol/sym/constant.rand_scalar.html +++ b/leo_span/symbol/sym/constant.rand_scalar.html @@ -1 +1 @@ -rand_scalar in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_scalar

      source
      pub const rand_scalar: Symbol;
      \ No newline at end of file +rand_scalar in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_scalar

      source
      pub const rand_scalar: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.rand_u128.html b/leo_span/symbol/sym/constant.rand_u128.html index d4c10dc941..5e4643e70f 100644 --- a/leo_span/symbol/sym/constant.rand_u128.html +++ b/leo_span/symbol/sym/constant.rand_u128.html @@ -1 +1 @@ -rand_u128 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_u128

      source
      pub const rand_u128: Symbol;
      \ No newline at end of file +rand_u128 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_u128

      source
      pub const rand_u128: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.rand_u16.html b/leo_span/symbol/sym/constant.rand_u16.html index d01611cf74..5b82a9b8c2 100644 --- a/leo_span/symbol/sym/constant.rand_u16.html +++ b/leo_span/symbol/sym/constant.rand_u16.html @@ -1 +1 @@ -rand_u16 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_u16

      source
      pub const rand_u16: Symbol;
      \ No newline at end of file +rand_u16 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_u16

      source
      pub const rand_u16: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.rand_u32.html b/leo_span/symbol/sym/constant.rand_u32.html index ef4d039dcc..b6d9059d5f 100644 --- a/leo_span/symbol/sym/constant.rand_u32.html +++ b/leo_span/symbol/sym/constant.rand_u32.html @@ -1 +1 @@ -rand_u32 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_u32

      source
      pub const rand_u32: Symbol;
      \ No newline at end of file +rand_u32 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_u32

      source
      pub const rand_u32: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.rand_u64.html b/leo_span/symbol/sym/constant.rand_u64.html index 1d23192757..a82f64494a 100644 --- a/leo_span/symbol/sym/constant.rand_u64.html +++ b/leo_span/symbol/sym/constant.rand_u64.html @@ -1 +1 @@ -rand_u64 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_u64

      source
      pub const rand_u64: Symbol;
      \ No newline at end of file +rand_u64 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_u64

      source
      pub const rand_u64: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.rand_u8.html b/leo_span/symbol/sym/constant.rand_u8.html index 69723d1df1..98bd02c174 100644 --- a/leo_span/symbol/sym/constant.rand_u8.html +++ b/leo_span/symbol/sym/constant.rand_u8.html @@ -1 +1 @@ -rand_u8 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_u8

      source
      pub const rand_u8: Symbol;
      \ No newline at end of file +rand_u8 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rand_u8

      source
      pub const rand_u8: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.record.html b/leo_span/symbol/sym/constant.record.html index 0a32b62899..2afb115505 100644 --- a/leo_span/symbol/sym/constant.record.html +++ b/leo_span/symbol/sym/constant.record.html @@ -1 +1 @@ -record in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant record

      source
      pub const record: Symbol;
      \ No newline at end of file +record in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant record

      source
      pub const record: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.rem.html b/leo_span/symbol/sym/constant.rem.html index 4dccf0084b..1a069be43c 100644 --- a/leo_span/symbol/sym/constant.rem.html +++ b/leo_span/symbol/sym/constant.rem.html @@ -1 +1 @@ -rem in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rem

      source
      pub const rem: Symbol;
      \ No newline at end of file +rem in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rem

      source
      pub const rem: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.rem_wrapped.html b/leo_span/symbol/sym/constant.rem_wrapped.html index 7c7276eb27..3e5d3f63d8 100644 --- a/leo_span/symbol/sym/constant.rem_wrapped.html +++ b/leo_span/symbol/sym/constant.rem_wrapped.html @@ -1 +1 @@ -rem_wrapped in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rem_wrapped

      source
      pub const rem_wrapped: Symbol;
      \ No newline at end of file +rem_wrapped in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant rem_wrapped

      source
      pub const rem_wrapped: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.remove.html b/leo_span/symbol/sym/constant.remove.html index c0579c6e6b..1e0fe6ff98 100644 --- a/leo_span/symbol/sym/constant.remove.html +++ b/leo_span/symbol/sym/constant.remove.html @@ -1 +1 @@ -remove in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant remove

      source
      pub const remove: Symbol;
      \ No newline at end of file +remove in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant remove

      source
      pub const remove: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.scalar.html b/leo_span/symbol/sym/constant.scalar.html index 1a3323d193..b8fcad14e2 100644 --- a/leo_span/symbol/sym/constant.scalar.html +++ b/leo_span/symbol/sym/constant.scalar.html @@ -1 +1 @@ -scalar in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant scalar

      source
      pub const scalar: Symbol;
      \ No newline at end of file +scalar in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant scalar

      source
      pub const scalar: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.set.html b/leo_span/symbol/sym/constant.set.html index 56a476e168..5487de1bd7 100644 --- a/leo_span/symbol/sym/constant.set.html +++ b/leo_span/symbol/sym/constant.set.html @@ -1 +1 @@ -set in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant set

      source
      pub const set: Symbol;
      \ No newline at end of file +set in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant set

      source
      pub const set: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.set_block_height.html b/leo_span/symbol/sym/constant.set_block_height.html new file mode 100644 index 0000000000..746f13bc72 --- /dev/null +++ b/leo_span/symbol/sym/constant.set_block_height.html @@ -0,0 +1 @@ +set_block_height in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant set_block_height

      source
      pub const set_block_height: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.shl.html b/leo_span/symbol/sym/constant.shl.html index d098c730c4..0fa61882b5 100644 --- a/leo_span/symbol/sym/constant.shl.html +++ b/leo_span/symbol/sym/constant.shl.html @@ -1 +1 @@ -shl in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant shl

      source
      pub const shl: Symbol;
      \ No newline at end of file +shl in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant shl

      source
      pub const shl: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.shl_wrapped.html b/leo_span/symbol/sym/constant.shl_wrapped.html index 1fa67838d6..2ffcc05b74 100644 --- a/leo_span/symbol/sym/constant.shl_wrapped.html +++ b/leo_span/symbol/sym/constant.shl_wrapped.html @@ -1 +1 @@ -shl_wrapped in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant shl_wrapped

      source
      pub const shl_wrapped: Symbol;
      \ No newline at end of file +shl_wrapped in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant shl_wrapped

      source
      pub const shl_wrapped: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.shr.html b/leo_span/symbol/sym/constant.shr.html index 410d5f1248..3b59da327d 100644 --- a/leo_span/symbol/sym/constant.shr.html +++ b/leo_span/symbol/sym/constant.shr.html @@ -1 +1 @@ -shr in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant shr

      source
      pub const shr: Symbol;
      \ No newline at end of file +shr in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant shr

      source
      pub const shr: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.shr_wrapped.html b/leo_span/symbol/sym/constant.shr_wrapped.html index e0f62b38a6..636573ea51 100644 --- a/leo_span/symbol/sym/constant.shr_wrapped.html +++ b/leo_span/symbol/sym/constant.shr_wrapped.html @@ -1 +1 @@ -shr_wrapped in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant shr_wrapped

      source
      pub const shr_wrapped: Symbol;
      \ No newline at end of file +shr_wrapped in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant shr_wrapped

      source
      pub const shr_wrapped: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.signature.html b/leo_span/symbol/sym/constant.signature.html index 2a1b2b30ef..dea6ebd65a 100644 --- a/leo_span/symbol/sym/constant.signature.html +++ b/leo_span/symbol/sym/constant.signature.html @@ -1 +1 @@ -signature in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant signature

      source
      pub const signature: Symbol;
      \ No newline at end of file +signature in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant signature

      source
      pub const signature: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.signer.html b/leo_span/symbol/sym/constant.signer.html index bb4af825e1..29f6c8b93e 100644 --- a/leo_span/symbol/sym/constant.signer.html +++ b/leo_span/symbol/sym/constant.signer.html @@ -1 +1 @@ -signer in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant signer

      source
      pub const signer: Symbol;
      \ No newline at end of file +signer in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant signer

      source
      pub const signer: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.square.html b/leo_span/symbol/sym/constant.square.html index 95d748247c..017e100a8f 100644 --- a/leo_span/symbol/sym/constant.square.html +++ b/leo_span/symbol/sym/constant.square.html @@ -1 +1 @@ -square in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant square

      source
      pub const square: Symbol;
      \ No newline at end of file +square in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant square

      source
      pub const square: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.square_root.html b/leo_span/symbol/sym/constant.square_root.html index 2085448d4d..52753dd73a 100644 --- a/leo_span/symbol/sym/constant.square_root.html +++ b/leo_span/symbol/sym/constant.square_root.html @@ -1 +1 @@ -square_root in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant square_root

      source
      pub const square_root: Symbol;
      \ No newline at end of file +square_root in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant square_root

      source
      pub const square_root: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.string.html b/leo_span/symbol/sym/constant.string.html index ebd86373b9..1893155d7e 100644 --- a/leo_span/symbol/sym/constant.string.html +++ b/leo_span/symbol/sym/constant.string.html @@ -1 +1 @@ -string in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant string

      source
      pub const string: Symbol;
      \ No newline at end of file +string in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant string

      source
      pub const string: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.stub.html b/leo_span/symbol/sym/constant.stub.html index 31b7f4406c..afdafd411f 100644 --- a/leo_span/symbol/sym/constant.stub.html +++ b/leo_span/symbol/sym/constant.stub.html @@ -1 +1 @@ -stub in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant stub

      source
      pub const stub: Symbol;
      \ No newline at end of file +stub in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant stub

      source
      pub const stub: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.sub.html b/leo_span/symbol/sym/constant.sub.html index f99a15d2e8..60ccba8a7a 100644 --- a/leo_span/symbol/sym/constant.sub.html +++ b/leo_span/symbol/sym/constant.sub.html @@ -1 +1 @@ -sub in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant sub

      source
      pub const sub: Symbol;
      \ No newline at end of file +sub in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant sub

      source
      pub const sub: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.sub_wrapped.html b/leo_span/symbol/sym/constant.sub_wrapped.html index 36f2983c8c..f6fc901d16 100644 --- a/leo_span/symbol/sym/constant.sub_wrapped.html +++ b/leo_span/symbol/sym/constant.sub_wrapped.html @@ -1 +1 @@ -sub_wrapped in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant sub_wrapped

      source
      pub const sub_wrapped: Symbol;
      \ No newline at end of file +sub_wrapped in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant sub_wrapped

      source
      pub const sub_wrapped: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.to_x_coordinate.html b/leo_span/symbol/sym/constant.to_x_coordinate.html index 34cdf4ff85..1db79260f2 100644 --- a/leo_span/symbol/sym/constant.to_x_coordinate.html +++ b/leo_span/symbol/sym/constant.to_x_coordinate.html @@ -1 +1 @@ -to_x_coordinate in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant to_x_coordinate

      source
      pub const to_x_coordinate: Symbol;
      \ No newline at end of file +to_x_coordinate in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant to_x_coordinate

      source
      pub const to_x_coordinate: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.to_y_coordinate.html b/leo_span/symbol/sym/constant.to_y_coordinate.html index fc822b89c6..5c9337a9dc 100644 --- a/leo_span/symbol/sym/constant.to_y_coordinate.html +++ b/leo_span/symbol/sym/constant.to_y_coordinate.html @@ -1 +1 @@ -to_y_coordinate in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant to_y_coordinate

      source
      pub const to_y_coordinate: Symbol;
      \ No newline at end of file +to_y_coordinate in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant to_y_coordinate

      source
      pub const to_y_coordinate: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.transition.html b/leo_span/symbol/sym/constant.transition.html index 7fd7140ebd..a100dd1bbf 100644 --- a/leo_span/symbol/sym/constant.transition.html +++ b/leo_span/symbol/sym/constant.transition.html @@ -1 +1 @@ -transition in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant transition

      source
      pub const transition: Symbol;
      \ No newline at end of file +transition in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant transition

      source
      pub const transition: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.u128.html b/leo_span/symbol/sym/constant.u128.html index 4f41b931fb..bc16676a48 100644 --- a/leo_span/symbol/sym/constant.u128.html +++ b/leo_span/symbol/sym/constant.u128.html @@ -1 +1 @@ -u128 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant u128

      source
      pub const u128: Symbol;
      \ No newline at end of file +u128 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant u128

      source
      pub const u128: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.u16.html b/leo_span/symbol/sym/constant.u16.html index da33194831..9b6b772373 100644 --- a/leo_span/symbol/sym/constant.u16.html +++ b/leo_span/symbol/sym/constant.u16.html @@ -1 +1 @@ -u16 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant u16

      source
      pub const u16: Symbol;
      \ No newline at end of file +u16 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant u16

      source
      pub const u16: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.u32.html b/leo_span/symbol/sym/constant.u32.html index 8065ad3d6d..4cb4bb012a 100644 --- a/leo_span/symbol/sym/constant.u32.html +++ b/leo_span/symbol/sym/constant.u32.html @@ -1 +1 @@ -u32 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant u32

      source
      pub const u32: Symbol;
      \ No newline at end of file +u32 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant u32

      source
      pub const u32: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.u64.html b/leo_span/symbol/sym/constant.u64.html index e8ec01cb4c..a6cebe3b65 100644 --- a/leo_span/symbol/sym/constant.u64.html +++ b/leo_span/symbol/sym/constant.u64.html @@ -1 +1 @@ -u64 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant u64

      source
      pub const u64: Symbol;
      \ No newline at end of file +u64 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant u64

      source
      pub const u64: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.u8.html b/leo_span/symbol/sym/constant.u8.html index cec21f2012..b46ae71651 100644 --- a/leo_span/symbol/sym/constant.u8.html +++ b/leo_span/symbol/sym/constant.u8.html @@ -1 +1 @@ -u8 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant u8

      source
      pub const u8: Symbol;
      \ No newline at end of file +u8 in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant u8

      source
      pub const u8: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.verify.html b/leo_span/symbol/sym/constant.verify.html index 35981a0c51..da93c9ed25 100644 --- a/leo_span/symbol/sym/constant.verify.html +++ b/leo_span/symbol/sym/constant.verify.html @@ -1 +1 @@ -verify in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant verify

      source
      pub const verify: Symbol;
      \ No newline at end of file +verify in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant verify

      source
      pub const verify: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/constant.xor.html b/leo_span/symbol/sym/constant.xor.html index 93f0906e17..4b9ba962cc 100644 --- a/leo_span/symbol/sym/constant.xor.html +++ b/leo_span/symbol/sym/constant.xor.html @@ -1 +1 @@ -xor in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant xor

      source
      pub const xor: Symbol;
      \ No newline at end of file +xor in leo_span::symbol::sym - Rust
      leo_span::symbol::sym

      Constant xor

      source
      pub const xor: Symbol;
      \ No newline at end of file diff --git a/leo_span/symbol/sym/index.html b/leo_span/symbol/sym/index.html index 75971cce99..8bdc124045 100644 --- a/leo_span/symbol/sym/index.html +++ b/leo_span/symbol/sym/index.html @@ -1 +1 @@ -leo_span::symbol::sym - Rust
      \ No newline at end of file +leo_span::symbol::sym - Rust
      \ No newline at end of file diff --git a/leo_span/symbol/sym/sidebar-items.js b/leo_span/symbol/sym/sidebar-items.js index 2f5e5a40ab..f86414eb9f 100644 --- a/leo_span/symbol/sym/sidebar-items.js +++ b/leo_span/symbol/sym/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"constant":["As","Await","BHP1024","BHP256","BHP512","BHP768","ChaCha","Const","Else","False","Fn","For","Future","GEN","If","In","Keccak256","Keccak384","Keccak512","Let","Mapping","Mod","Mut","Pedersen128","Pedersen64","Poseidon2","Poseidon4","Poseidon8","Return","SHA3_256","SHA3_384","SHA3_512","SelfLower","SelfUpper","Star","Struct","True","Type","_nonce","abs","abs_wrapped","add","add_wrapped","address","aleo","and","assert","assert_eq","assert_neq","block","bool","caller","commit_to_address","commit_to_field","commit_to_group","console","constant","contains","decrement","div","div_wrapped","double","eq","field","function","get","get_or_use","group","gt","gte","hash_to_address","hash_to_field","hash_to_group","hash_to_i128","hash_to_i16","hash_to_i32","hash_to_i64","hash_to_i8","hash_to_scalar","hash_to_u128","hash_to_u16","hash_to_u32","hash_to_u64","hash_to_u8","height","i128","i16","i32","i64","i8","id","import","increment","inline","input","inv","leo","lt","lte","main","mapping","mul","mul_wrapped","nand","neg","neq","network","nor","not","or","owner","pow","pow_wrapped","private","program","public","rand_address","rand_bool","rand_field","rand_group","rand_i128","rand_i16","rand_i32","rand_i64","rand_i8","rand_scalar","rand_u128","rand_u16","rand_u32","rand_u64","rand_u8","record","rem","rem_wrapped","remove","scalar","set","shl","shl_wrapped","shr","shr_wrapped","signature","signer","square","square_root","string","stub","sub","sub_wrapped","to_x_coordinate","to_y_coordinate","transition","u128","u16","u32","u64","u8","verify","xor"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":["As","Await","BHP1024","BHP256","BHP512","BHP768","ChaCha","CheatCode","Const","Else","False","Fn","For","Future","GEN","If","In","Keccak256","Keccak384","Keccak512","Let","Mapping","Mod","Mut","Pedersen128","Pedersen64","Poseidon2","Poseidon4","Poseidon8","Return","SHA3_256","SHA3_384","SHA3_512","SelfLower","SelfUpper","Star","Struct","True","Type","_nonce","abs","abs_wrapped","add","add_wrapped","address","aleo","and","assert","assert_eq","assert_neq","block","bool","caller","commit_to_address","commit_to_field","commit_to_group","console","constant","contains","decrement","div","div_wrapped","double","eq","field","function","get","get_or_use","group","gt","gte","hash_to_address","hash_to_field","hash_to_group","hash_to_i128","hash_to_i16","hash_to_i32","hash_to_i64","hash_to_i8","hash_to_scalar","hash_to_u128","hash_to_u16","hash_to_u32","hash_to_u64","hash_to_u8","height","i128","i16","i32","i64","i8","id","import","increment","inline","input","inv","leo","lt","lte","main","mapping","mul","mul_wrapped","nand","neg","neq","network","nor","not","or","owner","pow","pow_wrapped","print_mapping","private","program","public","rand_address","rand_bool","rand_field","rand_group","rand_i128","rand_i16","rand_i32","rand_i64","rand_i8","rand_scalar","rand_u128","rand_u16","rand_u32","rand_u64","rand_u8","record","rem","rem_wrapped","remove","scalar","set","set_block_height","shl","shl_wrapped","shr","shr_wrapped","signature","signer","square","square_root","string","stub","sub","sub_wrapped","to_x_coordinate","to_y_coordinate","transition","u128","u16","u32","u64","u8","verify","xor"]}; \ No newline at end of file diff --git a/leo_test_framework/error/enum.TestError.html b/leo_test_framework/error/enum.TestError.html index f0b64a4d62..03b3c840ca 100644 --- a/leo_test_framework/error/enum.TestError.html +++ b/leo_test_framework/error/enum.TestError.html @@ -27,7 +27,7 @@ }, MismatchedTestExpectationLength, MissingTestConfig, -}

      Variants§

      §

      Panicked

      Fields

      §test: String
      §index: usize
      §error: String
      §

      UnexpectedOutput

      Fields

      §test: String
      §index: usize
      §expected: Value
      §output: Value
      §

      PassedAndShouldntHave

      Fields

      §test: String
      §index: usize
      §

      FailedAndShouldntHave

      Fields

      §test: String
      §index: usize
      §error: String
      §

      UnexpectedError

      Fields

      §test: String
      §index: usize
      §expected: String
      §output: String
      §

      MismatchedTestExpectationLength

      §

      MissingTestConfig

      Trait Implementations§

      source§

      impl Debug for TestError

      source§

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

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

      impl Display for TestError

      source§

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

      Formats the value using the given formatter. Read more

      Auto Trait Implementations§

      Blanket Implementations§

      source§

      impl<T> Any for T
      where +}

Variants§

§

Panicked

Fields

§test: String
§index: usize
§error: String
§

UnexpectedOutput

Fields

§test: String
§index: usize
§expected: Value
§output: Value
§

PassedAndShouldntHave

Fields

§test: String
§index: usize
§

FailedAndShouldntHave

Fields

§test: String
§index: usize
§error: String
§

UnexpectedError

Fields

§test: String
§index: usize
§expected: String
§output: String
§

MismatchedTestExpectationLength

§

MissingTestConfig

Trait Implementations§

source§

impl Debug for TestError

source§

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

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

impl Display for TestError

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/leo_test_framework/error/fn.emit_errors.html b/leo_test_framework/error/fn.emit_errors.html index c2f23f4980..87693550c0 100644 --- a/leo_test_framework/error/fn.emit_errors.html +++ b/leo_test_framework/error/fn.emit_errors.html @@ -1,4 +1,4 @@ -emit_errors in leo_test_framework::error - Rust
leo_test_framework::error

Function emit_errors

source
pub fn emit_errors(
+emit_errors in leo_test_framework::error - Rust
leo_test_framework::error

Function emit_errors

source
pub fn emit_errors(
     test: &str,
     output: &Result<Result<Value, String>, String>,
     mode: &TestExpectationMode,
diff --git a/leo_test_framework/error/fn.toml_to_string.html b/leo_test_framework/error/fn.toml_to_string.html
index e0e7615f27..b2616e2092 100644
--- a/leo_test_framework/error/fn.toml_to_string.html
+++ b/leo_test_framework/error/fn.toml_to_string.html
@@ -1,4 +1,4 @@
-toml_to_string in leo_test_framework::error - Rust
leo_test_framework::error

Function toml_to_string

source
fn toml_to_string(x: &Value) -> String
Expand description

Make a user-readable string representing this Value.

+toml_to_string in leo_test_framework::error - Rust
leo_test_framework::error

Function toml_to_string

source
fn toml_to_string(x: &Value) -> String
Expand description

Make a user-readable string representing this Value.

TOML only supports tables as the top level type, so we handle arrays on our own.

\ No newline at end of file diff --git a/leo_test_framework/error/index.html b/leo_test_framework/error/index.html index 7f9e5db4b9..b97b2d849a 100644 --- a/leo_test_framework/error/index.html +++ b/leo_test_framework/error/index.html @@ -1 +1 @@ -leo_test_framework::error - Rust
leo_test_framework

Module error

source

Structs§

Enums§

Functions§

\ No newline at end of file +leo_test_framework::error - Rust
leo_test_framework

Module error

source

Structs§

Enums§

Functions§

\ No newline at end of file diff --git a/search-index.js b/search-index.js index 6e613ab1ef..af5edae67c 100644 --- a/search-index.js +++ b/search-index.js @@ -1,4 +1,4 @@ -var searchIndex = new Map(JSON.parse('[["errcov",{"t":"H","n":["main"],"q":[[0,"errcov"]],"i":"`","f":"{{}b}","D":"`","p":[[1,"unit"]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAEAEAAAAAAAAQA="}],["leo",{"t":"HH","n":["main","set_panic_hook"],"q":[[0,"leo"]],"i":"``","f":"{{}b}0","D":"`","p":[[1,"unit"]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAIAEAAAAAAAAQACAA=="}],["leo_abnf",{"t":"PPPFGNNNNNNNNNNNNNNNNONNOHNOHNOONNNNNNNN","n":["Code","Definition","Free","Processor","Scope","append_str","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","enter_scope","fmt","","from","","grammar","into","","line","main","new","out","parse_abnf_node","process","rules","scope","to_owned","","try_from","","try_into","","type_id",""],"q":[[0,"leo_abnf"],[40,"core::fmt"],[41,"anyhow"],[42,"abnf::types"],[43,"alloc::vec"],[44,"alloc::string"],[45,"core::result"],[46,"core::any"]],"i":"l00``d1010101010010100100`00`00010101010","f":"`````{{{f{bd}}{f{h}}}j}{f{{f{c}}}{}}0{{{f{b}}}{{f{bc}}}{}}0{{{f{l}}}l}{{{f{d}}}d}{{f{f{bc}}}j{}}0{fj}0{{{f{bd}}l}j}{{{f{l}}{f{bn}}}A`}{{{f{d}}{f{bn}}}A`}{cc{}}0`{{}c{}}0`{{}{{Ab{j}}}}{{{f{h}}{Af{Ad}}}d}`{{{f{Ah}}{f{b{Af{Aj}}}}}j}{{{f{bd}}}j}``{fc{}}0{c{{Al{e}}}{}{}}0{{}{{Al{c}}}{}}0{fAn}0","D":"Ad","p":[[0,"mut"],[5,"Processor",0],[1,"reference"],[1,"str"],[1,"unit"],[6,"Scope",0],[5,"Formatter",40],[8,"Result",40],[8,"Result",41],[5,"Rule",42],[5,"Vec",43],[6,"Node",42],[5,"String",44],[6,"Result",45],[5,"TypeId",46]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAB4ABgAAAAMABwAJABIAAQAWAAAAGQADAB8ACQA="}],["leo_ast",{"t":"FCNNONNNNNCNNNNNNNNNCNNNNCCNNNCNHCCHQCCCNNNNNNNNCCNFFFFFOOCCCOOOOOOOOCOOOOOOOOOCOOFONNNNNNNNNNNNNNNNNNOONNNNNNONNNNNNNNFNNNNNNNNNNNNNNNNNNONNONNNNONNNNNNONNFONNNNNNNNNNNNNNNNNNONNONNNNONNNNNNNONFNNNNNNNNNNNNNNNNNNONONONNNNONNNNNNNNFNNNNNNNNNNNNNNNNNNOONNNNNNONNNNNNONNCCCCCCCFNNNNNNNNNNNNNNNNNNNNONNNONNNNNONNNNNNNNHHFNNNNNNNNNNNNNNNNNNNNONONNNNNNNKIMMMMFFNNNNNNNNNNNNNNNNNNNNNNNONNNNONNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNONFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPGPPPPPPFPPPFGPPPPFPFPPPPPFGPKPPPPPPGPPPPPPPPPPPPPPPPPPPPPPPPPPPFFPPPFPPPPFPFGPFPCOCCNNCCNNNONNNNOONNNNNCOONNNMONOOOOOOOOOOOOOONNOCCOOOOOOONNNNOOOOOOOOOOOCNCNNNNNCONCCNGPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNONNNNNNNNNONNNNNNONNNNNNNNPPPFGPPPPPPPPPPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNOOONNNNNONNNNNNNNNNNNNNNNFONNNNNNNNNNNNNNNNNONONNONNNNONNNNNNNNFNNNNNNNNNNNNNNONNNNONNNNNNONNNNNNONNFNNNNNNNNNNNNNNNNNNONNNNNNONNNNNNNNPPFPKPPGPPNNNNNNNNNNNNNNNNNNNNNNNNNMNNQNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNONNNONONNNNONNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNOOONNNNOONNNNNNNNOONNNNNNNNNNNNNNNNNFNNNNNONNNNNNNNNNNNNOOONNNNNNONNNNNNNNFNNNNNNNNNONNNNNNNNNONNNNNNONNNNNNNNPPPPPPPPPPFGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNOONNNNNONNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNONNNNNNONNNNNNNNFCOONNNNNCNNNNNNNNNNNNNNNOONCONCNNCOONNNNONNNNNNNCONFNNNNNNNNNNNNNNNNNNOONNNNNNONNNNNNNNPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPGPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNONONNNONNNNONNNNNNNONNPGPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNONNNONNNNONNNNNNNONNPPPPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCGPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNGFPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNONNNNNNNNNNNNNNOOFNNNNNNNNNNNNNNNNNNNOONNONNNNONNNNNNNONCCCKKKKRRRRRRRRKKKKMMMMMMMMMMMMNNMMMMMMMMMMMNMMMMMMRKKKNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNRKRKKNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNONNCCONONNNNNNNNFNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNFNNNNNONNNNNNNNNNNNNONNOONOONNNNNNNNPPPPPPPPPPGCCCNNNNNCCCCNNNNNNNNNNCNNNNNNCCNNNNNNNNNNNNPPPFGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNONNNNNNNNNNNNONNFNNNNNNNNNNNNNNNNNNONNONNNNONNNNNNNONFNNNNNNNNNNNNNNNNNNNONNNNNNOONNNNNNNNFNNNNNONNNNNNNNNNNNNONNONNNNONONNNNNNNCCPPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNONONNNNNNONNNNNNNNFNNNNNNNNNNNNNNNNNNONNONNNNONNNNNNONONPGFPNNNNNCONNNNNNNNNNNNNONNONNNNONNNNNNONONPGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNONNNNONNNNNNONNNNNNNNFONNNNNNNNNNNNNNNNNNOONNNNNNOOOOONNNNNNONONFNNNNNNNNNNNNNNONNNNONNNNNNONNNNNNNNFNNNNNNNNNNNNNNONNNNNNOONNOCONNNNNONNNNNNNNFNNNNNNNNNNNNNNNNNNOONNONNNNNONNNNNNONNFNNNNNONNNNNNNNNNNNNCOONNONOOONNNNNNNNFONNNNNNNNNNNNNNNNNNNNNNNOONONNNNOONNNNONNNNNNNONCCCCCCCCFNNNNNNNNNNNONNNNNNNNNNNNNONNNNNNNNNNGPNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNNONONONNNNNNNNNNPPPPPGPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNOONNNNNNNNONFNNNNNNNNNNNNNNNNNNONNONNNNNNNNNFNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNPPPPPPPPPPPPPPPGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPPPPPPPPPPPPPPPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNQQNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Ast","access","as_ref","as_repr","ast","borrow","borrow_mut","clone","clone_into","clone_to_uninit","common","default","deref","deref_mut","drop","eq","equivalent","","","","expressions","fmt","from","from_json_file","from_json_string","functions","groups","init","into","into_repr","mapping","new","normalize_json_value","passes","program","remove_key_from_json","simple_node_impl","statement","struct","stub","to_json_file","to_json_file_without_keys","to_json_string","to_json_value","to_owned","try_from","try_into","type_id","types","value","vzip","ArrayAccess","AssociatedConstant","AssociatedFunction","MemberAccess","TupleAccess","arguments","array","array_access","associated_constant_access","associated_function_access","id","","","","","index","","inner","member_access","name","","","span","","","","","tuple","tuple_access","ty","variant","ArrayAccess","array","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","index","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","AssociatedConstant","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","init","into","name","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","ty","type_id","vzip","AssociatedFunction","arguments","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","init","into","name","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","variant","vzip","MemberAccess","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","init","inner","into","name","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","TupleAccess","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","index","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","tuple","type_id","vzip","identifier","imported_modules","location","node","node_builder","positive_number","static_string","Identifier","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","","hash","id","","init","into","matches","name","new","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","deserialize","serialize","Location","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","from","","hash","init","into","name","new","program","serialize","take_from_value","to_owned","try_from","try_into","type_id","vzip","Node","NodeID","id","set_id","set_span","span","NodeBuilder","NodeBuilderInner","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","default","deref","","deref_mut","","drop","","fmt","","from","","init","","inner","into","","new","","next","next_id","","to_owned","","try_from","","try_into","","type_id","","vzip","","NonNegativeNumber","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","","","hash","init","into","is_zero","serialize","string","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","value","","vzip","StaticString","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","init","into","new","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Abs","AbsWrapped","Access","AccessExpression","Add","AddWrapped","Address","And","Array","","ArrayExpression","AssociatedConstant","AssociatedFunction","Binary","BinaryExpression","BinaryOperation","BitwiseAnd","BitwiseOr","Boolean","Call","CallExpression","Cast","CastExpression","Div","DivWrapped","Double","Eq","Err","ErrExpression","Expression","Field","FromStrRadix","Group","Gt","Gte","Identifier","Integer","Inverse","Literal","","Locator","Lt","Lte","Member","Mod","Mul","MulWrapped","Nand","Negate","Neq","Nor","Not","Or","Pow","PowWrapped","Rem","RemWrapped","Scalar","Shl","ShlWrapped","Shr","ShrWrapped","Square","SquareRoot","String","Struct","StructExpression","StructVariableInitializer","Sub","SubWrapped","Ternary","TernaryExpression","ToXCoordinate","ToYCoordinate","Tuple","","TupleExpression","Unary","UnaryExpression","UnaryOperation","Unit","UnitExpression","Xor","access","arguments","array","binary","borrow","borrow_mut","call","cast","clone","clone_into","clone_to_uninit","condition","deref","deref_mut","deserialize","drop","elements","","eq","equivalent","","","","err","expression","","fmt","","from","from_str_by_radix","function","id","","","","","","","","","","","","identifier","if_false","if_true","init","into","left","literal","locator","members","name","op","","program","receiver","right","serialize","set_id","set_span","span","","","","","","","","","","","","struct_init","take_from_value","ternary","to_owned","to_smolstr","to_string","try_from","try_into","tuple","type_","type_id","unary","unit","vzip","AccessExpression","Array","AssociatedConstant","AssociatedFunction","Member","Tuple","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","init","into","serialize","set_id","set_span","span","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","ArrayExpression","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","elements","eq","equivalent","","","","fmt","","from","id","","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Add","AddWrapped","And","BinaryExpression","BinaryOperation","BitwiseAnd","BitwiseOr","Div","DivWrapped","Eq","Gt","Gte","Lt","Lte","Mod","Mul","MulWrapped","Nand","Neq","Nor","Or","Pow","PowWrapped","Rem","RemWrapped","Shl","ShlWrapped","Shr","ShrWrapped","Sub","SubWrapped","Xor","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","deref","","deref_mut","","deserialize","","drop","","eq","","equivalent","","","","","","","","fmt","","","","from","","from_symbol","id","","init","","into","","left","op","right","serialize","","set_id","set_span","span","","take_from_value","","to_owned","","to_smolstr","","to_string","","try_from","","try_into","","type_id","","vzip","","CallExpression","arguments","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","function","id","","init","into","program","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","CastExpression","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","expression","fmt","","from","id","","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_","type_id","vzip","ErrExpression","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Address","Boolean","DisplayDecimal","Field","FromStrRadix","Group","Integer","Literal","Scalar","String","borrow","","borrow_mut","","clone","clone_into","clone_to_uninit","deref","","deref_mut","","deserialize","display_decimal","drop","","eq","equivalent","","","","fmt","","","from","","from_str_by_radix","from_value","id","implement_from_str_radix","init","","into","","serialize","set_id","set_span","span","take_from_value","to_owned","to_smolstr","","to_string","","try_from","","try_into","","type_id","","vzip","","LocatorExpression","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","hash","id","","init","into","matches","name","new","program","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","StructExpression","StructVariableInitializer","borrow","","borrow_mut","","check_record","clone","","clone_into","","clone_to_uninit","","deref","","deref_mut","","deserialize","","drop","","eq","","equivalent","","","","","","","","expression","fmt","","","","from","","id","","","","identifier","init","","into","","members","name","serialize","","set_id","","set_span","","span","","","","take_from_value","","to_owned","","to_record_string","to_smolstr","","to_string","","try_from","","try_into","","type_id","","vzip","","TernaryExpression","borrow","borrow_mut","clone","clone_into","clone_to_uninit","condition","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","if_false","if_true","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","TupleExpression","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","elements","eq","equivalent","","","","fmt","","from","id","","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Abs","AbsWrapped","Double","Inverse","Negate","Not","Square","SquareRoot","ToXCoordinate","ToYCoordinate","UnaryExpression","UnaryOperation","as_str","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","deref","","deref_mut","","deserialize","","drop","","eq","","equivalent","","","","","","","","fmt","","","from","","from_symbol","id","","init","","into","","op","receiver","serialize","","set_id","set_span","span","","take_from_value","","to_owned","","to_smolstr","to_string","try_from","","try_into","","type_id","","vzip","","UnitExpression","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Function","annotation","annotations","block","borrow","borrow_mut","clone","clone_into","clone_to_uninit","core_function","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","format","from","","id","","identifier","init","input","","into","mode","name","new","output","","output_type","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","variant","","vzip","Annotation","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","identifier","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","BHP1024CommitToAddress","BHP1024CommitToField","BHP1024CommitToGroup","BHP1024HashToAddress","BHP1024HashToField","BHP1024HashToGroup","BHP1024HashToI128","BHP1024HashToI16","BHP1024HashToI32","BHP1024HashToI64","BHP1024HashToI8","BHP1024HashToScalar","BHP1024HashToU128","BHP1024HashToU16","BHP1024HashToU32","BHP1024HashToU64","BHP1024HashToU8","BHP256CommitToAddress","BHP256CommitToField","BHP256CommitToGroup","BHP256HashToAddress","BHP256HashToField","BHP256HashToGroup","BHP256HashToI128","BHP256HashToI16","BHP256HashToI32","BHP256HashToI64","BHP256HashToI8","BHP256HashToScalar","BHP256HashToU128","BHP256HashToU16","BHP256HashToU32","BHP256HashToU64","BHP256HashToU8","BHP512CommitToAddress","BHP512CommitToField","BHP512CommitToGroup","BHP512HashToAddress","BHP512HashToField","BHP512HashToGroup","BHP512HashToI128","BHP512HashToI16","BHP512HashToI32","BHP512HashToI64","BHP512HashToI8","BHP512HashToScalar","BHP512HashToU128","BHP512HashToU16","BHP512HashToU32","BHP512HashToU64","BHP512HashToU8","BHP768CommitToAddress","BHP768CommitToField","BHP768CommitToGroup","BHP768HashToAddress","BHP768HashToField","BHP768HashToGroup","BHP768HashToI128","BHP768HashToI16","BHP768HashToI32","BHP768HashToI64","BHP768HashToI8","BHP768HashToScalar","BHP768HashToU128","BHP768HashToU16","BHP768HashToU32","BHP768HashToU64","BHP768HashToU8","ChaChaRandAddress","ChaChaRandBool","ChaChaRandField","ChaChaRandGroup","ChaChaRandI128","ChaChaRandI16","ChaChaRandI32","ChaChaRandI64","ChaChaRandI8","ChaChaRandScalar","ChaChaRandU128","ChaChaRandU16","ChaChaRandU32","ChaChaRandU64","ChaChaRandU8","CoreFunction","FutureAwait","GroupToXCoordinate","GroupToYCoordinate","Keccak256HashToAddress","Keccak256HashToField","Keccak256HashToGroup","Keccak256HashToI128","Keccak256HashToI16","Keccak256HashToI32","Keccak256HashToI64","Keccak256HashToI8","Keccak256HashToScalar","Keccak256HashToU128","Keccak256HashToU16","Keccak256HashToU32","Keccak256HashToU64","Keccak256HashToU8","Keccak384HashToAddress","Keccak384HashToField","Keccak384HashToGroup","Keccak384HashToI128","Keccak384HashToI16","Keccak384HashToI32","Keccak384HashToI64","Keccak384HashToI8","Keccak384HashToScalar","Keccak384HashToU128","Keccak384HashToU16","Keccak384HashToU32","Keccak384HashToU64","Keccak384HashToU8","Keccak512HashToAddress","Keccak512HashToField","Keccak512HashToGroup","Keccak512HashToI128","Keccak512HashToI16","Keccak512HashToI32","Keccak512HashToI64","Keccak512HashToI8","Keccak512HashToScalar","Keccak512HashToU128","Keccak512HashToU16","Keccak512HashToU32","Keccak512HashToU64","Keccak512HashToU8","MappingContains","MappingGet","MappingGetOrUse","MappingRemove","MappingSet","Pedersen128CommitToAddress","Pedersen128CommitToField","Pedersen128CommitToGroup","Pedersen128HashToAddress","Pedersen128HashToField","Pedersen128HashToGroup","Pedersen128HashToI128","Pedersen128HashToI16","Pedersen128HashToI32","Pedersen128HashToI64","Pedersen128HashToI8","Pedersen128HashToScalar","Pedersen128HashToU128","Pedersen128HashToU16","Pedersen128HashToU32","Pedersen128HashToU64","Pedersen128HashToU8","Pedersen64CommitToAddress","Pedersen64CommitToField","Pedersen64CommitToGroup","Pedersen64HashToAddress","Pedersen64HashToField","Pedersen64HashToGroup","Pedersen64HashToI128","Pedersen64HashToI16","Pedersen64HashToI32","Pedersen64HashToI64","Pedersen64HashToI8","Pedersen64HashToScalar","Pedersen64HashToU128","Pedersen64HashToU16","Pedersen64HashToU32","Pedersen64HashToU64","Pedersen64HashToU8","Poseidon2HashToAddress","Poseidon2HashToField","Poseidon2HashToGroup","Poseidon2HashToI128","Poseidon2HashToI16","Poseidon2HashToI32","Poseidon2HashToI64","Poseidon2HashToI8","Poseidon2HashToScalar","Poseidon2HashToU128","Poseidon2HashToU16","Poseidon2HashToU32","Poseidon2HashToU64","Poseidon2HashToU8","Poseidon4HashToAddress","Poseidon4HashToField","Poseidon4HashToGroup","Poseidon4HashToI128","Poseidon4HashToI16","Poseidon4HashToI32","Poseidon4HashToI64","Poseidon4HashToI8","Poseidon4HashToScalar","Poseidon4HashToU128","Poseidon4HashToU16","Poseidon4HashToU32","Poseidon4HashToU64","Poseidon4HashToU8","Poseidon8HashToAddress","Poseidon8HashToField","Poseidon8HashToGroup","Poseidon8HashToI128","Poseidon8HashToI16","Poseidon8HashToI32","Poseidon8HashToI64","Poseidon8HashToI8","Poseidon8HashToScalar","Poseidon8HashToU128","Poseidon8HashToU16","Poseidon8HashToU32","Poseidon8HashToU64","Poseidon8HashToU8","SHA3_256HashToAddress","SHA3_256HashToField","SHA3_256HashToGroup","SHA3_256HashToI128","SHA3_256HashToI16","SHA3_256HashToI32","SHA3_256HashToI64","SHA3_256HashToI8","SHA3_256HashToScalar","SHA3_256HashToU128","SHA3_256HashToU16","SHA3_256HashToU32","SHA3_256HashToU64","SHA3_256HashToU8","SHA3_384HashToAddress","SHA3_384HashToField","SHA3_384HashToGroup","SHA3_384HashToI128","SHA3_384HashToI16","SHA3_384HashToI32","SHA3_384HashToI64","SHA3_384HashToI8","SHA3_384HashToScalar","SHA3_384HashToU128","SHA3_384HashToU16","SHA3_384HashToU32","SHA3_384HashToU64","SHA3_384HashToU8","SHA3_512HashToAddress","SHA3_512HashToField","SHA3_512HashToGroup","SHA3_512HashToI128","SHA3_512HashToI16","SHA3_512HashToI32","SHA3_512HashToI64","SHA3_512HashToI8","SHA3_512HashToScalar","SHA3_512HashToU128","SHA3_512HashToU16","SHA3_512HashToU32","SHA3_512HashToU64","SHA3_512HashToU8","SignatureVerify","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","drop","eq","equivalent","","","","from","from_symbols","init","into","is_finalize_command","num_args","to_owned","try_from","try_into","type_id","vzip","Input","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","format","from","id","","identifier","","init","into","mode","","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_","","type_id","vzip","Constant","Mode","None","Private","Public","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","init","into","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Output","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","init","into","mode","","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_","","type_id","vzip","AsyncFunction","AsyncTransition","Function","Inline","Transition","Variant","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","from","init","into","is_async","is_async_function","is_function","is_transition","serialize","take_from_value","to_owned","try_from","try_into","type_id","vzip","group_coordinate","group_literal","GroupCoordinate","Inferred","Number","SignHigh","SignLow","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","init","into","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","GroupLiteral","GroupTuple","Single","Tuple","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","deref","","deref_mut","","deserialize","","drop","","eq","","equivalent","","","","","","","","fmt","","","from","","id","","init","","into","","serialize","","set_id","set_span","span","","take_from_value","","to_owned","","to_smolstr","to_string","try_from","","try_into","","type_id","","vzip","","x","y","Mapping","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","from_snarkvm","id","","identifier","init","into","key_type","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","value_type","vzip","consumer","reconstructor","visitor","ExpressionConsumer","FunctionConsumer","ImportConsumer","MappingConsumer","Output","","","","","","","","ProgramConsumer","ProgramScopeConsumer","StatementConsumer","StructConsumer","consume_access","consume_array","consume_assert","consume_assign","consume_binary","consume_block","consume_call","consume_cast","consume_conditional","consume_console","consume_const","consume_definition","consume_err","consume_expression","consume_expression_statement","consume_function","consume_identifier","consume_import","consume_iteration","consume_literal","consume_locator","consume_mapping","consume_program","consume_program_scope","consume_return","consume_statement","consume_struct","consume_struct_init","consume_ternary","consume_tuple","consume_unary","consume_unit","AdditionalOutput","ExpressionReconstructor","ProgramReconstructor","StatementReconstructor","reconstruct_access","reconstruct_array","reconstruct_array_access","reconstruct_assert","reconstruct_assign","reconstruct_associated_constant","reconstruct_associated_function","reconstruct_binary","reconstruct_block","reconstruct_call","reconstruct_cast","reconstruct_conditional","reconstruct_console","reconstruct_const","reconstruct_definition","reconstruct_err","reconstruct_expression","reconstruct_expression_statement","reconstruct_function","reconstruct_function_stub","reconstruct_identifier","reconstruct_import","reconstruct_iteration","reconstruct_literal","reconstruct_locator","reconstruct_mapping","reconstruct_member_access","reconstruct_program","reconstruct_program_scope","reconstruct_return","reconstruct_statement","reconstruct_struct","reconstruct_struct_init","reconstruct_stub","reconstruct_ternary","reconstruct_tuple","reconstruct_tuple_access","reconstruct_unary","reconstruct_unit","AdditionalInput","ExpressionVisitor","Output","ProgramVisitor","StatementVisitor","visit_access","visit_array","visit_assert","visit_assign","visit_binary","visit_block","visit_call","visit_cast","visit_conditional","visit_console","visit_const","visit_definition","visit_err","visit_expression","visit_expression_statement","visit_function","visit_function_stub","visit_identifier","visit_import","visit_iteration","visit_literal","visit_locator","visit_mapping","visit_program","visit_program_scope","visit_return","visit_statement","visit_struct","visit_struct_init","visit_struct_stub","visit_stub","visit_ternary","visit_tuple","visit_unary","visit_unit","Program","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","imports","init","into","program_id","program_scope","program_scopes","serialize","stubs","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","ProgramId","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","","","hash","init","into","name","network","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","ProgramScope","borrow","borrow_mut","clone","clone_into","clone_to_uninit","consts","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","","functions","init","into","mappings","program_id","serialize","span","structs","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Assert","Assign","Block","Conditional","Console","Const","Definition","Expression","Iteration","Return","Statement","assert","assign","block","borrow","borrow_mut","clone","clone_into","clone_to_uninit","conditional","console","const_","definition","deref","deref_mut","deserialize","drop","dummy","eq","equivalent","","","","expression","fmt","","from","id","init","into","iteration","return_","serialize","set_id","set_span","span","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Assert","AssertEq","AssertNeq","AssertStatement","AssertVariant","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","deref","","deref_mut","","deserialize","","drop","","eq","","equivalent","","","","","","","","fmt","","","from","","id","","init","","into","","serialize","","set_id","set_span","span","","take_from_value","","to_owned","","to_smolstr","to_string","try_from","","try_into","","type_id","","variant","vzip","","AssignStatement","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","init","into","place","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","value","vzip","Block","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","init","into","serialize","set_id","set_span","span","","statements","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","ConditionalStatement","borrow","borrow_mut","clone","clone_into","clone_to_uninit","condition","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","init","into","otherwise","serialize","set_id","set_span","span","","take_from_value","then","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","console_function","console_statement","Assert","AssertEq","AssertNeq","ConsoleFunction","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","init","into","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","ConsoleStatement","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","function","id","","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","ConstDeclaration","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","init","into","place","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_","type_id","value","vzip","Const","DeclarationType","DefinitionStatement","Let","borrow","borrow_mut","clone","clone_into","clone_to_uninit","declaration_type","","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","init","into","place","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_","type_id","value","vzip","Const","DeclarationType","Let","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","init","into","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","ExpressionStatement","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","expression","fmt","","from","id","","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","IterationStatement","block","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","inclusive","init","into","serialize","set_id","set_span","span","","start","start_value","stop","stop_value","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_","type_id","variable","vzip","ReturnStatement","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","expression","fmt","","from","id","","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Composite","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","external","fmt","","from","from_external_record","from_snarkvm","id","","identifier","init","into","is_record","member","members","name","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Member","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","identifier","init","into","mode","name","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_","type_id","vzip","Stub","borrow","borrow_mut","clone","clone_into","clone_to_uninit","consts","default","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","function_stub","functions","imports","init","into","mappings","serialize","span","structs","stub_id","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","FunctionStub","annotations","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","format","from","","from_closure","from_finalize","from_function_core","id","","identifier","init","input","into","is_main","name","new","output","output_type","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","variant","vzip","array","core_constant","future","integer_type","mapping","struct_type","tuple","type_","ArrayType","base_element_type","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","element_type","","eq","equivalent","","","","fmt","","from","from_snarkvm","hash","init","into","length","","new","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","CoreConstant","GroupGenerator","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","drop","eq","equivalent","","","","from","from_symbols","init","into","to_owned","to_type","try_from","try_into","type_id","vzip","FutureType","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","hash","init","inputs","","into","is_explicit","location","","new","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","I128","I16","I32","I64","I8","IntegerType","U128","U16","U32","U64","U8","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","hash","init","into","is_signed","serialize","symbol","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","MappingType","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","hash","init","into","key","program","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","value","vzip","CompositeType","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","hash","id","init","into","program","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","TupleType","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","elements","","eq","equivalent","","","","fmt","","from","hash","init","into","length","new","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Address","Array","Boolean","Composite","Err","Field","Future","Group","Identifier","Integer","Mapping","Scalar","Signature","String","Tuple","Type","Unit","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","eq_flat","eq_flat_relaxed","equivalent","","","","fmt","","from","","","from_snarkvm","hash","init","into","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Address","Boolean","Field","Group","I128","I16","I32","I64","I8","Input","Scalar","String","Struct","U128","U16","U32","U64","U8","Value","abs","abs_wrapped","add","add_wrapped","as_ref","bitand","bitor","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","div","div_wrapped","drop","eq","","equivalent","","","","fmt","","from","ge","gt","implement_const_binary","implement_const_unary","init","into","is_supported_const_fold_type","le","lt","mul","mul_wrapped","neg","not","pow","pow_wrapped","shl","shl_wrapped","shr","shr_wrapped","sub","sub_wrapped","to_owned","to_smolstr","to_string","try_from","","try_into","type_id","vzip","xor"],"q":[[0,"leo_ast"],[51,"leo_ast::access"],[82,"leo_ast::access::array_access"],[119,"leo_ast::access::associated_constant_access"],[156,"leo_ast::access::associated_function_access"],[194,"leo_ast::access::member_access"],[231,"leo_ast::access::tuple_access"],[268,"leo_ast::common"],[275,"leo_ast::common::identifier"],[315,"leo_ast::common::imported_modules"],[317,"leo_ast::common::location"],[348,"leo_ast::common::node"],[354,"leo_ast::common::node_builder"],[397,"leo_ast::common::positive_number"],[434,"leo_ast::common::static_string"],[465,"leo_ast::expressions"],[635,"leo_ast::expressions::access"],[673,"leo_ast::expressions::array"],[709,"leo_ast::expressions::binary"],[807,"leo_ast::expressions::call"],[845,"leo_ast::expressions::cast"],[882,"leo_ast::expressions::err"],[917,"leo_ast::expressions::literal"],[978,"leo_ast::expressions::locator"],[1018,"leo_ast::expressions::struct_init"],[1094,"leo_ast::expressions::ternary"],[1132,"leo_ast::expressions::tuple"],[1168,"leo_ast::expressions::unary"],[1243,"leo_ast::expressions::unit"],[1278,"leo_ast::functions"],[1330,"leo_ast::functions::annotation"],[1366,"leo_ast::functions::core_function"],[1643,"leo_ast::functions::input"],[1685,"leo_ast::functions::mode"],[1718,"leo_ast::functions::output"],[1757,"leo_ast::functions::variant"],[1792,"leo_ast::groups"],[1794,"leo_ast::groups::group_coordinate"],[1827,"leo_ast::groups::group_literal"],[1892,"leo_ast::mapping"],[1931,"leo_ast::passes"],[1934,"leo_ast::passes::consumer"],[1982,"leo_ast::passes::reconstructor"],[2025,"leo_ast::passes::visitor"],[2065,"leo_ast::program"],[2100,"leo_ast::program::program_id"],[2134,"leo_ast::program::program_scope"],[2170,"leo_ast::statement"],[2224,"leo_ast::statement::assert"],[2289,"leo_ast::statement::assign"],[2326,"leo_ast::statement::block"],[2363,"leo_ast::statement::conditional"],[2401,"leo_ast::statement::console"],[2403,"leo_ast::statement::console::console_function"],[2435,"leo_ast::statement::console::console_statement"],[2471,"leo_ast::statement::const_"],[2509,"leo_ast::statement::definition"],[2552,"leo_ast::statement::definition::declaration_type"],[2583,"leo_ast::statement::expression"],[2619,"leo_ast::statement::iteration"],[2662,"leo_ast::statement::return_"],[2698,"leo_ast::struct"],[2741,"leo_ast::struct::member"],[2780,"leo_ast::stub"],[2818,"leo_ast::stub::function_stub"],[2867,"leo_ast::types"],[2875,"leo_ast::types::array"],[2912,"leo_ast::types::core_constant"],[2937,"leo_ast::types::future"],[2974,"leo_ast::types::integer_type"],[3016,"leo_ast::types::mapping"],[3049,"leo_ast::types::struct_type"],[3081,"leo_ast::types::tuple"],[3115,"leo_ast::types::type_"],[3166,"leo_ast::value"],[3241,"core::fmt"],[3242,"std::path"],[3243,"leo_errors::errors"],[3244,"serde_json::value"],[3245,"alloc::string"],[3246,"core::result"],[3247,"core::any"],[3248,"serde::de"],[3249,"serde::ser"],[3250,"leo_span::span"],[3251,"smol_str"],[3252,"snarkvm_console_program::data::identifier"],[3253,"snarkvm_console_network"],[3254,"core::hash"],[3255,"leo_span::symbol"],[3256,"alloc::vec"],[3257,"indexmap::map"],[3258,"core::option"],[3259,"core::num::error"],[3260,"snarkvm_synthesizer_program::mapping"],[3261,"core::default"],[3262,"snarkvm_console_program::id"],[3263,"snarkvm_console_program::data_types::record_type"],[3264,"snarkvm_console_program::data_types::struct_type"],[3265,"snarkvm_synthesizer_program::closure"],[3266,"snarkvm_synthesizer_program::traits::instruction"],[3267,"snarkvm_synthesizer_program::function"],[3268,"snarkvm_synthesizer_program::traits::command"],[3269,"snarkvm_console_program::data_types::array_type"],[3270,"snarkvm_console_program::data_types::plaintext_type"]],"i":"``b0000000`000000000`0000``000`0````````00000000``0`````CbBd```0C`2CdCf301`241324100`24`333333333333333333333333333333333333`222222222222222222222222222222222222`4444444444444444444444444444444444444`111111111111111111111111111111111111`000000000000000000000000000000000000````````Ch00000000000000000000000000000000000000```Df00000000000000000000000000000``Dl000``DnE`101010101101010101010110100101010101010`Eb00000000000000000000000000000000000`Ed00000000000000000000000000000Gn0Ef`F`0Fj1El3`003``2213`3`22423``1`122314`332202222422422222122224413``223`4403`3``3`2`Fd``44``444Gj5555EnGl77777`FfGh999Eh6:4Fb732GfFh86H`Hb6::??4``3341;14????94;7632:810`?`?????`7?``?`<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<`99999999999999999999999999999999999>>>``>>>>>>>>>>>>>>>>>>>>>>>>>>>>4>4>4>4>4>4>4>4>4>4>>>>4444>>44>4>44>4>4444>44444>4>4>4>4>4>4>4>4`;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;`777777777777777777777777777777777777`2222222222222222222222222222222222==`=`==`==Fn>0>>>>0>0>>>0>>>>>>0>>0>6>>`0>0>>>>>>>0>0>0>0>0>0>`Gb00000000000000000000000000000000000000``85855858585858585858588885555888558585858858555858585858585855858585858585`<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<`:::::::::::::::::::::::::::::::::::Gn000000000``004040404040404040404000044440440404404044404444404044404040404`3333333333333333333333333333333333``Hd000000`000000000000000000`00`00`00000000000000`00`Hh0000000000000000000000000000000000Ib0000000000000000000000000000000000000000000000000000000000000000000000000000000000`0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000`Hl0000000000000000000000000000000000000000Id`0000000000000000000000000000000`Hn0000000000000000000000000000000000000Hj0000`00000000000000000000000000000```Ih0000000000000000000000000000000``Ij00Il10101010101010101011110000110101010101011101010111010101000`In0000000000000000000000000000000000000```````JdJfKfLhKhKlL`Kn````77667677666677657367720166477777Ln```000Md01110110000110Mf02012202001102022222Ml`0``00Mn010110000110N`0201220001102002222`f00000000000000000000``00000000000`Gd00000000000000000000000000000000`Lb0000000000000000000000000000000000Lf000000000````00000````0000000000`000000``000000000000Nd00``0Jh1010101010101010101111000010010001010100000101000101010010`Jj00000000000000000000000000000000000`I`00000000000000000000000000000000000`Jl000000000000000000000000000000000000``Nf00`0000000000000000000000000000`Jn0000000000000000000000000000000000`K`000000000000000000000000000000000000Nh``0Kb0000`0000000000000000000000000000000001`11111111111111111111111111111`Kd0000000000000000000000000000000000`Kj00000000000000000000000000000000000000000`Ld0000000000000000000000000000000000`Lj0000000000000000000000000`000000000000000`Nn0000000000000000000000000000000000000`Mh000000000000000000`00000000000000000`Hf00000000000000000000000000000000000000000000000`````````Oh00000000000000000000000000000000000`Ol00000000000000000000000`On00000000000000000000000000000000000A@`0000`000000000000000000000000000000000000`A@b0000000000000000000000000000000`Dh000000000000000000000000000000`A@d00000000000000000000000000000000If00000000000000`00000000000000000000000000000000000G`00000000000000000`0000000000000000000000000000``00000000000000000000000000","f":"``{{{d{b}}}{{d{f}}}}0`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{b}}}b}{{d{d{hc}}}j{}}{dj}`{{}b}{l{{d{c}}}{}}{l{{d{hc}}}{}}{lj}{{{d{b}}{d{b}}}n}{{d{d{c}}}n{}}000`{{{d{b}}{d{hA`}}}Ab}{cc{}}{Ad{{Af{b}}}}{{{d{Ah}}}{{Af{b}}}}``{{}l}{{}c{}}{bf}`{fb}{AjAj}``{{Aj{d{Ah}}}Aj}````{{{d{b}}Ad{d{Ah}}}{{Af{j}}}}{{{d{b}}Ad{d{Ah}}{d{{Al{{d{Ah}}}}}}}{{Af{j}}}}{{{d{b}}}{{Af{An}}}}{{{d{b}}}{{Af{Aj}}}}{dc{}}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}``<`````````````````````````````````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Bd}}}Bd}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Bd}}}Bf}{lj}{{{d{Bd}}{d{Bd}}}n}{{d{d{c}}}n{}}000{{{d{Bd}}{d{hA`}}}Ab}0{cc{}}{{{d{Bd}}}Bh}``{{}l}{{}c{}}{{{d{Bd}}c}B`Bj}{{{d{hBd}}Bh}j}{{{d{hBd}}Bl}j}{{{d{Bd}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{C`}}}C`}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{C`}}}Bf}{lj}{{{d{C`}}{d{C`}}}n}{{d{d{c}}}n{}}000{{{d{C`}}{d{hA`}}}Ab}0{cc{}}{{{d{C`}}}Bh}`{{}l}{{}c{}}`{{{d{C`}}c}B`Bj}{{{d{hC`}}Bh}j}{{{d{hC`}}Bl}j}{{{d{C`}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}`{dBb};``{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Cb}}}Cb}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Cb}}}Bf}{lj}{{{d{Cb}}{d{Cb}}}n}{{d{d{c}}}n{}}000{{{d{Cb}}{d{hA`}}}Ab}0{cc{}}{{{d{Cb}}}Bh}`{{}l}{{}c{}}`{{{d{Cb}}c}B`Bj}{{{d{hCb}}Bh}j}{{{d{hCb}}Bl}j}{{{d{Cb}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}`;`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Cd}}}Cd}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Cd}}}Bf}{lj}{{{d{Cd}}{d{Cd}}}n}{{d{d{c}}}n{}}000{{{d{Cd}}{d{hA`}}}Ab}0{cc{}}{{{d{Cd}}}Bh}`{{}l}`{{}c{}}`{{{d{Cd}}c}B`Bj}{{{d{hCd}}Bh}j}{{{d{hCd}}Bl}j}{{{d{Cd}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Cf}}}Cf}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Cf}}}Bf}{lj}{{{d{Cf}}{d{Cf}}}n}{{d{d{c}}}n{}}000{{{d{Cf}}{d{hA`}}}Ab}0{cc{}}{{{d{Cf}}}Bh}``{{}l}{{}c{}}{{{d{Cf}}c}B`Bj}{{{d{hCf}}Bh}j}{{{d{hCf}}Bl}j}{{{d{Cf}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}`{dBb};````````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Ch}}}Ch}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{Af{Ch}}}Bf}{lj}{{{d{Ch}}{d{Ch}}}n}{{d{d{c}}}n{}}000{{{d{Ch}}{d{hA`}}}Ab}0{{{d{{Cj{c}}}}}ChCl}{cc{}}{{{d{Ch}}{d{hc}}}jCn}{{{d{Ch}}}Bh}`{{}l}{{}c{}}8`{{D`Bh}Ch}{{{d{Ch}}c}AfBj}{{{d{hCh}}Bh}j}{{{d{hCh}}Bl}j}{{{d{Ch}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}<{c{{B`{{Dd{{Db{D`}}f}}}}}Bf}{{{d{{Dd{{Db{D`}}f}}}}c}B`Bj}`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Df}}}Df}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{Af{Df}}}Bf}{lj}{{{d{Df}}{d{Df}}}n}{{d{d{c}}}n{}}000{{{d{Df}}{d{hA`}}}Ab}{{{d{Dh}}}Df}{cc{}}{{{d{Df}}{d{hc}}}jCn}{{}l}{{}c{}}`{{{Dj{D`}}D`}Df}`{{{d{Df}}c}AfBj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}7``{{{d{Dl}}}Bh}{{{d{hDl}}Bh}j}{{{d{hDl}}Bl}j}{{{d{Dl}}}Bl}``{d{{d{c}}}{}}0{{{d{h}}}{{d{hc}}}{}}0{{{d{Dn}}}Dn}{{{d{E`}}}E`}{{d{d{hc}}}j{}}0{dj}0{{}Dn}{l{{d{c}}}{}}0{l{{d{hc}}}{}}0{lj}0{{{d{Dn}}{d{hA`}}}Ab}{{{d{E`}}{d{hA`}}}Ab}{cc{}}0{{}l}0`{{}c{}}0{BhDn}{BhE`}`{{{d{Dn}}}Bh}{{{d{hE`}}}Bh}{dc{}}0{c{{B`{e}}}{}{}}0{{}{{B`{c}}}{}}0{dBb}088`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Eb}}}Eb}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Eb}}}Bf}{lj}{{{d{Eb}}{d{Eb}}}n}{{d{d{c}}}n{}}000{{{d{Eb}}{d{hA`}}}Ab}0{AnEb}{lEb}{cc{}}{{{d{Eb}}{d{hc}}}jCn}{{}l}{{}c{}}{{{d{Eb}}}n}{{{d{Eb}}c}B`Bj}{{{d{Eb}}}{{d{Ah}}}}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}{{{d{Eb}}}l}`;`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Ed}}}Ed}{{d{d{hc}}}j{}}{dj}{{}Ed}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Ed}}}Bf}{lj}{{{d{Ed}}{d{Ed}}}n}{{d{d{c}}}n{}}000{{{d{Ed}}{d{hA`}}}Ab}0{cc{}}{{}l}{{}c{}}{AnEd}{{{d{Ed}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}9```````````````````````````````````````````````````````````````````````````````````````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}``{{{d{Ef}}}Ef}{{d{d{hc}}}j{}}{dj}`{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Ef}}}Bf}{lj}``{{{d{Ef}}{d{Ef}}}n}{{d{d{c}}}n{}}000```{{{d{Ef}}{d{hA`}}}Ab}0{cc{}}{{{d{Ah}}}{{B`{EhEj}}}}`{{{d{Ef}}}Bh}``````````````{{}l}{{}c{}}``````````{{{d{Ef}}c}B`Bj}{{{d{hEf}}Bh}j}{{{d{hEf}}Bl}j}{{{d{Ef}}}Bl}````````````{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}`{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}``{dBb}``;``````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{El}}}El}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{El}}}Bf}{lj}{{{d{El}}{d{El}}}n}{{d{d{c}}}n{}}000{{{d{El}}{d{hA`}}}Ab}0{cc{}}{{{d{El}}}Bh}{{}l}{{}c{}}{{{d{El}}c}B`Bj}{{{d{hEl}}Bh}j}{{{d{hEl}}Bl}j}{{{d{El}}}Bl}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{En}}}En}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{En}}}Bf}{lj}`{{{d{En}}{d{En}}}n}{{d{d{c}}}n{}}000{{{d{En}}{d{hA`}}}Ab}0{cc{}}{{{d{En}}}Bh}`{{}l}{{}c{}}{{{d{En}}c}B`Bj}{{{d{hEn}}Bh}j}{{{d{hEn}}Bl}j}{{{d{En}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};````````````````````````````````{d{{d{c}}}{}}0{{{d{h}}}{{d{hc}}}{}}0{{{d{F`}}}F`}{{{d{Fb}}}Fb}{{d{d{hc}}}j{}}0{dj}0{l{{d{c}}}{}}0{l{{d{hc}}}{}}0{c{{B`{F`}}}Bf}{c{{B`{Fb}}}Bf}{lj}0{{{d{F`}}{d{F`}}}n}{{{d{Fb}}{d{Fb}}}n}{{d{d{c}}}n{}}0000000{{{d{F`}}{d{hA`}}}Ab}0{{{d{Fb}}{d{hA`}}}Ab}0{cc{}}0{D`{{Dj{F`}}}}{{{d{Fb}}}Bh}`{{}l}0{{}c{}}0```{{{d{F`}}c}B`Bj}{{{d{Fb}}c}B`Bj}{{{d{hFb}}Bh}j}{{{d{hFb}}Bl}j}{{{d{Fb}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}0{dc{}}0{dBn}0{dAn}0{c{{B`{e}}}{}{}}0{{}{{B`{c}}}{}}0{dBb}0<<``{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Fd}}}Fd}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Fd}}}Bf}{lj}{{{d{Fd}}{d{Fd}}}n}{{d{d{c}}}n{}}000{{{d{Fd}}{d{hA`}}}Ab}0{cc{}}`{{{d{Fd}}}Bh}`{{}l}{{}c{}}`{{{d{Fd}}c}B`Bj}{{{d{hFd}}Bh}j}{{{d{hFd}}Bl}j}{{{d{Fd}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Ff}}}Ff}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Ff}}}Bf}{lj}{{{d{Ff}}{d{Ff}}}n}{{d{d{c}}}n{}}000`{{{d{Ff}}{d{hA`}}}Ab}0{cc{}}{{{d{Ff}}}Bh}`{{}l}{{}c{}}{{{d{Ff}}c}B`Bj}{{{d{hFf}}Bh}j}{{{d{hFf}}Bl}j}{{{d{Ff}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}`{dBb};`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Fh}}}Fh}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Fh}}}Bf}{lj}{{{d{Fh}}{d{Fh}}}n}{{d{d{c}}}n{}}000{{{d{Fh}}{d{hA`}}}Ab}0{cc{}}{{{d{Fh}}}Bh}`{{}l}{{}c{}}{{{d{Fh}}c}B`Bj}{{{d{hFh}}Bh}j}{{{d{hFh}}Bl}j}{{{d{Fh}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};``````````{d{{d{c}}}{}}0{{{d{h}}}{{d{hc}}}{}}0{{{d{Fj}}}Fj}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}0{l{{d{hc}}}{}}0{c{{B`{Fj}}}Bf}{{{d{Fj}}}{{`{Fl}}}}{lj}0{{{d{Fj}}{d{Fj}}}n}{{d{d{c}}}n{}}000{{{d{Fn}}{d{hA`}}}Ab}{{{d{Fj}}{d{hA`}}}Ab}0{cc{}}0{{{d{Ah}}}{{B`{EhEj}}}}{{G`Bh}Fj}{{{d{Fj}}}Bh}`{{}l}0{{}c{}}0{{{d{Fj}}c}B`Bj}{{{d{hFj}}Bh}j}{{{d{hFj}}Bl}j}{{{d{Fj}}}Bl}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}0{dAn}0{c{{B`{e}}}{}{}}0{{}{{B`{c}}}{}}0{dBb}0;;`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Gb}}}Gb}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Gb}}}Bf}{lj}{{{d{Gb}}{d{Gb}}}n}{{d{d{c}}}n{}}000{{{d{Gb}}{d{hA`}}}Ab}0{cc{}}{{{d{Gb}}{d{hc}}}jCn}{{{d{Gb}}}Bh}`{{}l}{{}c{}}7`{{GdD`Bh}Gb}`{{{d{Gb}}c}B`Bj}{{{d{hGb}}Bh}j}{{{d{hGb}}Bl}j}{{{d{Gb}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}<``{d{{d{c}}}{}}0{{{d{h}}}{{d{hc}}}{}}0{{{d{Gf}}}n}{{{d{Gh}}}Gh}{{{d{Gf}}}Gf}{{d{d{hc}}}j{}}0{dj}0{l{{d{c}}}{}}0{l{{d{hc}}}{}}0{c{{B`{Gh}}}Bf}{c{{B`{Gf}}}Bf}{lj}0{{{d{Gh}}{d{Gh}}}n}{{{d{Gf}}{d{Gf}}}n}{{d{d{c}}}n{}}0000000`{{{d{Gh}}{d{hA`}}}Ab}0{{{d{Gf}}{d{hA`}}}Ab}0{cc{}}0{{{d{Gh}}}Bh}{{{d{Gf}}}Bh}```{{}l}0{{}c{}}0``{{{d{Gh}}c}B`Bj}{{{d{Gf}}c}B`Bj}{{{d{hGh}}Bh}j}{{{d{hGf}}Bh}j}{{{d{hGh}}Bl}j}{{{d{hGf}}Bl}j}{{{d{Gh}}}Bl}{{{d{Gf}}}Bl}``{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}0{dc{}}0{{{d{Gf}}}An}{dBn}0{dAn}0{c{{B`{e}}}{}{}}0{{}{{B`{c}}}{}}0{dBb}0{{}c{}}0`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Gj}}}Gj}{{d{d{hc}}}j{}}{dj}`{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Gj}}}Bf}{lj}{{{d{Gj}}{d{Gj}}}n}{{d{d{c}}}n{}}000{{{d{Gj}}{d{hA`}}}Ab}0{cc{}}{{{d{Gj}}}Bh}```{{}l}?{{{d{Gj}}c}B`Bj}{{{d{hGj}}Bh}j}{{{d{hGj}}Bl}j}{{{d{Gj}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}{{}c{}}`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Gl}}}Gl}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Gl}}}Bf}{lj}`{{{d{Gl}}{d{Gl}}}n}{{d{d{c}}}n{}}000{{{d{Gl}}{d{hA`}}}Ab}0{cc{}}{{{d{Gl}}}Bh}`{{}l}?{{{d{Gl}}c}B`Bj}{{{d{hGl}}Bh}j}{{{d{hGl}}Bl}j}{{{d{Gl}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}{{}c{}}````````````{Gn{{d{Ah}}}}{d{{d{c}}}{}}0{{{d{h}}}{{d{hc}}}{}}0{{{d{Gn}}}Gn}{{{d{H`}}}H`}{{d{d{hc}}}j{}}0{dj}0{l{{d{c}}}{}}0{l{{d{hc}}}{}}0{c{{B`{Gn}}}Bf}{c{{B`{H`}}}Bf}{lj}0{{{d{Gn}}{d{Gn}}}n}{{{d{H`}}{d{H`}}}n}{{d{d{c}}}n{}}0000000{{{d{Gn}}{d{hA`}}}Ab}{{{d{H`}}{d{hA`}}}Ab}0{cc{}}0{D`{{Dj{Gn}}}}{{{d{H`}}}Bh}`{{}l}0{{}c{}}0``{{{d{Gn}}c}B`Bj}{{{d{H`}}c}B`Bj}{{{d{hH`}}Bh}j}{{{d{hH`}}Bl}j}{{{d{H`}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}0{dc{}}0{dBn}{dAn}{c{{B`{e}}}{}{}}0{{}{{B`{c}}}{}}0{dBb}0<<`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Hb}}}Hb}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Hb}}}Bf}{lj}{{{d{Hb}}{d{Hb}}}n}{{d{d{c}}}n{}}000{{{d{Hb}}{d{hA`}}}Ab}0{cc{}}{{{d{Hb}}}Bh}`{{}l}{{}c{}}{{{d{Hb}}c}B`Bj}{{{d{hHb}}Bh}j}{{{d{hHb}}Bl}j}{{{d{Hb}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Hd}}}Hd}{{d{d{hc}}}j{}}{dj}`{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Hd}}}Bf}{lj}{{{d{Hd}}{d{Hd}}}n}{{d{d{c}}}n{}}000{{{d{Hd}}{d{hA`}}}Ab}00{cc{}}{HfHd}{{{d{Hd}}}Bh}``{{}l}``{{}c{}}`{{{d{Hd}}}D`}{{{Db{Hh}}HjCh{Db{Hl}}{Db{Hn}}I`BlBh}Hd}```{{{d{Hd}}c}B`Bj}{{{d{hHd}}Bh}j}{{{d{hHd}}Bl}j}{{{d{Hd}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}``=`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Hh}}}Hh}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Hh}}}Bf}{lj}{{{d{Hh}}{d{Hh}}}n}{{d{d{c}}}n{}}000{{{d{Hh}}{d{hA`}}}Ab}0{cc{}}{{{d{Hh}}}Bh}``{{}l}{{}c{}}{{{d{Hh}}c}B`Bj}{{{d{hHh}}Bh}j}{{{d{hHh}}Bl}j}{{{d{Hh}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Ib}}}Ib}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{lj}{{{d{Ib}}{d{Ib}}}n}{{d{d{c}}}n{}}000{cc{}}{{D`D`}{{Dj{Ib}}}}{{}l}{{}c{}}{{{d{Ib}}}n}{{{d{Ib}}}l}{dc{}}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}6`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Hl}}}Hl}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Hl}}}Bf}{lj}{{{d{Hl}}{d{Hl}}}n}{{d{d{c}}}n{}}000{{{d{Hl}}{d{hA`}}}Ab}00{cc{}}{{{d{Hl}}}Bh}`{{{d{Hl}}}{{d{Ch}}}}`{{}l}{{}c{}}{{{d{Hl}}}Id}`{{{d{Hl}}c}B`Bj}{{{d{hHl}}Bh}j}{{{d{hHl}}Bl}j}{{{d{Hl}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{{{d{Hl}}}{{d{If}}}}`{dBb}=`````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Id}}}Id}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Id}}}Bf}{lj}{{{d{Id}}{d{Id}}}n}{{d{d{c}}}n{}}000{{{d{Id}}{d{hA`}}}Ab}0{cc{}}{{}l}{{}c{}}{{{d{Id}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}8`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Hn}}}Hn}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Hn}}}Bf}{lj}{{{d{Hn}}{d{Hn}}}n}{{d{d{c}}}n{}}000{{{d{Hn}}{d{hA`}}}Ab}0{cc{}}{{{d{Hn}}}Bh}`{{}l}{{}c{}}{{{d{Hn}}}Id}`{{{d{Hn}}c}B`Bj}{{{d{hHn}}Bh}j}{{{d{hHn}}Bl}j}{{{d{Hn}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{{{d{Hn}}}{{d{If}}}}`{dBb}=``````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Hj}}}Hj}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Hj}}}Bf}{lj}{{{d{Hj}}{d{Hj}}}n}{{d{d{c}}}n{}}000{{{d{Hj}}{d{hA`}}}Ab}{cc{}}{{}l}{{}c{}}{Hjn}000{{{d{Hj}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}7```````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Ih}}}Ih}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Ih}}}Bf}{lj}{{{d{Ih}}{d{Ih}}}n}{{d{d{c}}}n{}}000{{{d{Ih}}{d{hA`}}}Ab}0{cc{}}{{}l}{{}c{}}{{{d{Ih}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}8````{d{{d{c}}}{}}0{{{d{h}}}{{d{hc}}}{}}0{{{d{Ij}}}Ij}{{{d{Il}}}Il}{{d{d{hc}}}j{}}0{dj}0{l{{d{c}}}{}}0{l{{d{hc}}}{}}0{c{{B`{Ij}}}Bf}{c{{B`{Il}}}Bf}{lj}0{{{d{Ij}}{d{Ij}}}n}{{{d{Il}}{d{Il}}}n}{{d{d{c}}}n{}}0000000{{{d{Ij}}{d{hA`}}}Ab}0{{{d{Il}}{d{hA`}}}Ab}{cc{}}0{{{d{Ij}}}{{d{Bh}}}}`{{}l}0{{}c{}}0{{{d{Ij}}c}B`Bj}{{{d{Il}}c}B`Bj}{{{d{hIj}}Bh}j}{{{d{hIj}}Bl}j}{{{d{Ij}}}{{d{Bl}}}}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}0{dc{}}0{dBn}{dAn}{c{{B`{e}}}{}{}}0{{}{{B`{c}}}{}}0{dBb}0<<```{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{In}}}In}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{In}}}Bf}{lj}{{{d{In}}{d{In}}}n}{{d{d{c}}}n{}}000{{{d{In}}{d{hA`}}}Ab}0{cc{}}{{{d{{J`{c}}}}}InCl}{{{d{In}}}Bh}``{{}l}{{}c{}}`{{{d{In}}c}B`Bj}{{{d{hIn}}Bh}j}{{{d{hIn}}Bl}j}{{{d{In}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}`;```````````````````{{{d{h{Jd{}{{Jb{c}}}}}}El}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}En}c{}}{{{d{h{Jf{}{{Jb{c}}}}}}Jh}c{}}{{{d{h{Jf{}{{Jb{c}}}}}}Jj}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Fb}c{}}{{{d{h{Jf{}{{Jb{c}}}}}}I`}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Fd}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Ff}c{}}{{{d{h{Jf{}{{Jb{c}}}}}}Jl}c{}}{{{d{h{Jf{}{{Jb{c}}}}}}Jn}c{}}{{{d{h{Jf{}{{Jb{c}}}}}}K`}c{}}{{{d{h{Jf{}{{Jb{c}}}}}}Kb}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Fh}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Ef}c{}}{{{d{h{Jf{}{{Jb{c}}}}}}Kd}c{}}{{{d{h{Kf{}{{Jb{c}}}}}}Hd}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Ch}c{}}{{{d{h{Kh{}{{Jb{c}}}}}}f}c{}}{{{d{h{Jf{}{{Jb{c}}}}}}Kj}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Fj}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Gb}c{}}{{{d{h{Kl{}{{Jb{c}}}}}}In}c{}}{{{d{h{Kn{}{{Jb{c}}}}}}f}c{}}{{{d{h{L`{}{{Jb{c}}}}}}Lb}c{}}{{{d{h{Jf{}{{Jb{c}}}}}}Ld}c{}}{{{d{h{Jf{}{{Jb{c}}}}}}Lf}c{}}{{{d{h{Lh{}{{Jb{c}}}}}}Lj}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Gf}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Gj}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Gl}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}H`}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Hb}c{}}````{{{d{h{Ln{}{{Ll{c}}}}}}El}{{M`{Efc}}}Mb}{{{d{h{Ln{}{{Ll{c}}}}}}En}{{M`{Efc}}}Mb}{{{d{h{Ln{}{{Ll{c}}}}}}Bd}{{M`{Efc}}}Mb}{{{d{hMd}}Jh}{{M`{Lfc}}}{}}{{{d{hMd}}Jj}{{M`{Lfc}}}{}}{{{d{h{Ln{}{{Ll{c}}}}}}C`}{{M`{Efc}}}Mb}{{{d{h{Ln{}{{Ll{c}}}}}}Cb}{{M`{Efc}}}Mb}{{{d{h{Ln{}{{Ll{c}}}}}}Fb}{{M`{Efc}}}Mb}{{{d{hMd}}I`}{{M`{I`c}}}{}}{{{d{h{Ln{}{{Ll{c}}}}}}Fd}{{M`{Efc}}}Mb}{{{d{h{Ln{}{{Ll{c}}}}}}Ff}{{M`{Efc}}}Mb}{{{d{hMd}}Jl}{{M`{Lfc}}}{}}{{{d{hMd}}Jn}{{M`{Lfc}}}{}}{{{d{hMd}}K`}{{M`{Lfc}}}{}}{{{d{hMd}}Kb}{{M`{Lfc}}}{}}{{{d{h{Ln{}{{Ll{c}}}}}}Fh}{{M`{Efc}}}Mb}{{{d{h{Ln{}{{Ll{c}}}}}}Ef}{{M`{Efc}}}Mb}{{{d{hMd}}Kd}{{M`{Lfc}}}{}}{{{d{hMf}}Hd}Hd}{{{d{hMf}}Hf}Hf}{{{d{h{Ln{}{{Ll{c}}}}}}Ch}{{M`{Efc}}}Mb}{{{d{hMf}}f}f}{{{d{hMd}}Kj}{{M`{Lfc}}}{}}{{{d{h{Ln{}{{Ll{c}}}}}}Fj}{{M`{Efc}}}Mb}{{{d{h{Ln{}{{Ll{c}}}}}}Gb}{{M`{Efc}}}Mb}{{{d{hMf}}In}In}{{{d{h{Ln{}{{Ll{c}}}}}}Cd}{{M`{Efc}}}Mb}5{{{d{hMf}}Lb}Lb}{{{d{hMd}}Ld}{{M`{Lfc}}}{}}{{{d{hMd}}Lf}{{M`{Lfc}}}{}}{{{d{hMf}}Lj}Lj}{{{d{h{Ln{}{{Ll{c}}}}}}Gf}{{M`{Efc}}}Mb}{{{d{hMf}}Mh}Mh}{{{d{h{Ln{}{{Ll{c}}}}}}Gj}{{M`{Efc}}}Mb}{{{d{h{Ln{}{{Ll{c}}}}}}Gl}{{M`{Efc}}}Mb}{{{d{h{Ln{}{{Ll{c}}}}}}Cf}{{M`{Efc}}}Mb}{{{d{h{Ln{}{{Ll{c}}}}}}H`}{{M`{Efc}}}Mb}{{{d{h{Ln{}{{Ll{c}}}}}}Hb}{{M`{Efc}}}Mb}`````{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{El}}{d{c}}}eMbMb}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{En}}{d{c}}}eMbMb}{{{d{hMn}}{d{Jh}}}j}{{{d{hMn}}{d{Jj}}}j}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Fb}}{d{c}}}eMbMb}{{{d{hMn}}{d{I`}}}j}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Fd}}{d{c}}}eMbMb}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Ff}}{d{c}}}eMbMb}{{{d{hMn}}{d{Jl}}}j}{{{d{hMn}}{d{Jn}}}j}{{{d{hMn}}{d{K`}}}j}{{{d{hMn}}{d{Kb}}}j}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Fh}}{d{c}}}eMbMb}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Ef}}{d{c}}}eMbMb}{{{d{hMn}}{d{Kd}}}j}{{{d{hN`}}{d{Hd}}}j}{{{d{hN`}}{d{Hf}}}j}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Ch}}{d{c}}}eMbMb}{{{d{hN`}}{d{f}}}j}{{{d{hMn}}{d{Kj}}}j}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Fj}}{d{c}}}eMbMb}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Gb}}{d{c}}}eMbMb}{{{d{hN`}}{d{In}}}j}4{{{d{hN`}}{d{Lb}}}j}{{{d{hMn}}{d{Ld}}}j}{{{d{hMn}}{d{Lf}}}j}{{{d{hN`}}{d{Lj}}}j}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Gf}}{d{c}}}eMbMb}1{{{d{hN`}}{d{Mh}}}j}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Gj}}{d{c}}}eMbMb}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Gl}}{d{c}}}eMbMb}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{H`}}{d{c}}}eMbMb}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Hb}}{d{c}}}eMbMb}`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{f}}}f}{{d{d{hc}}}j{}}{dj}{{}f}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{f}}}Bf}{lj}{{{d{f}}{d{f}}}n}{{d{d{c}}}n{}}000{{{d{f}}{d{hA`}}}Ab}0{cc{}}`{{}l}{{}c{}}```{{{d{f}}c}B`Bj}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}8`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Gd}}}Gd}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Gd}}}Bf}{lj}{{{d{Gd}}{d{Gd}}}n}{{d{d{c}}}n{}}000{{{d{Gd}}{d{hA`}}}Ab}0{cc{}}{ChGd}{{{d{{Nb{c}}}}}GdCl}{{{d{Gd}}{d{hc}}}jCn}{{}l}{{}c{}}``{{{d{Gd}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}8`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Lb}}}Lb}{{d{d{hc}}}j{}}{dj}`{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Lb}}}Bf}{lj}{{{d{Lb}}{d{Lb}}}n}{{d{d{c}}}n{}}000{{{d{Lb}}{d{hA`}}}Ab}0{MhLb}{cc{}}`{{}l}{{}c{}}``{{{d{Lb}}c}B`Bj}``{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}8``````````````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Lf}}}Lf}{{d{d{hc}}}j{}}{dj}````{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Lf}}}Bf}{lj}{{BlBh}Lf}{{{d{Lf}}{d{Lf}}}n}{{d{d{c}}}n{}}000`{{{d{Lf}}{d{hA`}}}Ab}0{cc{}}{{{d{Lf}}}Bh}{{}l}{{}c{}}``{{{d{Lf}}c}B`Bj}{{{d{hLf}}Bh}j}{{{d{hLf}}Bl}j}{{{d{Lf}}}Bl}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};`````{d{{d{c}}}{}}0{{{d{h}}}{{d{hc}}}{}}0{{{d{Nd}}}Nd}{{{d{Jh}}}Jh}{{d{d{hc}}}j{}}0{dj}0{l{{d{c}}}{}}0{l{{d{hc}}}{}}0{c{{B`{Nd}}}Bf}{c{{B`{Jh}}}Bf}{lj}0{{{d{Nd}}{d{Nd}}}n}{{{d{Jh}}{d{Jh}}}n}{{d{d{c}}}n{}}0000000{{{d{Nd}}{d{hA`}}}Ab}{{{d{Jh}}{d{hA`}}}Ab}0{cc{}}0{{{d{Jh}}}Bh}`{{}l}0{{}c{}}0{{{d{Nd}}c}B`Bj}{{{d{Jh}}c}B`Bj}{{{d{hJh}}Bh}j}{{{d{hJh}}Bl}j}{{{d{Jh}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}0{dc{}}0{dBn}{dAn}{c{{B`{e}}}{}{}}0{{}{{B`{c}}}{}}0{dBb}0`<<`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Jj}}}Jj}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Jj}}}Bf}{lj}{{{d{Jj}}{d{Jj}}}n}{{d{d{c}}}n{}}000{{{d{Jj}}{d{hA`}}}Ab}0{cc{}}{{{d{Jj}}}Bh}`{{}l}{{}c{}}`{{{d{Jj}}c}B`Bj}{{{d{hJj}}Bh}j}{{{d{hJj}}Bl}j}{{{d{Jj}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}`;`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{I`}}}I`}{{d{d{hc}}}j{}}{dj}{{}I`}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{I`}}}Bf}{lj}{{{d{I`}}{d{I`}}}n}{{d{d{c}}}n{}}000{{{d{I`}}{d{hA`}}}Ab}0{cc{}}{{{d{I`}}}Bh}`{{}l}{{}c{}}{{{d{I`}}c}B`Bj}{{{d{hI`}}Bh}j}{{{d{hI`}}Bl}j}{{{d{I`}}}Bl}``{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Jl}}}Jl}{{d{d{hc}}}j{}}{dj}`{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Jl}}}Bf}{lj}{{{d{Jl}}{d{Jl}}}n}{{d{d{c}}}n{}}000{{{d{Jl}}{d{hA`}}}Ab}0{cc{}}{{{d{Jl}}}Bh}`{{}l}{{}c{}}`{{{d{Jl}}c}B`Bj}{{{d{hJl}}Bh}j}{{{d{hJl}}Bl}j}{{{d{Jl}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}`{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};``````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Nf}}}Nf}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Nf}}}Bf}{lj}{{{d{Nf}}{d{Nf}}}n}{{d{d{c}}}n{}}000{{{d{Nf}}{d{hA`}}}Ab}0{cc{}}{{}l}{{}c{}}{{{d{Nf}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}8`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Jn}}}Jn}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Jn}}}Bf}{lj}{{{d{Jn}}{d{Jn}}}n}{{d{d{c}}}n{}}000{{{d{Jn}}{d{hA`}}}Ab}0{cc{}}`{{{d{Jn}}}Bh}`{{}l}{{}c{}}{{{d{Jn}}c}B`Bj}{{{d{hJn}}Bh}j}{{{d{hJn}}Bl}j}{{{d{Jn}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{K`}}}K`}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{K`}}}Bf}{lj}{{{d{K`}}{d{K`}}}n}{{d{d{c}}}n{}}000{{{d{K`}}{d{hA`}}}Ab}0{cc{}}{{{d{K`}}}Bh}`{{}l}{{}c{}}`{{{d{K`}}c}B`Bj}{{{d{hK`}}Bh}j}{{{d{hK`}}Bl}j}{{{d{K`}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}`{dBb}`;````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Kb}}}Kb}{{d{d{hc}}}j{}}{dj}``{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Kb}}}Bf}{lj}{{{d{Kb}}{d{Kb}}}n}{{d{d{c}}}n{}}000{{{d{Kb}}{d{hA`}}}Ab}0{cc{}}{{{d{Kb}}}Bh}`{{}l}{{}c{}}`{{{d{Kb}}c}B`Bj}{{{d{hKb}}Bh}j}{{{d{hKb}}Bl}j}{{{d{Kb}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}`{dBb}`;```{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Nh}}}Nh}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Nh}}}Bf}{lj}{{{d{Nh}}{d{Nh}}}n}{{d{d{c}}}n{}}000{{{d{Nh}}{d{hA`}}}Ab}0{cc{}}{{}l}{{}c{}}{{{d{Nh}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}8`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Kd}}}Kd}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Kd}}}Bf}{lj}{{{d{Kd}}{d{Kd}}}n}{{d{d{c}}}n{}}000`{{{d{Kd}}{d{hA`}}}Ab}0{cc{}}{{{d{Kd}}}Bh}`{{}l}{{}c{}}{{{d{Kd}}c}B`Bj}{{{d{hKd}}Bh}j}{{{d{hKd}}Bl}j}{{{d{Kd}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};``{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Kj}}}Kj}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Kj}}}Bf}{lj}{{{d{Kj}}{d{Kj}}}n}{{d{d{c}}}n{}}000{{{d{Kj}}{d{hA`}}}Ab}0{cc{}}{{{d{Kj}}}Bh}``{{}l}{{}c{}}{{{d{Kj}}c}B`Bj}{{{d{hKj}}Bh}j}{{{d{hKj}}Bl}j}{{{d{Kj}}}Bl}`````{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}`{dBb}`;`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Ld}}}Ld}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Ld}}}Bf}{lj}{{{d{Ld}}{d{Ld}}}n}{{d{d{c}}}n{}}000`{{{d{Ld}}{d{hA`}}}Ab}0{cc{}}{{{d{Ld}}}Bh}`{{}l}{{}c{}}{{{d{Ld}}c}B`Bj}{{{d{hLd}}Bh}j}{{{d{hLd}}Bl}j}{{{d{Ld}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Lj}}}Lj}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Lj}}}Bf}{lj}{{{d{Lj}}{d{Lj}}}n}{{d{d{c}}}n{}}000`{{{d{Lj}}{d{hA`}}}Ab}0{cc{}}{{{d{{Nj{c}}}}D`}LjCl}{{{d{{Nl{c}}}}}LjCl}{{{d{Lj}}}Bh}``{{}l}{{}c{}}```{{{d{Lj}}}D`}{{{d{Lj}}c}B`Bj}{{{d{hLj}}Bh}j}{{{d{hLj}}Bl}j}{{{d{Lj}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}<`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Nn}}}Nn}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Nn}}}Bf}{lj}{{{d{Nn}}{d{Nn}}}n}{{d{d{c}}}n{}}000{{{d{Nn}}{d{hA`}}}Ab}0{cc{}}{{{d{Nn}}}Bh}``{{}l}{{}c{}}`{{{d{Nn}}}D`}{{{d{Nn}}c}B`Bj}{{{d{hNn}}Bh}j}{{{d{hNn}}Bl}j}{{{d{Nn}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}`{dBb}<`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Mh}}}Mh}{{d{d{hc}}}j{}}{dj}`{{}Mh}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Mh}}}Bf}{lj}{{{d{Mh}}{d{Mh}}}n}{{d{d{c}}}n{}}000{{{d{Mh}}{d{hA`}}}Ab}0{cc{}}```{{}l}{{}c{}}`{{{d{Mh}}c}B`Bj}```{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}8``{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Hf}}}Hf}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Hf}}}Bf}{lj}{{{d{Hf}}{d{Hf}}}n}{{d{d{c}}}n{}}000{{{d{Hf}}{d{hA`}}}Ab}00{cc{}}{HdHf}{{{d{{O`{ce}}}}D`}HfCl{{Ob{c}}}}{{{d{{Od{ceg}}}}D`D`}HfCl{{Ob{c}}}{{Of{c}}}}{{{d{{Od{ceg}}}}D`}HfCl{{Ob{c}}}{{Of{c}}}}{{{d{Hf}}}Bh}``{{}l}`{{}c{}}{{{d{Hf}}}n}{{{d{Hf}}}D`}{{{Db{Hh}}nHjCh{Db{Hl}}{Db{Hn}}BlBh}Hf}``{{{d{Hf}}c}B`Bj}{{{d{hHf}}Bh}j}{{{d{hHf}}Bl}j}{{{d{Hf}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}`>`````````{{{d{Oh}}}{{d{If}}}}{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Oh}}}Oh}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Oh}}}Bf}{lj}9`{{{d{Oh}}{d{Oh}}}n}{{d{d{c}}}n{}}000{{{d{Oh}}{d{hA`}}}Ab}0{cc{}}{{{d{{Oj{c}}}}{Dj{D`}}}OhCl}{{{d{Oh}}{d{hc}}}jCn}{{}l}{{}c{}}{{{d{Oh}}}l}`{{IfEb}Oh}{{{d{Oh}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}:``{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Ol}}}Ol}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{lj}{{{d{Ol}}{d{Ol}}}n}{{d{d{c}}}n{}}000{cc{}}{{D`D`}{{Dj{Ol}}}}{{}l}{{}c{}}{dc{}}{{{d{Ol}}}If}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}5`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{On}}}On}{{d{d{hc}}}j{}}{dj}{{}On}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{On}}}Bf}{lj}{{{d{On}}{d{On}}}n}{{d{d{c}}}n{}}000{{{d{On}}{d{hA`}}}Ab}0{cc{}}{{{d{On}}{d{hc}}}jCn}{{}l}{{{d{On}}}{{d{{Al{If}}}}}}`{{}c{}}`{{{d{On}}}{{d{{Dj{Df}}}}}}`{{{Db{If}}{Dj{Df}}n}On}{{{d{On}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}:```````````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{A@`}}}A@`}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{A@`}}}Bf}{lj}{{{d{A@`}}{d{A@`}}}n}{{d{d{c}}}n{}}000{{{d{A@`}}{d{hA`}}}Ab}0{cc{}}{{{d{A@`}}{d{hc}}}jCn}{{}l}{{}c{}}{{{d{A@`}}}n}{{{d{A@`}}c}B`Bj}{A@`D`}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}:`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{A@b}}}A@b}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{A@b}}}Bf}{lj}{{{d{A@b}}{d{A@b}}}n}{{d{d{c}}}n{}}000{{{d{A@b}}{d{hA`}}}Ab}0{cc{}}{{{d{A@b}}{d{hc}}}jCn}{{}l}{{}c{}}``{{{d{A@b}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}`8`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Dh}}}Dh}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Dh}}}Bf}{lj}{{{d{Dh}}{d{Dh}}}n}{{d{d{c}}}n{}}000{{{d{Dh}}{d{hA`}}}Ab}0{cc{}}{{{d{Dh}}{d{hc}}}jCn}`{{}l}{{}c{}}`{{{d{Dh}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}8`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{A@d}}}A@d}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{A@d}}}Bf}{lj}{{{d{A@d}}}{{d{{Al{If}}}}}}`{{{d{A@d}}{d{A@d}}}n}{{d{d{c}}}n{}}000{{{d{A@d}}{d{hA`}}}Ab}0{cc{}}{{{d{A@d}}{d{hc}}}jCn}{{}l}{{}c{}}{{{d{A@d}}}l}{{{Db{If}}}A@d}{{{d{A@d}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}:`````````````````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{If}}}If}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{If}}}Bf}{lj}{{{d{If}}{d{If}}}n}00{{d{d{c}}}n{}}000{{{d{If}}{d{hA`}}}Ab}0{cc{}}{{{d{G`}}}If}{G`If}{{{d{{A@f{c}}}}{Dj{D`}}}IfCl}{{{d{If}}{d{hc}}}jCn}{{}l}{{}c{}}{{{d{If}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}8```````````````````{{G`Bl}{{Af{G`}}}}0{{G`G`Bl}{{Af{G`}}}}0{{{d{G`}}}{{d{G`}}}}11{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{G`}}}G`}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}88{lj}{{{d{G`}}{d{G`}}}n}:{{d{d{c}}}n{}}000{{{d{G`}}{d{hA`}}}Ab}0{cc{}}==``{{}l}{{}c{}}{{{d{G`}}}n}{{G`G`Bl}{{Af{G`}}}}000{{G`Bl}{{Af{G`}}}}011111111{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{{d{Fj}}}{{Af{G`c}}}{}}{{}{{B`{c}}}{}}{dBb}:8","D":"EKd","p":[[5,"Ast",0],[1,"reference"],[5,"Program",2065],[0,"mut"],[1,"unit"],[1,"usize"],[1,"bool"],[5,"Formatter",3241],[8,"Result",3241],[5,"PathBuf",3242],[8,"Result",3243],[1,"str"],[6,"Value",3244],[1,"slice"],[5,"String",3245],[6,"Result",3246],[5,"TypeId",3247],[5,"ArrayAccess",82],[10,"Deserializer",3248],[8,"NodeID",348],[10,"Serializer",3249],[5,"Span",3250],[5,"SmolStr",3251],[5,"AssociatedConstant",119],[5,"AssociatedFunction",156],[5,"MemberAccess",194],[5,"TupleAccess",231],[5,"Identifier",275],[5,"Identifier",3252],[10,"Network",3253],[10,"Hasher",3254],[5,"Symbol",3255],[5,"Vec",3256],[5,"IndexMap",3257],[5,"Location",317],[5,"CompositeType",3049],[6,"Option",3258],[10,"Node",348],[5,"NodeBuilder",354],[5,"NodeBuilderInner",354],[5,"NonNegativeNumber",397],[5,"StaticString",434],[6,"Expression",465],[10,"FromStrRadix",917],[5,"ParseIntError",3259],[6,"AccessExpression",635],[5,"ArrayExpression",673],[6,"BinaryOperation",709],[5,"BinaryExpression",709],[5,"CallExpression",807],[5,"CastExpression",845],[5,"ErrExpression",882],[6,"Literal",917],[10,"Display",3241],[5,"DisplayDecimal",917],[6,"Value",3166],[5,"LocatorExpression",978],[5,"ProgramId",2100],[5,"StructExpression",1018],[5,"StructVariableInitializer",1018],[5,"TernaryExpression",1094],[5,"TupleExpression",1132],[6,"UnaryOperation",1168],[5,"UnaryExpression",1168],[5,"UnitExpression",1243],[5,"Function",1278],[5,"FunctionStub",2818],[5,"Annotation",1330],[6,"Variant",1757],[5,"Input",1643],[5,"Output",1718],[5,"Block",2326],[6,"CoreFunction",1366],[6,"Mode",1685],[6,"Type",3115],[6,"GroupCoordinate",1794],[6,"GroupLiteral",1827],[5,"GroupTuple",1827],[5,"Mapping",1892],[5,"Mapping",3260],[17,"Output"],[10,"ExpressionConsumer",1934],[10,"StatementConsumer",1934],[5,"AssertStatement",2224],[5,"AssignStatement",2289],[5,"ConditionalStatement",2363],[5,"ConsoleStatement",2435],[5,"ConstDeclaration",2471],[5,"DefinitionStatement",2509],[5,"ExpressionStatement",2583],[10,"FunctionConsumer",1934],[10,"ImportConsumer",1934],[5,"IterationStatement",2619],[10,"MappingConsumer",1934],[10,"ProgramConsumer",1934],[10,"ProgramScopeConsumer",1934],[5,"ProgramScope",2134],[5,"ReturnStatement",2662],[6,"Statement",2170],[10,"StructConsumer",1934],[5,"Composite",2698],[17,"AdditionalOutput"],[10,"ExpressionReconstructor",1982],[1,"tuple"],[10,"Default",3261],[10,"StatementReconstructor",1982],[10,"ProgramReconstructor",1982],[5,"Stub",2780],[17,"AdditionalInput"],[10,"ExpressionVisitor",2025],[10,"StatementVisitor",2025],[10,"ProgramVisitor",2025],[5,"ProgramID",3262],[6,"AssertVariant",2224],[6,"ConsoleFunction",2403],[6,"DeclarationType",2552],[5,"RecordType",3263],[5,"StructType",3264],[5,"Member",2741],[5,"ClosureCore",3265],[10,"InstructionTrait",3266],[5,"FunctionCore",3267],[10,"CommandTrait",3268],[5,"ArrayType",2875],[5,"ArrayType",3269],[6,"CoreConstant",2912],[5,"FutureType",2937],[6,"IntegerType",2974],[5,"MappingType",3016],[5,"TupleType",3081],[6,"PlaintextType",3270]],"r":[[51,82],[52,119],[53,156],[54,194],[55,231],[468,635],[475,673],[479,709],[480,709],[485,807],[487,845],[493,882],[496,917],[503,917],[531,1018],[532,1018],[536,1094],[541,1132],[543,1168],[544,1168],[546,1243],[2510,2552]],"b":[[98,"impl-Debug-for-ArrayAccess"],[99,"impl-Display-for-ArrayAccess"],[134,"impl-Debug-for-AssociatedConstant"],[135,"impl-Display-for-AssociatedConstant"],[172,"impl-Debug-for-AssociatedFunction"],[173,"impl-Display-for-AssociatedFunction"],[209,"impl-Display-for-MemberAccess"],[210,"impl-Debug-for-MemberAccess"],[246,"impl-Debug-for-TupleAccess"],[247,"impl-Display-for-TupleAccess"],[290,"impl-Display-for-Identifier"],[291,"impl-Debug-for-Identifier"],[412,"impl-Display-for-NonNegativeNumber"],[413,"impl-Debug-for-NonNegativeNumber"],[414,"impl-From%3CString%3E-for-NonNegativeNumber"],[415,"impl-From%3Cusize%3E-for-NonNegativeNumber"],[450,"impl-Display-for-StaticString"],[451,"impl-Debug-for-StaticString"],[574,"impl-Debug-for-Expression"],[575,"impl-Display-for-Expression"],[655,"impl-Debug-for-AccessExpression"],[656,"impl-Display-for-AccessExpression"],[689,"impl-Debug-for-ArrayExpression"],[690,"impl-Display-for-ArrayExpression"],[769,"impl-Display-for-BinaryOperation"],[770,"impl-Debug-for-BinaryOperation"],[771,"impl-Debug-for-BinaryExpression"],[772,"impl-Display-for-BinaryExpression"],[823,"impl-Debug-for-CallExpression"],[824,"impl-Display-for-CallExpression"],[861,"impl-Display-for-CastExpression"],[862,"impl-Debug-for-CastExpression"],[897,"impl-Display-for-ErrExpression"],[898,"impl-Debug-for-ErrExpression"],[948,"impl-Debug-for-Literal"],[949,"impl-Display-for-Literal"],[993,"impl-Debug-for-LocatorExpression"],[994,"impl-Display-for-LocatorExpression"],[1050,"impl-Debug-for-StructVariableInitializer"],[1051,"impl-Display-for-StructVariableInitializer"],[1052,"impl-Debug-for-StructExpression"],[1053,"impl-Display-for-StructExpression"],[1110,"impl-Debug-for-TernaryExpression"],[1111,"impl-Display-for-TernaryExpression"],[1148,"impl-Debug-for-TupleExpression"],[1149,"impl-Display-for-TupleExpression"],[1210,"impl-Display-for-UnaryExpression"],[1211,"impl-Debug-for-UnaryExpression"],[1258,"impl-Debug-for-UnitExpression"],[1259,"impl-Display-for-UnitExpression"],[1297,"impl-Debug-for-Function"],[1298,"impl-Display-for-Function"],[1345,"impl-Debug-for-Annotation"],[1346,"impl-Display-for-Annotation"],[1658,"impl-Display-for-Input"],[1659,"impl-Debug-for-Input"],[1704,"impl-Display-for-Mode"],[1705,"impl-Debug-for-Mode"],[1733,"impl-Display-for-Output"],[1734,"impl-Debug-for-Output"],[1813,"impl-Display-for-GroupCoordinate"],[1814,"impl-Debug-for-GroupCoordinate"],[1859,"impl-Debug-for-GroupLiteral"],[1860,"impl-Display-for-GroupLiteral"],[1907,"impl-Display-for-Mapping"],[1908,"impl-Debug-for-Mapping"],[2081,"impl-Display-for-Program"],[2082,"impl-Debug-for-Program"],[2115,"impl-Display-for-ProgramId"],[2116,"impl-Debug-for-ProgramId"],[2118,"impl-From%3CIdentifier%3E-for-ProgramId"],[2119,"impl-From%3C%26ProgramID%3CN%3E%3E-for-ProgramId"],[2150,"impl-Display-for-ProgramScope"],[2151,"impl-Debug-for-ProgramScope"],[2204,"impl-Display-for-Statement"],[2205,"impl-Debug-for-Statement"],[2258,"impl-Display-for-AssertStatement"],[2259,"impl-Debug-for-AssertStatement"],[2304,"impl-Display-for-AssignStatement"],[2305,"impl-Debug-for-AssignStatement"],[2342,"impl-Debug-for-Block"],[2343,"impl-Display-for-Block"],[2379,"impl-Display-for-ConditionalStatement"],[2380,"impl-Debug-for-ConditionalStatement"],[2421,"impl-Display-for-ConsoleFunction"],[2422,"impl-Debug-for-ConsoleFunction"],[2450,"impl-Display-for-ConsoleStatement"],[2451,"impl-Debug-for-ConsoleStatement"],[2486,"impl-Display-for-ConstDeclaration"],[2487,"impl-Debug-for-ConstDeclaration"],[2529,"impl-Display-for-DefinitionStatement"],[2530,"impl-Debug-for-DefinitionStatement"],[2569,"impl-Debug-for-DeclarationType"],[2570,"impl-Display-for-DeclarationType"],[2599,"impl-Debug-for-ExpressionStatement"],[2600,"impl-Display-for-ExpressionStatement"],[2635,"impl-Debug-for-IterationStatement"],[2636,"impl-Display-for-IterationStatement"],[2678,"impl-Display-for-ReturnStatement"],[2679,"impl-Debug-for-ReturnStatement"],[2714,"impl-Debug-for-Composite"],[2715,"impl-Display-for-Composite"],[2756,"impl-Display-for-Member"],[2757,"impl-Debug-for-Member"],[2797,"impl-Display-for-Stub"],[2798,"impl-Debug-for-Stub"],[2834,"impl-Display-for-FunctionStub"],[2835,"impl-Debug-for-FunctionStub"],[2893,"impl-Debug-for-ArrayType"],[2894,"impl-Display-for-ArrayType"],[2953,"impl-Display-for-FutureType"],[2954,"impl-Debug-for-FutureType"],[2999,"impl-Display-for-IntegerType"],[3000,"impl-Debug-for-IntegerType"],[3031,"impl-Debug-for-MappingType"],[3032,"impl-Display-for-MappingType"],[3064,"impl-Display-for-CompositeType"],[3065,"impl-Debug-for-CompositeType"],[3098,"impl-Debug-for-TupleType"],[3099,"impl-Display-for-TupleType"],[3148,"impl-Display-for-Type"],[3149,"impl-Debug-for-Type"],[3151,"impl-From%3C%26Value%3E-for-Type"],[3152,"impl-From%3CValue%3E-for-Type"],[3202,"impl-PartialEq-for-Value"],[3203,"impl-Value"],[3208,"impl-Display-for-Value"],[3209,"impl-Debug-for-Value"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAM8JVwECAAEABQARABoAAgAeAAEAJQACACwABwA7AAIARgAAAFAAAABVAA8AZgAAAGkAAABrAAMAcAAHAHkADwCKAAAAjAAAAI8AAwCUAAUAmwABAJ8ADwCwAAAAsgAAALUAAwC6AAYAwgAAAMQADwDVAAAA1wAAANsAAwDgAAcA6QAPAPoAAAD9AAAA/wADAAQBBQALAQgAFQEQACcBAQAqAQAALwEDADQBGgBQAQEAUwEJAGUBEgB6AQEAhAEJAI8BEQCiAQEApgEAAKkBBgCyARIAxgEAAMgBCQAlAgAAJwIIADECAwA3AgUAPwIBAEICAABEAgAAUwIAAFYCAQBfAgMAbgIIAHgCAwCCAg8AkwIBAJYCCwCjAggArQIGALUCAAC3AgAAuQIDAL4CBwDmAh8ACQMAAAsDAQASAwQAGAMPACoDDwA8AwAAPgMAAEEDAwBGAwcATwMNAF4DAQBhAwAAYwMAAGUDAwBqAwUAcQMBAHQDDwCFAwAAhwMAAIkDAwCOAwcAmAMAAKADCwCtAwkAuQMFAMEDEQDUAw8A5QMBAOgDAADuAwMA8wMHAP0DAwACBBcAGwQDACEEAQAmBAEALAQHADYEAwA7BAsASAQEAE4ECgBaBAAAXgQAAGAEAwBlBAcAbgQIAHgEBgCABAAAggQAAIQEAwCJBAcAngQeAMAEAADCBAEAyAQEAM4EDQDdBA8A7gQAAPAEAADyBAMA9wQHAAAFAAADBRAAFgUBABoFAQAeBQAAIQUAACQFAwApBQcAMgUAADQFDwBFBQAASAUAAEoFAwBPBVoAqwW1AGMGAABnBgQAbQYQAH8GAACBBgAAgwYAAIUGAACHBgMAjAYGAJQGAgCYBhIArAYAAK4GCAC4Bg8AyQYAAMsGAADNBgAAzwYDANQGBgDcBgYA5AYOAPQGAAD6BggACAcPABkHAAAbBwgAKAceAEkHAABLBwEATwcEAFUHDQBmBw8AdwcBAHsHAAB+BwMAgwcGAIsHAACTBwcAnwcgAMMHJwDsBwAA7wciABMIBAAZCAoAJggAACgIAAArCAAALQgHADYIDwBHCAMATggIAFgIBABeCAsAbAgAAHAIAABzCAcAhggPAJcIBwCgCAEAowgNALYIHgDXCAAA2QgBAN0IBADjCAsA8AgBAPMIDwAECQAABgkAAAkJAwAOCQYAFgkAABgJEAAqCQAALAkAAC4JAwA0CQcAPQkEAEMJCgBPCQAAUQkAAFQJAwBZCQAAWwkIAGgJDwB5CQAAewkIAIUJDwCXCQAAmQkAAJsJAwCgCQcAqQkPALoJAAC8CQAAvwkDAMQJBQDLCQAAzQkAANIJBQDZCQoA5QkAAOcJAADqCQMA7wkFAPYJAAD4CQAA/AkPAA0KAAAPCggAGQoNACgKAQArCgAALQoAAC8KAwA0CgcAPgoPAE8KAABSCgAAVAoDAF0KBQBkCgAAZgoAAGgKDQB3CgEAegoAAHwKAAB+CgMAgwoHAIwKDQCbCgEAngoCAKMKAACmCgAAqQoDAK4KBwC3Cg8AyAoAAMsKAADPCgMA1AoFANsKAQDeCgQA5QoKAPEKAAD0CgAA9woAAPsKBwAFCw8AFwsCABsLAAAeCwAAJgsDACsLBgAzCwgAPgsIAEgLBwBRCwIAVgsAAFgLCABiCw0AcgsAAHQLAAB2CwMAewsQAI0LAQCQCwAAkgsAAJQLAACWCw0ApQsUALsLAQC/CwAAwQsHAMoLDwDbCwEA3gsLAOsLDwD8CwIAAAwJAAsMCAAVDAcAHgwBACMMCAA9DAkASQwFAFAMBABWDDQAjAwEAJIMEgCmDAMA"}],["leo_compiler",{"t":"FFFFFFNNOOOONNNNNONNNNNNNCOOOONNNNNNNOONNNNNNNNONNNNNNNNOOONNOOONNNNNNNNNNNNNOONOCOOOOONNOONOOONNNNNNNNNNNNNNNONNOOOONNFFFNOOONNNNNNNNONNNNNNNNNOOONNNOONOOONNOOOONNONNNNNNOONNNFFFONNNNNNONNNNNNNNNOOONNNNNNNNNOONNNONNNNNNOOONNNOOONNNNNNNNNONNNOONNN","n":["Ast","BuildOptions","Compiler","CompilerOptions","OutputOptions","SymbolTable","as_ref","as_repr","assigner","ast","","ast_spans_enabled","attach_finalize","borrow","","borrow_mut","","build","check_shadowing","clone","","clone_into","","clone_to_uninit","","compiler","compiler_options","conditional_block_max_depth","dce_ast","dce_enabled","default","","deref","","deref_mut","","deserialize","destructured_ast","disable_conditional_branch_type_checking","drop","","eq","","equivalent","","","","flattened_ast","fmt","","from","","from_json_file","","from_json_string","","functions","handler","import_stubs","init","","initial_ast","initial_symbol_table","inlined_ast","insert_block","insert_fn","insert_futures","insert_struct","insert_variable","into","","into_repr","lookup_fn_symbol","lookup_scope_by_index","lookup_struct","lookup_variable","lookup_variable_in_current_scope","main_file_path","network","new","node_builder","options","output","output_directory","parent","phantom","program_name","remove_variable_from_current_scope","scope_index","","scopes","serialize","ssa_ast","structs","symbol_table_spans_enabled","take_from_value","to_json_file","","to_json_file_without_keys","","to_json_string","","to_json_value","","to_owned","","try_from","","try_into","","type_checked_symbol_table","type_id","","type_table","unrolled_ast","unrolled_symbol_table","variables","vzip","","Ast","Compiler","SymbolTable","add_import_stubs","assigner","ast","","borrow","borrow_mut","checksum","clone","clone_into","clone_to_uninit","code_generation_pass","compile","compiler_options","compiler_stages","dead_code_elimination_pass","deref","deref_mut","destructuring_pass","drop","flattening_pass","from","function_inlining_pass","functions","handler","import_stubs","init","into","loop_unrolling_pass","main_file_path","network","new","node_builder","output_directory","parent","parse_program","parse_program_from_string","phantom","program_name","scope_index","scopes","static_analysis_pass","static_single_assignment_pass","structs","symbol_table_pass","to_owned","try_from","try_into","type_checker_pass","type_id","type_table","variables","vzip","write_ast_to_json","write_symbol_table_to_json","BuildOptions","CompilerOptions","OutputOptions","ast_spans_enabled","borrow","","","borrow_mut","","","build","clone","","","clone_into","","","clone_to_uninit","","","conditional_block_max_depth","dce_ast","dce_enabled","default","","","deref","","","deref_mut","","","destructured_ast","disable_conditional_branch_type_checking","drop","","","flattened_ast","from","","","init","","","initial_ast","initial_symbol_table","inlined_ast","into","","","output","ssa_ast","symbol_table_spans_enabled","to_owned","","","try_from","","","try_into","","","type_checked_symbol_table","type_id","","","unrolled_ast","unrolled_symbol_table","vzip","",""],"q":[[0,"leo_compiler"],[119,"leo_compiler::compiler"],[176,"leo_compiler::options"],[247,"leo_ast"],[248,"leo_ast::program"],[249,"leo_passes::common::symbol_table"],[250,"leo_ast::common::location"],[251,"leo_errors::errors"],[252,"core::result"],[253,"leo_span::symbol"],[254,"core::option"],[255,"leo_span::span"],[256,"serde::de"],[257,"core::fmt"],[258,"std::path"],[259,"leo_ast::functions"],[260,"alloc::vec"],[261,"leo_ast::struct"],[262,"leo_passes::common::symbol_table::variable_symbol"],[263,"leo_passes::common::symbol_table::function_symbol"],[264,"core::cell"],[265,"serde::ser"],[266,"serde_json::value"],[267,"alloc::string"],[268,"core::any"],[269,"snarkvm_console_network"],[270,"core::clone"],[271,"leo_passes::common::graph"],[272,"leo_errors::emitter"],[273,"leo_ast::stub"],[274,"indexmap::map"],[275,"leo_span::source_map"]],"i":"``````b0Cn01Ehj0303Dn1141414`3Ef30252525230252555553252525252442533322222255222224454`1424422222323225252525252525325433225```444544444444444444444424444444444244442244244444442444```31031031103103103030103103103301033103103333103133103103103310333103","f":"``````{{{d{b}}}{{d{f}}}}0````{{{d{hj}}ll}{{Ab{nA`}}}}{d{{d{c}}}{}}0{{{d{h}}}{{d{hc}}}{}}0`{{{d{j}}{d{l}}{Af{Ad}}AhAj}{{Ab{nA`}}}}{{{d{j}}}j}{{{d{b}}}b}{{d{d{hc}}}n{}}0{dn}0`````{{}j}{{}b}{Al{{d{c}}}{}}0{Al{{d{hc}}}{}}0{c{{Ab{j}}}An}``{Aln}0{{{d{j}}{d{j}}}Ah}{{{d{b}}{d{b}}}Ah}{{d{d{c}}}Ah{}}000`{{{d{j}}{d{hB`}}}{{Ab{nBb}}}}{{{d{b}}{d{hB`}}}{{Ab{nBb}}}}{cc{}}0{Bd{{Ab{jA`}}}}{Bd{{Ab{bA`}}}}{{{d{Bf}}}{{Ab{jA`}}}}{{{d{Bf}}}{{Ab{bA`}}}}```{{}Al}0```{{{d{hj}}}Al}{{{d{hj}}l{d{Bh}}}{{Ab{nA`}}}}{{{d{hj}}AdAd{Bj{l}}}{{Ab{nA`}}}}{{{d{hj}}l{d{Bl}}}{{Ab{nA`}}}}{{{d{hj}}l{Af{Ad}}Bn}{{Ab{nA`}}}}{{}c{}}0{bf}{{{d{j}}l}{{Af{{d{C`}}}}}}{{{d{j}}Al}{{Af{{d{{Cb{j}}}}}}}}{{{d{j}}l{Af{Ad}}}{{Af{{d{Bl}}}}}}{{{d{j}}l}{{Af{{d{Bn}}}}}}0``{fb}```````{{{d{hj}}l}n}<``{{{d{j}}c}AbCd}```{{{d{hCf}}{d{Bf}}}{{Ab{c}}}{}}{{{d{j}}Bd{d{Bf}}}{{Ab{nA`}}}}{{{d{b}}Bd{d{Bf}}}{{Ab{nA`}}}}{{{d{j}}Bd{d{Bf}}{d{{Ch{{d{Bf}}}}}}}{{Ab{nA`}}}}{{{d{b}}Bd{d{Bf}}{d{{Ch{{d{Bf}}}}}}}{{Ab{nA`}}}}{{{d{j}}}{{Ab{CjA`}}}}{{{d{b}}}{{Ab{CjA`}}}}{{{d{j}}}{{Ab{CfA`}}}}{{{d{b}}}{{Ab{CfA`}}}}{dc{}}0{c{{Ab{e}}}{}{}}0{{}{{Ab{c}}}{}}0`{dCl}0````{{}c{}}0```{{{d{h{Cn{c}}}}}{{D`{n}}}Db}```{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{{Cn{c}}}}}{{D`{Cj}}}Db}{{{d{{Cn{c}}}}}{{Cn{c}}}{DdDb}}{{d{d{hc}}}n{}}{dn}{{{d{h{Cn{c}}}}{d{j}}{d{Df}}{d{Dh}}}{{D`{Cj}}}Db}{{{d{h{Cn{c}}}}}{{D`{Cj}}}Db}`{{{d{h{Cn{c}}}}}{{D`{{Dj{jDfDh}}}}}Db}9{Al{{d{c}}}{}}{Al{{d{hc}}}{}};{Aln}{{{d{h{Cn{c}}}}{d{j}}}{{D`{n}}}Db}{cc{}}{{{d{h{Cn{c}}}}{d{Dh}}}{{D`{n}}}Db}```{{}Al}{{}c{}}{{{d{h{Cn{c}}}}j}{{D`{j}}}Db}``{{CjCj{d{Dl}}BdBd{Af{Dn}}{Eb{AdE`}}}{{Cn{c}}}Db}```{{{d{h{Cn{c}}}}}{{D`{n}}}Db}{{{d{h{Cn{c}}}}{d{Bf}}Ed}{{D`{n}}}Db}````88`{{{d{{Cn{c}}}}}{{D`{j}}}Db}{dc{}}{c{{Ab{e}}}{}{}}{{}{{Ab{c}}}{}}{{{d{{Cn{c}}}}j}{{D`{{Dj{jDfDh}}}}}Db}{dCl}``:{{{d{{Cn{c}}}}{d{Bf}}}{{D`{n}}}Db}{{{d{{Cn{c}}}}{d{Bf}}{d{j}}}{{D`{n}}}Db}````{d{{d{c}}}{}}00{{{d{h}}}{{d{hc}}}{}}00`{{{d{Dn}}}Dn}{{{d{Ef}}}Ef}{{{d{Eh}}}Eh}{{d{d{hc}}}n{}}00{dn}00```{{}Dn}{{}Ef}{{}Eh}{Al{{d{c}}}{}}00{Al{{d{hc}}}{}}00``{Aln}00`{cc{}}00{{}Al}00```{{}c{}}00```{dc{}}00{c{{Ab{e}}}{}{}}00{{}{{Ab{c}}}{}}00`{dCl}00``444","D":"Nn","p":[[5,"Ast",0,247],[1,"reference"],[5,"Program",248],[0,"mut"],[5,"SymbolTable",0,249],[5,"Location",250],[1,"unit"],[6,"LeoError",251],[6,"Result",252],[5,"Symbol",253],[6,"Option",254],[1,"bool"],[5,"Span",255],[1,"usize"],[10,"Deserializer",256],[5,"Formatter",257],[5,"Error",257],[5,"PathBuf",258],[1,"str"],[5,"Function",259],[5,"Vec",260],[5,"Composite",261],[5,"VariableSymbol",262],[5,"FunctionSymbol",263],[5,"RefCell",264],[10,"Serializer",265],[6,"Value",266],[1,"slice"],[5,"String",267],[5,"TypeId",268],[5,"Compiler",119],[8,"Result",251],[10,"Network",269],[10,"Clone",270],[8,"StructGraph",271],[8,"CallGraph",271],[1,"tuple"],[5,"Handler",272],[5,"CompilerOptions",176],[5,"Stub",273],[5,"IndexMap",274],[6,"FileName",275],[5,"BuildOptions",176],[5,"OutputOptions",176]],"r":[[0,247],[1,176],[2,119],[3,176],[4,176],[5,249],[119,247],[121,249]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAIAAKAACAAAABAADAAsAAAAOAAMAFAAFAB8ABgAoAAcAMQABADwAAQA/AAAASAAAAFIAAABVAAEAWgACAF8AAgBoAAYAcAABAHUAAgB6AAAAfgACAIIAAgCKAAEAjQAAAJQAAACcAAAAnwAAAKEAAQCnAAIAqwAAAK0AAQCxAAIAtQAFALwACADIAAgA0wACANoAAgDeAAAA5QAJAPAAAgD1AAIA"}],["leo_disassembler",{"t":"HH","n":["disassemble","disassemble_from_str"],"q":[[0,"leo_disassembler"],[2,"snarkvm_synthesizer_program"],[3,"leo_ast::stub"],[4,"snarkvm_console_network"],[5,"snarkvm_synthesizer_program::traits::instruction"],[6,"snarkvm_synthesizer_program::traits::command"],[7,"leo_errors::errors::utils::util_errors"],[8,"core::result"]],"i":"``","f":"{{{b{ceg}}}df{{h{c}}}{{j{c}}}}{{{n{l}}{n{l}}}{{Ab{dA`}}}}","D":"`","p":[[5,"ProgramCore",2],[5,"Stub",3],[10,"Network",4],[10,"InstructionTrait",5],[10,"CommandTrait",6],[1,"str"],[1,"reference"],[6,"UtilError",7],[6,"Result",8]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAIAEAAAAAAAAQACAA=="}],["leo_errors",{"t":"CQCCCCCCFSONNNNNOONNNNNNONNNNNNONNONNNNNONNFONNNNNNNNNNNNNNNNNNNNONNNNNNKNMMMMMMFFKIFFFINNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNMNNNNONONNNNNNNNNNNNNNNNNONNNNNNMNNNNNONNNNNNNNNNNNNNNNNNNNNONNPPPPPPPGGPPPPPIPPPPPCNNNNCCNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNCCCNNCNNNNNNCNNCCGPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCPGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCPGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCPGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNCPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["common","create_messages","emitter","errors","backtraced","formatted","macros","traits","Backtraced","INDENT","backtrace","borrow","borrow_mut","clone","clone_into","clone_to_uninit","code","code_identifier","default","deref","deref_mut","description","drop","eq","error","error_code","exit_code","fmt","","from","hash","help","init","into","message","new_from_backtrace","to_owned","to_string","try_from","try_into","type_","type_id","warning_code","Formatted","backtrace","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","description","drop","eq","error_code","exit_code","fmt","","from","hash","init","into","new_from_span","span","to_owned","to_string","try_from","try_into","type_id","warning_code","LeoMessageCode","code_identifier","code_mask","error_code","exit_code","is_error","message_type","warning_code","Buffer","BufferEmitter","Emitter","ErrBuffer","Handler","HandlerInner","StderrEmitter","WarningBuffer","borrow","","","","","borrow_mut","","","","","clone","clone_into","clone_to_uninit","default","","","deref","","","","","deref_mut","","","","","drop","","","","","emit_err","","","","","emit_warning","","","","","emitter","err_count","","extend_if_error","extract_errs","extract_warnings","fatal_err","fmt","","from","","","","","had_errors","init","","","","","inner","into","","","","","into_inner","last_emitted_err_code","","","","last_entry","last_err","last_error_code","new","","new_with_buf","push","to_owned","to_string","try_from","","","","","try_into","","","","","type_id","","","","","warn_count","warning_count","with","Anyhow","AstError","CliError","CompilerError","Err","FlattenError","LastErrorCode","LeoError","LeoWarning","LoopUnrollerError","Ok","PackageError","ParserError","ParserWarning","Result","StaticAnalyzerError","StaticAnalyzerWarning","TypeCheckerError","TypeCheckerWarning","UtilError","ast","borrow","","borrow_mut","","cli","compiler","deref","","deref_mut","","drop","","error_code","","exit_code","flattener","fmt","","","","from","","","","","","","","","","","","","","","","init","","into","","loop_unroller","package","parser","source","","static_analyzer","to_string","","try_from","","try_into","","type_checker","type_id","","utils","ast_errors","AstError","Backtraced","Formatted","borrow","borrow_mut","clone","clone_into","clone_to_uninit","code_mask","deref","deref_mut","drop","error_code","exit_code","failed_to_convert_ast_to_json_string","failed_to_convert_ast_to_json_value","failed_to_convert_symbol_table_to_json_string","failed_to_convert_symbol_table_to_json_value","failed_to_create_ast_json_file","failed_to_create_symbol_table_json_file","failed_to_read_json_file","failed_to_read_json_string_to_ast","failed_to_read_json_string_to_symbol_table","failed_to_write_ast_to_json_file","failed_to_write_symbol_table_to_json_file","fmt","","from","","","function_not_found","init","into","is_error","message_type","num_exit_codes","redefining_external_struct","shadowed_function","shadowed_record","shadowed_struct","shadowed_variable","source","to_owned","to_string","try_from","try_into","type_id","warning_code","cli_errors","Backtraced","CliError","Formatted","borrow","borrow_mut","broadcast_error","build_error","cli_invalid_input","cli_io_error","cli_runtime_error","clone","clone_into","clone_to_uninit","code_mask","confirmation_failed","constraint_limit_exceeded","could_not_fetch_versions","deref","deref_mut","drop","error_code","exit_code","failed_to_enable_ansi_support","failed_to_execute_account","failed_to_execute_build","failed_to_execute_deploy","failed_to_execute_execute","failed_to_execute_new","failed_to_execute_node","failed_to_execute_run","failed_to_get_endpoint_from_env","failed_to_get_network_from_env","failed_to_get_private_key_from_env","failed_to_load_instructions","failed_to_parse_deploy","failed_to_parse_execute","failed_to_parse_new","failed_to_parse_node","failed_to_parse_private_key","failed_to_parse_record","failed_to_parse_run","failed_to_parse_seed","failed_to_read_environment_private_key","failed_to_write_file","fmt","","from","","","init","into","invalid_balance","invalid_example","invalid_network_name","is_error","message_type","needs_leo_build","num_exit_codes","old_release_version","recursive_deploy_with_record","self_update_build_error","self_update_error","source","string_parse_error","table_render_failed","to_owned","to_string","try_from","try_into","type_id","variable_limit_exceeded","warning_code","compiler_errors","Backtraced","CompilerError","Formatted","borrow","borrow_mut","cannot_open_cwd","clone","clone_into","clone_to_uninit","code_mask","deref","deref_mut","drop","error_code","exit_code","file_read_error","fmt","","from","","","illegal_static_member_assignment","import_not_found","imported_program_not_found","init","into","is_error","message_type","num_exit_codes","program_name_should_match_file_name","program_scope_name_does_not_match","source","to_owned","to_string","try_from","try_into","type_id","warning_code","flattener_errors","Backtraced","FlattenError","Formatted","binary_overflow","borrow","borrow_mut","clone","clone_into","clone_to_uninit","code_mask","deref","deref_mut","drop","error_code","exit_code","fmt","","from","","","init","into","is_error","loop_has_neg_value","message_type","num_exit_codes","source","to_owned","to_string","try_from","try_into","type_id","type_name","u128_to_i128","unary_overflow","warning_code","loop_unroller_errors","Backtraced","Formatted","LoopUnrollerError","borrow","borrow_mut","clone","clone_into","clone_to_uninit","code_mask","deref","deref_mut","drop","error_code","exit_code","fmt","","from","","","init","into","is_error","loop_range_decreasing","message_type","num_exit_codes","source","to_owned","to_string","try_from","try_into","type_id","variable_array_access","warning_code","package_errors","Backtraced","Formatted","PackageError","borrow","borrow_mut","clone","clone_into","clone_to_uninit","code_mask","conflicting_on_chain_program_name","dependency_not_found","deref","deref_mut","directory_not_found","drop","empty_source_directory","error_code","execution_error","exit_code","failed_to_create_aleo_file","failed_to_create_directory","failed_to_create_inputs_directory","failed_to_create_manifest","failed_to_create_source_directory","failed_to_deserialize_lock_file","failed_to_deserialize_manifest_file","failed_to_get_file_name","failed_to_get_input_file_entry","failed_to_get_input_file_type","failed_to_get_leo_file_entry","failed_to_get_leo_file_extension","failed_to_initialize_package","failed_to_load_package","failed_to_open_aleo_file","failed_to_open_manifest","failed_to_read_checksum_file","failed_to_read_circuit_file","failed_to_read_file","failed_to_read_input_file","failed_to_read_inputs_directory","failed_to_read_manifest","failed_to_read_manifest_file","failed_to_read_snapshot_file","failed_to_remove_aleo_file","failed_to_remove_checksum_file","failed_to_remove_circuit_file","failed_to_remove_directory","failed_to_remove_snapshot_file","failed_to_serialize_manifest_file","failed_to_set_cwd","failed_to_write_aleo_file","failed_to_write_manifest","fmt","","from","","","init","insufficient_balance","into","invalid_file_name_dependency","invalid_input_file_type","invalid_leo_file_extension","invalid_lock_file_formatting","invalid_package_name","io_error_checksum_file","io_error_circuit_file","io_error_env_file","io_error_gitignore_file","io_error_input_file","io_error_main_file","is_error","message_type","missing_on_chain_program_name","num_exit_codes","snarkvm_error","source","source_directory_can_contain_only_one_file","to_owned","to_string","try_from","try_into","type_id","unimplemented_command","warning_code","parser_errors","parser_warnings","Backtraced","Formatted","ParserError","array_must_have_at_least_one_element","async_finalize_is_deprecated","borrow","borrow_mut","cannot_declare_external_struct","cannot_define_external_record","cannot_import_inside_program_body","circuit_is_deprecated","clone","clone_into","clone_to_uninit","code_mask","comma_expected_after_member","console_statements_are_not_yet_supported","could_not_lex","deref","deref_mut","drop","error_code","exit_code","external_type_cannot_be_used_inside_function","finalize_statements_are_deprecated","fmt","","from","","","hexbin_literal_nonintegers","identifier_too_long","implicit_values_not_allowed","init","inputs_multiple_variable_modes_specified","into","invalid_address_lit","invalid_associated_access","invalid_external_type","invalid_import_list","invalid_method_call","invalid_network","is_error","leo_and_aleo_imports_only","lexer_bidi_override","lexer_block_comment_does_not_close_before_eof","lexer_empty_block_comment","lexer_empty_input","lexer_expected_valid_escaped_char","lexer_hex_number_provided","lexer_string_not_closed","message_type","missing_program_scope","mixed_commas_and_semicolons","num_exit_codes","only_aleo_external_calls","only_one_program_scope_is_allowed","source","space_in_annotation","spread_in_array_init","to_owned","to_string","try_from","try_into","tuple_index_must_be_whole_number","tuple_must_have_at_least_two_elements","type_id","unexpected","unexpected_eof","unexpected_ident","unexpected_statement","unexpected_str","unexpected_token","unexpected_whitespace","warning_code","wrong_digit_for_radix","Backtraced","Formatted","ParserWarning","borrow","borrow_mut","clone","clone_into","clone_to_uninit","code_mask","const_parameter_or_input","deprecated","deref","deref_mut","drop","error_code","exit_code","fmt","","from","","","init","into","is_error","message_type","num_exit_codes","source","to_owned","to_string","try_from","try_into","type_id","warning_code","static_analyzer_error","static_analyzer_warning","Backtraced","Formatted","StaticAnalyzerError","async_transition_call_with_future_argument","borrow","borrow_mut","clone","clone_into","clone_to_uninit","code_mask","deref","deref_mut","drop","error_code","exit_code","expected_future","fmt","","from","","","future_awaits_missing","init","into","invalid_await_call","is_error","message_type","misplaced_future","no_path_awaits_all_futures_exactly_once","num_exit_codes","source","to_owned","to_string","try_from","try_into","type_id","warning_code","Backtraced","Formatted","StaticAnalyzerWarning","borrow","borrow_mut","clone","clone_into","clone_to_uninit","code_mask","deref","deref_mut","drop","error_code","exit_code","fmt","","from","","","future_not_awaited_in_order","init","into","is_error","max_conditional_block_depth_exceeded","message_type","num_exit_codes","some_paths_contain_duplicate_future_awaits","some_paths_do_not_await_all_futures","source","to_owned","to_string","try_from","try_into","type_id","warning_code","type_checker_error","type_checker_warning","Backtraced","Formatted","TypeCheckerError","array_element_cannot_be_future","array_element_cannot_be_record","array_element_cannot_be_tuple","array_empty","array_too_large","assign_unit_expression_to_variable","async_call_can_only_be_done_from_async_transition","async_call_in_conditional","async_cannot_assign_outside_conditional","async_function_cannot_return_value","async_function_input_cannot_be_private","async_function_input_length_mismatch","async_function_input_must_be_public","async_function_not_found","async_transition_invalid_output","async_transition_missing_future_to_return","async_transition_must_call_async_function","borrow","borrow_mut","can_only_await_one_future_at_a_time","can_only_call_inline_function","cannot_assign_to_const_input","cannot_assign_to_const_var","cannot_call_external_inline_function","cannot_define_external_struct","cannot_have_constant_output_mode","cannot_invoke_call_to_local_transition_function","cannot_modify_external_mapping","cannot_reassign_future_variable","clone","clone_into","clone_to_uninit","code_mask","compare_address","composite_data_type_cannot_contain_future","composite_data_type_cannot_contain_tuple","const_declaration_can_only_have_one_binding","const_declaration_must_be_literal_or_tuple_of_literals","core_type_name_conflict","could_not_determine_type","cyclic_function_dependency","cyclic_struct_dependency","deref","deref_mut","drop","duplicate_record_variable","duplicate_struct_member","empty_function_arglist","empty_struct","error_code","exit_code","expected_future","expected_one_type_of","expression_statement_must_be_function_call","external_transition_call_must_be_before_finalize","finalize_block_must_not_be_empty","finalize_output_mode_must_be_public","fmt","","from","","","function_cannot_input_or_output_a_record","function_cannot_take_tuple_as_input","function_has_no_return","future_access_must_be_number","future_awaits_missing","imported_program_cannot_import_program","incorrect_num_args_to_call","incorrect_num_struct_members","incorrect_num_tuple_elements","incorrect_tuple_length","init","into","invalid_assignment_target","invalid_associated_constant","invalid_await_call","invalid_block_access","invalid_core_constant","invalid_core_function","invalid_core_function_call","invalid_future_access","invalid_int_value","invalid_mapping_type","invalid_method_call","invalid_operation_inside_finalize","invalid_operation_outside_finalize","invalid_self_access","invalid_struct_variable","invalid_tuple","invalid_type","is_error","lhs_must_be_identifier_or_tuple","lhs_tuple_element_must_be_an_identifier","loop_body_contains_finalize","loop_body_contains_return","loop_bound_must_be_a_literal","loop_bound_must_be_literal_or_const","loop_bound_type_mismatch","loop_range_decreasing","message_type","missing_return","missing_struct_member","must_call_async_function_once","must_propagate_all_futures","nested_tuple_expression","nested_tuple_type","no_future_parameters","no_path_awaits_all_futures_exactly_once","no_transitions","not_all_futures_consumed","num_exit_codes","only_async_transition_can_return_future","operation_must_be_in_finalize_block","record_var_wrong_type","regular_function_inputs_cannot_have_modes","required_record_variable","return_type_of_finalize_function_is_future","source","strings_are_not_supported","struct_cannot_have_member_mode","struct_definitions_dont_match","struct_or_record_cannot_contain_record","stub_functions_must_be_empty","stub_functions_must_not_be_inlines","stub_name_mismatch","stubs_cannot_have_const_declarations","stubs_cannot_have_non_record_structs","to_owned","to_string","too_many_mappings","too_many_transitions","transition_function_inputs_cannot_be_const","try_from","try_into","tuple_out_of_range","type_id","type_should_be","undefined_type","unit_expression_only_in_return_statements","unknown_annotation","unknown_future_consumed","unknown_sym","unreachable_code_after_return","warning_code","Backtraced","Formatted","TypeCheckerWarning","async_function_is_never_called_by_transition_function","borrow","borrow_mut","clone","clone_into","clone_to_uninit","code_mask","deref","deref_mut","drop","error_code","exit_code","fmt","","from","","","init","into","is_error","max_conditional_block_depth_exceeded","message_type","num_exit_codes","some_paths_contain_duplicate_future_awaits","some_paths_do_not_await_all_futures","source","to_owned","to_string","try_from","try_into","type_id","warning_code","util_errors","Backtraced","Formatted","UtilError","borrow","borrow_mut","build_file_does_not_exist","circular_dependency_error","clone","clone_into","clone_to_uninit","code_mask","deref","deref_mut","drop","duplicate_dependency_name_error","endpoint_moved_error","error_code","exit_code","failed_to_deserialize_file","failed_to_open_file","failed_to_read_file","failed_to_retrieve_dependencies","failed_to_retrieve_from_endpoint","fmt","","from","","","init","into","invalid_bound","invalid_field","invalid_height_or_hash","invalid_input_id","invalid_input_id_len","invalid_numerical_input","invalid_range","is_error","json_serialization_error","message_type","missing_network_error","missing_path_error","network_error","num_exit_codes","program_name_mismatch_error","reqwest_error","snarkvm_error_building_program_id","snarkvm_parsing_error","source","to_owned","to_string","toml_serizalization_error","try_from","try_into","type_id","util_file_io_error","warning_code"],"q":[[0,"leo_errors"],[4,"leo_errors::common"],[8,"leo_errors::common::backtraced"],[43,"leo_errors::common::formatted"],[72,"leo_errors::common::traits"],[80,"leo_errors::emitter"],[187,"leo_errors::errors"],[264,"leo_errors::errors::ast"],[265,"leo_errors::errors::ast::ast_errors"],[313,"leo_errors::errors::cli"],[314,"leo_errors::errors::cli::cli_errors"],[386,"leo_errors::errors::compiler"],[387,"leo_errors::errors::compiler::compiler_errors"],[425,"leo_errors::errors::flattener"],[426,"leo_errors::errors::flattener::flattener_errors"],[462,"leo_errors::errors::loop_unroller"],[463,"leo_errors::errors::loop_unroller::loop_unroller_errors"],[496,"leo_errors::errors::package"],[497,"leo_errors::errors::package::package_errors"],[582,"leo_errors::errors::parser"],[584,"leo_errors::errors::parser::parser_errors"],[660,"leo_errors::errors::parser::parser_warnings"],[693,"leo_errors::errors::static_analyzer"],[695,"leo_errors::errors::static_analyzer::static_analyzer_error"],[732,"leo_errors::errors::static_analyzer::static_analyzer_warning"],[767,"leo_errors::errors::type_checker"],[769,"leo_errors::errors::type_checker::type_checker_error"],[917,"leo_errors::errors::type_checker::type_checker_warning"],[952,"leo_errors::errors::utils"],[953,"leo_errors::errors::utils::util_errors"],[1010,"alloc::string"],[1011,"core::fmt"],[1012,"core::hash"],[1013,"core::option"],[1014,"backtrace::capture"],[1015,"core::result"],[1016,"core::any"],[1017,"leo_span::span"],[1018,"core::convert"],[1019,"alloc::vec"],[1020,"alloc::boxed"],[1021,"core::ops::function"],[1022,"anyhow"],[1023,"core::error"],[1024,"std::fs"]],"i":"``````````f00000000000000000000000000000000`Bf000000000000000000000000000`Bj000000````````CfChBnC`Bl43210000210432104321043210Cb5431054314343113225432135432135432120541235313212543215432154321433Cd000Gj11``1011Cl`20202`2020``202020202`220022222222222200002020```20`202020`20```Ef0000000000000000000000000000000000000000000000`Eh`0000000000000000000000000000000000000000000000000000000000000000000000`F``000000000000000000000000000000000000`El`000000000000000000000000000000`000`Ej0`000000000000000000000000000000`Fb0`0000000000000000000000000000000000000000000000000000000000000000000000000000000000``Fd0`0000000000000000000000000000000000000000000000000000000000000000000000000Fl0`000000000000000000000000000000``Eb0`0000000000000000000000000000000000Fj0`00000000000000000000000000000000``Ed0`0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Fh0`00000000000000000000000000000000`En0`000000000000000000000000000000000000000000000000000000","f":"```````````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{f}}}f}{{b{b{dc}}}h{}}{bh}``{{}f}{j{{b{c}}}{}}{j{{b{dc}}}{}}{{{b{f}}}{{b{l}}}}{jh}{{{b{f}}{b{f}}}n}`{{{b{f}}}A`}{{{b{f}}}Ab}{{{b{f}}{b{dAd}}}Af}0{cc{}}{{{b{f}}{b{dc}}}hAh}`{{}j}{{}c{}}`{{c{Aj{A`}}AbAlA`nAn}fB`}{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}`{bBd}<``{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Bf}}}Bf}{{b{b{dc}}}h{}}{bh}{{}Bf}{j{{b{c}}}{}}{j{{b{dc}}}{}}{{{b{Bf}}}{{b{l}}}}{jh}{{{b{Bf}}{b{Bf}}}n}{{{b{Bf}}}A`}{{{b{Bf}}}Ab}{{{b{Bf}}{b{dAd}}}Af}0{cc{}}{{{b{Bf}}{b{dc}}}hAh}{{}j}{{}c{}}{{c{Aj{A`}}AbAlA`nBhAn}BfB`}`{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}<`{{}Al}{{}Ab}{{{b{Bj}}}A`}{{{b{Bj}}}Ab}{{}n}{{}A`}3````````{b{{b{c}}}{}}0000{{{b{d}}}{{b{dc}}}{}}0000{{{b{Bl}}}Bl}{{b{b{dc}}}h{}}{bh}{{}Bn}{{}{{C`{c}}}{}}{{}Bl}{j{{b{c}}}{}}0000{j{{b{dc}}}{}}0000{jh}0000{{{b{dCb}}Cd}h}{{{b{dCf}}Cd}h}{{{b{dCh}}Cd}h}{{{b{Bn}}c}h{{Cj{Cd}}}}{{{b{dBl}}Cd}h}{{{b{dCb}}Cl}h}{{{b{dCf}}Cl}h}{{{b{dCh}}Cl}h}{{{b{Bn}}Cl}h}{{{b{dBl}}Cl}h}`{{{b{Bn}}}j}`{{{b{Bn}}{Bb{cCd}}}{{Bb{ch}}}{}}{{{b{Bl}}}Cn}{{{b{Bl}}}D`}{{{b{Bn}}Cd}Db}{{{b{{C`{c}}}}{b{dAd}}}AfDd}{{{b{{C`{c}}}}{b{dAd}}}AfDf}{cc{}}0000{{{b{Bn}}}n}{{}j}0000`{{}c{}}0000{{{C`{c}}}{{Dh{c}}}{}}{{{b{Cb}}}{{Aj{Ab}}}}{{{b{Cf}}}{{Aj{Ab}}}}{{{b{Ch}}}{{Aj{Ab}}}}{{{b{Bl}}}{{Aj{Ab}}}}{{{b{{C`{c}}}}}{{Aj{{b{c}}}}}{}}{{{b{Bn}}}{{Bb{h{Dj{Cd}}}}}}`{{{Dj{Cb}}}Bn}{{}Bl}{{}{{Dl{BnBl}}}}{{{b{d{C`{c}}}}c}h{}}{bc{}}{bA`}{c{{Bb{e}}}{}{}}0000{{}{{Bb{c}}}{}}0000{bBd}0000`{{{b{Bn}}}j}{e{{Bb{cCn}}}{}{{E`{{b{Bn}}}{{Dn{{Bb{cCd}}}}}}}}`````````````````````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0``{j{{b{c}}}{}}0{j{{b{dc}}}{}}0{jh}0{{{b{Cd}}}A`}{{{b{Cl}}}A`}{{{b{Cd}}}Ab}`{{{b{Cd}}{b{dAd}}}Af}0{{{b{Cl}}{b{dAd}}}Af}0{EbCd}{cc{}}{EdCd}{EfCd}{EhCd}{EjCd}{ElCd}{EnCd}{F`Cd}{FbCd}{FdCd}{FfCd}{FhCl}{FjCl}{FlCl}={{}j}0{{}c{}}0```{{{b{Cd}}}{{Aj{{b{Fn}}}}}}{{{b{Cl}}}{{Aj{{b{Fn}}}}}}`{bA`}0{c{{Bb{e}}}{}{}}0{{}{{Bb{c}}}{}}0`{bBd}0`````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Ef}}}Ef}{{b{b{dc}}}h{}}{bh}{{}Ab}{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{Ef}}}A`}{{{b{Ef}}}Ab}{cEfFn}000{{ce}EfDdFn}001100{{{b{Ef}}{b{dAd}}}Af}0{cc{}}{BfEf}{fEf}{cEfDf}{{}j}{{}c{}}{{}n}{{}A`}{{}Ab}{{cBh}EfDf}0000{{{b{Ef}}}{{Aj{{b{Fn}}}}}}{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}{{{b{Ef}}}A`}````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{cEhDf}00{cEhFn}1{{{b{Eh}}}Eh}{{b{b{dc}}}h{}}{bh}?{{}Eh}{{cG`e}EhDfDf}5{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{Eh}}}A`}{{{b{Eh}}}Ab}6;;;;;;;666;;;;;;;;;;;{{{b{Eh}}{b{dAd}}}Af}0{fEh}{BfEh}{cc{}}{{}j}{{}c{}}{cEhDf}00{{}n}{{}A`}?{{}Ab}{{ce}EhDfDf}{{}Eh}{cEhFn}0{{{b{Eh}}}{{Aj{{b{Fn}}}}}}77{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}{{cG`e}EhDfDf}{{{b{Eh}}}A`}````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{cBh}F`Fn}{{{b{F`}}}F`}{{b{b{dc}}}h{}}{bh}{{}Ab}{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{F`}}}A`}{{{b{F`}}}Ab}{{ce}F`DdFn}{{{b{F`}}{b{dAd}}}Af}0{cc{}}{BfF`}{fF`}{{cBh}F`Df}0{{ceBh}F`DfDf}{{}j}{{}c{}}{{}n}{{}A`}{{}Ab}55{{{b{F`}}}{{Aj{{b{Fn}}}}}}{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}{{{b{F`}}}A`}````{{cegiBh}ElDfDfDfDf}{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{El}}}El}{{b{b{dc}}}h{}}{bh}={j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{El}}}A`}{{{b{El}}}Ab}{{{b{El}}{b{dAd}}}Af}0{BfEl}{cc{}}{fEl}{{}j}{{}c{}}{{}n}{{cBh}ElDf}{{}A`}{{}Ab}{{{b{El}}}{{Aj{{b{Fn}}}}}}{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}{{{b{c}}}{{b{l}}}{}}9{{ceBh}ElDfDf}{{{b{El}}}A`}````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Ej}}}Ej}{{b{b{dc}}}h{}}{bh}>{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{Ej}}}A`}{{{b{Ej}}}Ab}{{{b{Ej}}{b{dAd}}}Af}0{BfEj}{cc{}}{fEj}{{}j}{{}c{}}{{}n}{BhEj}{{}A`}{{}Ab}{{{b{Ej}}}{{Aj{{b{Fn}}}}}}{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}8{{{b{Ej}}}A`}````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Fb}}}Fb}{{b{b{dc}}}h{}}{bh}<{{ce}FbDfDf}{cFbDf}{j{{b{c}}}{}}{j{{b{dc}}}{}}3{jh}{{}Fb}{{{b{Fb}}}A`}5{{{b{Fb}}}Ab}6{{ce}FbDfFn}{cFbFn}800140{{ce}FbDdFn}1{cFbDd}{{ceg}FbDfDdDf};;;11413;41;114144;;{{{b{Fb}}{b{dAd}}}Af}0{fFb}{BfFb}{cc{}}{{}j}{{ceg}FbDfDfDf}{{}c{}}{cFbDf}{{cGb}FbDd}{{ce}FbDdDd}{{}Fb}3>>>>>>{{}n}{{}A`}2{{}Ab}6{{{b{Fb}}}{{Aj{{b{Fn}}}}}}4{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}<{{{b{Fb}}}A`}`````{{cBh}FdDf}{BhFd}{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}2222{{{b{Fd}}}Fd}{{b{b{dc}}}h{}}{bh}>55{cFdDf}{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{Fd}}}A`}{{{b{Fd}}}Ab}{{ceBh}FdDfDf}<{{{b{Fd}}{b{dAd}}}Af}0{cc{}}{fFd}{BfFd}{BhFd}{{cjjBh}FdDf}{{cBh}FdDf}{{}j}3{{}c{}}2244{{cegBh}FdDfDfDf}5{{}n}6{{}Fd}{cFdDf}11000{{}A`}99{{}Ab}::{{{b{Fd}}}{{Aj{{b{Fn}}}}}};;{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}=={bBd}{{ceBh}FdDfDf}{BhFd}{{c{b{{Gd{e}}}}Bh}FdDfDf}22{{cBh}FdDf}3{{{b{Fd}}}A`}{{GfGhA`}Fd}```{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Fl}}}Fl}{{b{b{dc}}}h{}}{bh}{{}Ab}{BhFl}{{ceBh}FlDfDf}{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{Fl}}}A`}{{{b{Fl}}}Ab}{{{b{Fl}}{b{dAd}}}Af}0{cc{}}{BfFl}{fFl}{{}j}{{}c{}}{{}n}{{}A`}?{{{b{Fl}}}{{Aj{{b{Fn}}}}}}{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}?`````{{cBh}EbDf}{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Eb}}}Eb}{{b{b{dc}}}h{}}{bh}{{}Ab}{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{Eb}}}A`}{{{b{Eb}}}Ab};{{{b{Eb}}{b{dAd}}}Af}0{BfEb}{cc{}}{fEb}?{{}j}{{}c{}}{BhEb}{{}n}{{}A`}2{{cBh}EbDf}?{{{b{Eb}}}{{Aj{{b{Fn}}}}}}{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}{{{b{Eb}}}A`}```{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Fj}}}Fj}{{b{b{dc}}}h{}}{bh}{{}Ab}{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{Fj}}}A`}{{{b{Fj}}}Ab}{{{b{Fj}}{b{dAd}}}Af}0{fFj}{cc{}}{BfFj}{{cBh}FjDf}{{}j}{{}c{}}{{}n}3{{}A`}>{{ceBh}FjDfDf}0{{{b{Fj}}}{{Aj{{b{Fn}}}}}}{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}{{{b{Fj}}}A`}`````{BhEd}000{{ceBh}EdDfDf}111{{cBh}EdDf}22120222{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}4422424422{{{b{Ed}}}Ed}{{b{b{dc}}}h{}}{bh}{{}Ab}6668866{{{Dh{c}}}EdDf}0{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}::<<{{{b{Ed}}}A`}{{{b{Ed}}}Ab}<=>>>>{{{b{Ed}}{b{dAd}}}Af}0{cc{}}{BfEd}{fEd}{BhEd}0{{cBh}EdDf}001{{ceBh}EdDfDf}000{{}j}{{}c{}}43442232224334243{{}n}55555555{{}A`}6465666565{{}Ab}775757{{{b{Ed}}}{{Aj{{b{Fn}}}}}}88{{cegBh}EdDfDfDf}799799{bc{}}{bA`}::;{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}};{bBd}<=>==<>{{{b{Ed}}}A`}```{{cBh}FhDf}{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Fh}}}Fh}{{b{b{dc}}}h{}}{bh}>{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{Fh}}}A`}{{{b{Fh}}}Ab}{{{b{Fh}}{b{dAd}}}Af}0{BfFh}{fFh}{cc{}}{{}j}{{}c{}}{{}n}{{cBh}FhDf}{{}A`}{{}Ab}{{ceBh}FhDfDf}0{{{b{Fh}}}{{Aj{{b{Fn}}}}}}{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}{{{b{Fh}}}A`}````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{cBh}EnDf}{BhEn}{{{b{En}}}En}{{b{b{dc}}}h{}}{bh}?{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}7{cEnDf}{{{b{En}}}A`}{{{b{En}}}Ab}222:{{cBh}EnFn}{{{b{En}}{b{dAd}}}Af}0{BfEn}{cc{}}{fEn}{{}j}{{}c{}}999{{ceg}EnDfDfDf}{{ce}EnDfDf};{{}En}{{}n}:{{}A`}{{cBh}EnDf}0{{ceBh}EnDfDf}{{}Ab}{{cegBh}EnDfDfDf}{cEnDf}{BhEn}5{{{b{En}}}{{Aj{{b{Fn}}}}}}{bc{}}{bA`}{{cBh}EnFn}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}{{ceBh}EnDfFn}{{{b{En}}}A`}","D":"BCb","p":[[1,"reference"],[0,"mut"],[5,"Backtraced",8],[1,"unit"],[1,"usize"],[1,"str"],[1,"bool"],[5,"String",1010],[1,"i32"],[5,"Formatter",1011],[8,"Result",1011],[10,"Hasher",1012],[6,"Option",1013],[1,"i8"],[5,"Backtrace",1014],[10,"ToString",1010],[6,"Result",1015],[5,"TypeId",1016],[5,"Formatted",43],[5,"Span",1017],[10,"LeoMessageCode",72],[5,"BufferEmitter",80],[5,"Handler",80],[5,"Buffer",80],[10,"Emitter",80],[6,"LeoError",187],[5,"StderrEmitter",80],[5,"HandlerInner",80],[10,"Into",1018],[6,"LeoWarning",187],[8,"ErrBuffer",80],[8,"WarningBuffer",80],[1,"never"],[10,"Debug",1011],[10,"Display",1011],[5,"Vec",1019],[5,"Box",1020],[1,"tuple"],[17,"Output"],[10,"FnOnce",1021],[6,"StaticAnalyzerError",695],[6,"TypeCheckerError",769],[6,"AstError",265],[6,"CliError",314],[6,"LoopUnrollerError",463],[6,"FlattenError",426],[6,"UtilError",953],[6,"CompilerError",387],[6,"PackageError",497],[6,"ParserError",584],[5,"Error",1022],[6,"TypeCheckerWarning",917],[6,"StaticAnalyzerWarning",732],[6,"ParserWarning",660],[10,"Error",1023],[1,"u64"],[5,"FileType",1024],[1,"slice"],[1,"char"],[1,"u32"],[8,"Result",187]],"r":[],"b":[[27,"impl-Debug-for-Backtraced"],[28,"impl-Display-for-Backtraced"],[58,"impl-Debug-for-Formatted"],[59,"impl-Display-for-Formatted"],[136,"impl-Debug-for-Buffer%3CT%3E"],[137,"impl-Display-for-Buffer%3CT%3E"],[224,"impl-Display-for-LeoError"],[225,"impl-Debug-for-LeoError"],[226,"impl-Display-for-LeoWarning"],[227,"impl-Debug-for-LeoWarning"],[228,"impl-From%3CStaticAnalyzerError%3E-for-LeoError"],[230,"impl-From%3CTypeCheckerError%3E-for-LeoError"],[231,"impl-From%3CAstError%3E-for-LeoError"],[232,"impl-From%3CCliError%3E-for-LeoError"],[233,"impl-From%3CLoopUnrollerError%3E-for-LeoError"],[234,"impl-From%3CFlattenError%3E-for-LeoError"],[235,"impl-From%3CUtilError%3E-for-LeoError"],[236,"impl-From%3CCompilerError%3E-for-LeoError"],[237,"impl-From%3CPackageError%3E-for-LeoError"],[238,"impl-From%3CParserError%3E-for-LeoError"],[239,"impl-From%3CError%3E-for-LeoError"],[240,"impl-From%3CTypeCheckerWarning%3E-for-LeoWarning"],[241,"impl-From%3CStaticAnalyzerWarning%3E-for-LeoWarning"],[242,"impl-From%3CParserWarning%3E-for-LeoWarning"],[290,"impl-Debug-for-AstError"],[291,"impl-Display-for-AstError"],[293,"impl-From%3CFormatted%3E-for-AstError"],[294,"impl-From%3CBacktraced%3E-for-AstError"],[358,"impl-Debug-for-CliError"],[359,"impl-Display-for-CliError"],[360,"impl-From%3CBacktraced%3E-for-CliError"],[361,"impl-From%3CFormatted%3E-for-CliError"],[403,"impl-Debug-for-CompilerError"],[404,"impl-Display-for-CompilerError"],[406,"impl-From%3CFormatted%3E-for-CompilerError"],[407,"impl-From%3CBacktraced%3E-for-CompilerError"],[441,"impl-Display-for-FlattenError"],[442,"impl-Debug-for-FlattenError"],[443,"impl-From%3CFormatted%3E-for-FlattenError"],[445,"impl-From%3CBacktraced%3E-for-FlattenError"],[477,"impl-Debug-for-LoopUnrollerError"],[478,"impl-Display-for-LoopUnrollerError"],[479,"impl-From%3CFormatted%3E-for-LoopUnrollerError"],[481,"impl-From%3CBacktraced%3E-for-LoopUnrollerError"],[549,"impl-Display-for-PackageError"],[550,"impl-Debug-for-PackageError"],[551,"impl-From%3CBacktraced%3E-for-PackageError"],[552,"impl-From%3CFormatted%3E-for-PackageError"],[609,"impl-Debug-for-ParserError"],[610,"impl-Display-for-ParserError"],[612,"impl-From%3CBacktraced%3E-for-ParserError"],[613,"impl-From%3CFormatted%3E-for-ParserError"],[676,"impl-Debug-for-ParserWarning"],[677,"impl-Display-for-ParserWarning"],[679,"impl-From%3CFormatted%3E-for-ParserWarning"],[680,"impl-From%3CBacktraced%3E-for-ParserWarning"],[711,"impl-Display-for-StaticAnalyzerError"],[712,"impl-Debug-for-StaticAnalyzerError"],[713,"impl-From%3CFormatted%3E-for-StaticAnalyzerError"],[715,"impl-From%3CBacktraced%3E-for-StaticAnalyzerError"],[746,"impl-Debug-for-StaticAnalyzerWarning"],[747,"impl-Display-for-StaticAnalyzerWarning"],[748,"impl-From%3CBacktraced%3E-for-StaticAnalyzerWarning"],[750,"impl-From%3CFormatted%3E-for-StaticAnalyzerWarning"],[829,"impl-Display-for-TypeCheckerError"],[830,"impl-Debug-for-TypeCheckerError"],[832,"impl-From%3CFormatted%3E-for-TypeCheckerError"],[833,"impl-From%3CBacktraced%3E-for-TypeCheckerError"],[932,"impl-Debug-for-TypeCheckerWarning"],[933,"impl-Display-for-TypeCheckerWarning"],[934,"impl-From%3CFormatted%3E-for-TypeCheckerWarning"],[935,"impl-From%3CBacktraced%3E-for-TypeCheckerWarning"],[976,"impl-Debug-for-UtilError"],[977,"impl-Display-for-UtilError"],[978,"impl-From%3CFormatted%3E-for-UtilError"],[980,"impl-From%3CBacktraced%3E-for-UtilError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAANkCeQAMAAQAEwAFABwAAQAfAAAAIQAAACUAAwAqAAAALgAKADsAAQA+AAEAQwAEAFkAHgB5AAAAfAAAAH4AAACBAAAAiQABAJEABACeAAAAoAAAAKgAEADRAAMA1wAFAOEABADnAAwA9QABAPwAAQD/AAUABgEBAAsBDAAjAQEAJgEDACsBAwAzAQYAOwEAAD0BBABFAQUATAEEAFIBGABsAQAAbgEGAHYBAAB5AQkAhAEAAIYBDACUAQEAlwEBAJoBAgCeAQsAqwEAAK0BAACvAQ0AvgEBAMEBAADDAQcAzgEAANABAQDTAQ0A4gEBAOUBCwDyAQEA9QEJAAACBQAIAgAACgICABICAgAaAgEAHQIAACICBwArAgEALgIAADECAAA5Ag0ASQIBAEwCBQBTAgQAWQIAAFsCCABlAgMAagIAAG4CAQByAgIAfAIBAH8CBACFAgMAigIBAJMCAwCYAgUAoAIGAKgCAgCsAgkAtwICALsCDwDMAgIA0AIOAOACDQDvAgIA8wIMAAEDAgAFAxQAHAMOAC0DBAA0AwQAOgMFAEEDAwBGAwIASwMCAFEDAABWAwAAWAMEAF4DDABsAyEAkAMCAJQDAwCZAw8AqgMAAKwDDAC6AwEAvQMWANUDAQDYAxoA"}],["leo_lang",{"t":"CGFFKFFPRFFFFFFFFFFPRSPPCCOMOCCOCOOCOOOCOCOOOOOOOOOOOOOOOOOOOOCCOOOOHCOOOOOOCOOOOOOOOOOOCOOOOOOHOMOOOCOOOOCCHCCOOOOOOOOOOOOOOOOOOOOOOGPPPPOOOOOOOOOOOOOOOOOOOOFOOOOFOFPPPFPGPPPPPPPPNNNNNNNNNNONNONNNNNNNNNNNNNNNHNONNNNOOHNNNNNNNNNNNNOOOOOOOOOOOOEFKEFREEEEEEEEEERCCMNNNNNNNNCHCNNNNNNNNNNONNCNNNNONNOOOOOOOOOOOOOOOOCCNNNNNNNNNNNNHNNNNNNOCOOHMOOCOCCNNNNNNNNNNCNNNNNNOGPPPPNNNNNNNNNHNNNNNHNHNNNHHNNNNNHNHHOOOOOOOOOOOOOOOOOOOOFNNNNNONNNNNNNNNNNNONOONNNNNNNFNNNNNNNHNNNNNNNNHNNNONNNNNNNFNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNHNNNONNNNNHNNNOONONNNNNNOGFPPPNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNFNNNNNONNONNNHOONNNNNHNONHONOONONNNNNNFNNNNNNNNNNONNNNNNNNOONNNNNNNPPEFPPPGPPNNNNNCNNNNNNONNCNNNNNNONNNNNNNNNHNNNNNNCOCNCCCNNNNNNNNNNCNNOOOOOOOFNNNNNNNNNNNNNNNONNOOONNOOONNNNNNFNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNOONNNNNNFNNNNNNNONNNNNNNNNNNONNNNNNNFNNNNNNNNNNNNNNNNNNOOONNNNNNNFNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNONNNNNNNOOONONNNNNNNNNNHHHHHHHFONNNNNNNNNNNNNNNNNNONNNNNNNFNNNNNNNONNNONNNNNHNONNONNNNNNNFNNNNNNNNNNNNNNNNNONNONNNNNNFOOOFOOOOOGFPPPOOOFOOOOOOOOOCCCFNNNNNNNNNNNNNNNNNONNNNNNOONNNNNFJONNNNNNNNOOOONNONNNHNONNNNNNNNNNNNTTTTTTFNNNNNNNNNNNNNNNNNNNNNNNNFOOOOOOHOFOOOPPFFPPPGPPOOOOOOCOOOOOOOFOOOFOOFOOOOFOOF","n":["cli","Account","BuildOptions","CLI","Command","Deploy","FeeOptions","Import","Input","LeoAdd","LeoBuild","LeoClean","LeoExample","LeoExecute","LeoNew","LeoQuery","LeoRemove","LeoRun","LeoUpdate","New","Output","SNARKVM_COMMAND","Sign","Verify","account","add","all","apply","broadcast","build","clean","clear","cli","command","","commands","compiler_options","","conditional_block_max_depth","context","debug","deploy","disable_conditional_branch_type_checking","dry_run","enable_all_ast_snapshots","enable_ast_spans","enable_dce","enable_dce_ast_snapshot","enable_destructured_ast_snapshot","enable_flattened_ast_snapshot","enable_initial_ast_snapshot","enable_initial_symbol_table_snapshot","enable_inlined_ast_snapshot","enable_ssa_ast_snapshot","enable_symbol_table_spans","enable_type_checked_symbol_table_snapshot","enable_unrolled_ast_snapshot","enable_unrolled_symbol_table_snapshot","endpoint","","","","example","execute","fee_options","","file","","handle_error","helpers","home","inputs","","list","local","","logger","name","","","","","","network","","","","","new","no_build","","non_recursive","offline","options","","parse_record","path","prelude","priority_fee","private_key","program","query","quiet","","record","recursive","remove","run","run_with_args","update","updater","wait","yes","address","discreet","","endpoint","","message","","network","","","","private_key","","private_key_file","raw","","seed","signature","write","","Account","Import","New","Sign","Verify","address","discreet","","endpoint","","message","","network","","","","private_key","","private_key_file","raw","","seed","signature","write","","LeoAdd","clear","local","name","network","LeoBuild","options","LeoClean","Account","Add","Build","CLI","Clean","Commands","Deploy","Example","Execute","New","Query","Remove","Run","Update","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","borrow","","borrow_mut","","command","","","command_for_update","","debug","deref","","deref_mut","","drop","","fmt","","from","","from_arg_matches","","from_arg_matches_mut","","group_id","handle_error","has_subcommand","home","init","","into","","path","quiet","run_with_args","try_from","","try_into","","type_id","","update_from_arg_matches","","update_from_arg_matches_mut","","vzip","","command","","","","","","","","","","","","Account","BuildOptions","Command","Deploy","FeeOptions","Input","LeoAdd","LeoBuild","LeoClean","LeoExample","LeoExecute","LeoNew","LeoQuery","LeoRemove","LeoRun","LeoUpdate","Output","account","add","apply","augment_args","","augment_args_for_update","","borrow","","borrow_mut","","build","check_balance","clean","clone","","clone_into","","clone_to_uninit","","command","","command_for_update","","conditional_block_max_depth","default","","deploy","deref","","deref_mut","","disable_conditional_branch_type_checking","drop","","dry_run","enable_all_ast_snapshots","enable_ast_spans","enable_dce","enable_dce_ast_snapshot","enable_destructured_ast_snapshot","enable_flattened_ast_snapshot","enable_initial_ast_snapshot","enable_initial_symbol_table_snapshot","enable_inlined_ast_snapshot","enable_ssa_ast_snapshot","enable_symbol_table_spans","enable_type_checked_symbol_table_snapshot","enable_unrolled_ast_snapshot","enable_unrolled_symbol_table_snapshot","endpoint","example","execute","","","fmt","","from","","from_arg_matches","","from_arg_matches_mut","","group_id","","handle_broadcast","init","","into","","log_span","","network","new","non_recursive","offline","parse_record","prelude","priority_fee","private_key","query","record","remove","run","to_owned","","try_execute","","try_from","","try_into","","type_id","","update","update_from_arg_matches","","update_from_arg_matches_mut","","vzip","","yes","Account","Import","New","Sign","Verify","apply","augment_subcommands","augment_subcommands_for_update","borrow","borrow_mut","command","command_for_update","deref","deref_mut","display_string_discreetly","drop","fmt","from","from_arg_matches","from_arg_matches_mut","generate_new_account","has_subcommand","import_account","init","into","prelude","print_keys","sign_message","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","verify_message","vzip","wait_for_keypress","write_to_env_file","address","discreet","","endpoint","","message","","network","","","","private_key","","private_key_file","raw","","seed","signature","write","","LeoAdd","apply","augment_args","augment_args_for_update","borrow","borrow_mut","clear","command","command_for_update","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","init","into","local","log_span","name","network","prelude","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","LeoBuild","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","compile_leo_file","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","handle_build","init","into","log_span","options","prelude","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","LeoClean","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","init","into","log_span","prelude","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","Deploy","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","deploy_cost_breakdown","deref","deref_mut","drop","fee_options","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","handle_deploy","init","into","log_span","no_build","options","prelude","recursive","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","wait","ExampleVariant","LeoExample","Lottery","TicTacToe","Token","apply","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","borrow","","borrow_mut","","clone","clone_into","clone_to_uninit","command","","command_for_update","","deref","","deref_mut","","drop","","endpoint","fmt","","from","","from_arg_matches","","from_arg_matches_mut","","group_id","has_subcommand","init","","into","","main_file_string","name","","network","prelude","readme_file_string","run_file_string","to_owned","try_from","","","try_into","","type_id","","update_from_arg_matches","","update_from_arg_matches_mut","","vzip","","LeoExecute","apply","augment_args","augment_args_for_update","borrow","borrow_mut","broadcast","command","command_for_update","compiler_options","deref","deref_mut","drop","execution_cost_breakdown","fee_options","file","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","handle_execute","init","inputs","into","load_program_from_network","local","log_span","name","no_build","prelude","program","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","LeoNew","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","deref","deref_mut","drop","endpoint","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","init","into","log_span","name","network","prelude","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","Block","Committee","LeoProgram","LeoQuery","Mempool","Peers","Program","QueryCommands","Stateroot","Transaction","apply","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","block","borrow","","borrow_mut","","command","","","command_for_update","","committee","deref","","deref_mut","","drop","","endpoint","fmt","","from","","from_arg_matches","","from_arg_matches_mut","","group_id","handle_query","has_subcommand","init","","into","","log_span","mempool","network","peers","prelude","program","state_root","transaction","try_from","","try_into","","type_id","","update_from_arg_matches","","update_from_arg_matches_mut","","utils","vzip","","command","","","","","","","LeoBlock","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","id","init","into","latest","latest_hash","latest_height","log_span","prelude","range","to_height","transactions","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","LeoCommittee","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","init","into","log_span","prelude","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","LeoMempool","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","init","into","log_span","prelude","transactions","transmissions","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","LeoPeers","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","count","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","init","into","log_span","metrics","prelude","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","LeoProgram","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","init","into","log_span","mapping_value","mappings","name","prelude","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","StateRoot","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","init","into","log_span","prelude","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","LeoTransaction","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","confirmed","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","from_io","from_program","from_transition","group_id","id","init","into","log_span","prelude","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","check_valid_program_name","is_valid_field","is_valid_hash","is_valid_height_or_hash","is_valid_numerical_input","is_valid_transaction_id","is_valid_transition_id","LeoRemove","all","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","init","into","log_span","name","prelude","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","LeoRun","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","compiler_options","deref","deref_mut","drop","file","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","handle_run","init","inputs","into","log_span","name","prelude","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","LeoUpdate","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","init","into","list","log_span","prelude","quiet","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","Context","home","path","recursive","Deploy","fee_options","no_build","options","recursive","wait","ExampleVariant","LeoExample","Lottery","TicTacToe","Token","endpoint","name","network","LeoExecute","broadcast","compiler_options","fee_options","file","inputs","local","name","no_build","program","context","logger","updater","Context","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","dir","dotenv_endpoint","dotenv_network","dotenv_private_key","drop","from","get_endpoint","get_network","get_private_key","home","","init","into","local_dependency_paths","new","open_manifest","parent_dir","path","recursive","to_owned","try_from","try_into","type_id","vzip","Format","START","ansi","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","display_level","display_target","display_thread_id","display_thread_name","drop","fmt","format","format_event","from","init","init_logger","into","timer","to_owned","try_from","try_into","type_id","vzip","with_ansi","with_level","with_target","with_thread_ids","with_thread_names","with_timer","without_time","LEO_BIN_NAME","LEO_CACHE_LAST_CHECK_FILE","LEO_CACHE_VERSION_FILE","LEO_REPO_NAME","LEO_REPO_OWNER","LEO_UPDATE_CHECK_INTERVAL","Updater","borrow","borrow_mut","check_for_updates","deref","deref_mut","drop","from","get_cache_dir","get_cli_string","get_current_time","get_version_file_path","init","into","print_cli","read_latest_version","should_check_for_updates","show_available_releases","try_from","try_into","type_id","update_available","update_check_files","update_to_latest_release","vzip","Format","ansi","display_level","display_target","display_thread_id","display_thread_name","format","init_logger","timer","LeoNew","endpoint","name","network","Block","Committee","LeoProgram","LeoQuery","Mempool","Peers","Program","QueryCommands","Stateroot","Transaction","command","endpoint","mapping_value","mappings","name","network","program","command","","","","","","","LeoProgram","mapping_value","mappings","name","LeoRemove","all","name","LeoRun","compiler_options","file","inputs","name","LeoUpdate","list","quiet","Updater"],"q":[[0,"leo_lang"],[1,"leo_lang::cli"],[113,"leo_lang::cli::Account"],[133,"leo_lang::cli::account"],[138,"leo_lang::cli::account::Account"],[158,"leo_lang::cli::add"],[163,"leo_lang::cli::build"],[165,"leo_lang::cli::clean"],[166,"leo_lang::cli::cli"],[231,"leo_lang::cli::cli::Commands"],[243,"leo_lang::cli::commands"],[362,"leo_lang::cli::commands::account"],[399,"leo_lang::cli::commands::account::Account"],[419,"leo_lang::cli::commands::add"],[449,"leo_lang::cli::commands::build"],[478,"leo_lang::cli::commands::clean"],[504,"leo_lang::cli::commands::deploy"],[537,"leo_lang::cli::commands::example"],[600,"leo_lang::cli::commands::execute"],[638,"leo_lang::cli::commands::new"],[667,"leo_lang::cli::commands::query"],[736,"leo_lang::cli::commands::query::QueryCommands"],[743,"leo_lang::cli::commands::query::block"],[776,"leo_lang::cli::commands::query::committee"],[802,"leo_lang::cli::commands::query::mempool"],[830,"leo_lang::cli::commands::query::peers"],[858,"leo_lang::cli::commands::query::program"],[887,"leo_lang::cli::commands::query::state_root"],[913,"leo_lang::cli::commands::query::transaction"],[944,"leo_lang::cli::commands::query::utils"],[951,"leo_lang::cli::commands::remove"],[979,"leo_lang::cli::commands::run"],[1010,"leo_lang::cli::commands::update"],[1038,"leo_lang::cli::context"],[1042,"leo_lang::cli::deploy"],[1048,"leo_lang::cli::example"],[1056,"leo_lang::cli::execute"],[1066,"leo_lang::cli::helpers"],[1069,"leo_lang::cli::helpers::context"],[1101,"leo_lang::cli::helpers::logger"],[1137,"leo_lang::cli::helpers::updater"],[1168,"leo_lang::cli::logger"],[1177,"leo_lang::cli::new"],[1181,"leo_lang::cli::query"],[1198,"leo_lang::cli::query::QueryCommands"],[1205,"leo_lang::cli::query::program"],[1209,"leo_lang::cli::remove"],[1212,"leo_lang::cli::run"],[1217,"leo_lang::cli::update"],[1220,"leo_lang::cli::updater"],[1221,"leo_errors::errors"],[1222,"snarkvm_console_account::private_key"],[1223,"snarkvm_console_program::data::plaintext"],[1224,"snarkvm_console_program::data::record"],[1225,"snarkvm_console_network"],[1226,"clap_builder::builder::command"],[1227,"core::fmt"],[1228,"clap_builder::parser::matches::arg_matches"],[1229,"clap_builder"],[1230,"core::result"],[1231,"clap_builder::util::id"],[1232,"core::option"],[1233,"core::any"],[1234,"alloc::string"],[1235,"snarkvm_ledger_block::transaction"],[1236,"tracing::span"],[1237,"std::path"],[1238,"snarkvm_console_program::id"],[1239,"leo_errors::emitter"],[1240,"leo_span::symbol"],[1241,"leo_ast::stub"],[1242,"indexmap::map"],[1243,"leo_retriever::program_context::network_name"],[1244,"snarkvm_synthesizer_process"],[1245,"alloc::vec"],[1246,"snarkvm::file::manifest"],[1247,"core::clone"],[1248,"tracing_subscriber::fmt::format"],[1249,"tracing_subscriber::fmt::time"],[1250,"tracing_subscriber::fmt::fmt_layer"],[1251,"tracing_core::event"],[1252,"tracing_core::subscriber"],[1253,"tracing_subscriber::registry"],[1254,"leo_errors::errors::cli::cli_errors"],[1255,"self_update"]],"i":"```````Dbf``````````10`11``Gl1Fb``Dd`AhFh`3GnCh`3`0Cj11111111111111En4Ff3``Eh995``795H`9:`93:2;693725`1:55Df2`9=55;`9152`````25JdJfJh10Jj32103100032321`Db00043232143214211143432`????`5`Bf00`0`00000000??00?0?0?0??0??0?0?0?0?0?0?0?`0??0?0??`?0?0?0?0?0?0JlJnK`KbKdKfKhKjKlKnL`Lb`````f``````````0``0ChCj101010```1010101010110`10101100111111111111111``221010101010`1010221`11`200`0``1022101010`1010100`Db000000000000`00000`0`000``00000`0``JdJfJh10Jj32103100032321`Dd0000000000000000000000000000`Df000000`00000000`00000000000`Ef000000000000000000000000`Eh000000`000000000`00000000000000``F`00En001101011110101010101001010101010101110001110110101010101`Fb00000000000`0000000`000`000000000000`Ff000000000000000000000000000Fj0``000`00Fh0011`010101001`0101010010101010`101010`0`0```0101010101`01LdLfLhLjLlLnM``Fl0000000000000000000000000000000`Fn000000000000000000000000`G`00000000000000000000000000`Gb00000000000000000000000000`Gd000000000000000000000000000`Gf000000000000000000000000`Gh00000000000000000000000000000````````Gl00000000000000000000000000`Gn0000000000000000`000000000000`H`00000000000000000000000000`h00`Eh0000``F`00En00`Fb00000000````4444444444444444444444444444444``Hh000000000000000000`00000000000000Mb00000`000000000000000000000000`111111`1`Ff00Fj0``000`00Fh0???0`LdLfLhLjLlLnM``Gd00`Gl0`Gn000`H`0`","f":"```````````````````````````{{{f{}{{b{c}}{d{e}}}}hc}{{j{e}}}{}{}}````````````````````````````````````````{{{j{c}}}c{}}``````````````````````````{{{n{{l{c}}}}{n{A`}}}{{j{{Ad{c{Ab{c}}}}}}}Af}`{{{n{{f{}{{b{c}}{d{e}}}}}}h}{{j{c}}}{}{}}``````````{Ah{{j{Aj}}}}```````````````````````````````````````````````````````````````````````{AlAl}000{n{{n{c}}}{}}0{{{n{An}}}{{n{Anc}}}{}}0{{}Al}0`00`{B`{{n{c}}}{}}0{B`{{n{Anc}}}{}}0{B`Aj}0{{{n{Ah}}{n{AnBb}}}Bd}{{{n{Bf}}{n{AnBb}}}Bd}{cc{}}0{{{n{Bh}}}{{Bl{AhBj}}}}{{{n{Bh}}}{{Bl{BfBj}}}}{{{n{AnBh}}}{{Bl{AhBj}}}}{{{n{AnBh}}}{{Bl{BfBj}}}}{{}{{C`{Bn}}}}{{{j{c}}}c{}}{{{n{A`}}}Cb}`{{}B`}0{{}c{}}0``{Ah{{j{Aj}}}}{c{{Bl{e}}}{}{}}0{{}{{Bl{c}}}{}}0{nCd}0{{{n{AnAh}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnBf}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnAh}}{n{AnBh}}}{{Bl{AjBj}}}}{{{n{AnBf}}{n{AnBh}}}{{Bl{AjBj}}}}88```````````````````````````````{{{f{}{{b{c}}{d{e}}}}hc}{{j{e}}}{}{}}{AlAl}000{n{{n{c}}}{}}0{{{n{An}}}{{n{Anc}}}{}}0`{{{n{{l{c}}}}{n{A`}}{n{A`}}hCf}{{j{Aj}}}Af}`{{{n{Ch}}}Ch}{{{n{Cj}}}Cj}{{n{n{Anc}}}Aj{}}0{nAj}0{{}Al}000`{{}Ch}{{}Cj}`{B`{{n{c}}}{}}0{B`{{n{Anc}}}{}}0`{B`Aj}0``````````````````{{{f{}{{b{c}}{d{e}}}}h}{{j{e}}}{}{}}0{{{n{Ch}}{n{AnBb}}}Bd}{{{n{Cj}}{n{AnBb}}}Bd}{cc{}}0{{{n{Bh}}}{{Bl{ChBj}}}}{{{n{Bh}}}{{Bl{CjBj}}}}{{{n{AnBh}}}{{Bl{ChBj}}}}{{{n{AnBh}}}{{Bl{CjBj}}}}{{}{{C`{Bn}}}}0{{{n{Cl}}{Cn{c}}{n{Cl}}}{{j{Aj}}}Af}{{}B`}0{{}c{}}0{{{n{{f{}{{b{c}}{d{e}}}}}}}D`{}{}}0````{{{n{{l{c}}}}{n{A`}}}{{j{{Ad{c{Ab{c}}}}}}}Af}{{{n{{f{}{{b{c}}{d{e}}}}}}h}{{j{c}}}{}{}}``````{nc{}}0{{{f{}{{b{c}}{d{e}}}}h}{{j{Aj}}}{}{}}0{c{{Bl{e}}}{}{}}0{{}{{Bl{c}}}{}}0{nCd}0`{{{n{AnCh}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnCj}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnCh}}{n{AnBh}}}{{Bl{AjBj}}}}{{{n{AnCj}}{n{AnBh}}}{{Bl{AjBj}}}}<<``````{{Dbhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{{{n{A`}}{n{A`}}}{{j{Aj}}}}{B`Aj}{{{n{Db}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{DbBj}}}}{{{n{AnBh}}}{{Bl{DbBj}}}}{{{C`{Cf}}CbCb{n{h}}Cl}{{j{Aj}}}}{{{n{A`}}}Cb}{{{C`{Cl}}CbCb{n{h}}Cl}{{j{Aj}}}}{{}B`}{{}c{}}{{{n{Db}}h}{{j{c}}}{}}{{{l{c}}Cb}{{j{Aj}}}Af}{{ClCb{C`{Cl}}{C`{Cl}}}{{j{Cl}}}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnDb}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnDb}}{n{AnBh}}}{{Bl{AjBj}}}}{{ClClClCb}{{j{Cl}}}}9{{}Aj}{{{l{c}}{n{h}}Cl}{{j{Aj}}}Af}`````````````````````{{Ddhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}`{{}Al}0{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Dd}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{DdBj}}}}{{{n{AnBh}}}{{Bl{DdBj}}}}{{}{{C`{Bn}}}}{{}B`}{{}c{}}`{{{n{Dd}}}D`}``{{{n{Dd}}h}{{j{c}}}{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnDd}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnDd}}{n{AnBh}}}{{Bl{AjBj}}}}7`{{Dfhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{{Dh{n{{Dj{c}}}}{n{Dl}}{n{Dl}}{n{Dn}}Ch{Ed{E`Eb}}}{{j{Aj}}}Af}{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Df}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{DfBj}}}}{{{n{AnBh}}}{{Bl{DfBj}}}}{{}{{C`{Bn}}}}{{{n{Df}}h}j}{{}B`}{{}c{}}{{{n{Df}}}D`}`{{{n{Df}}h}{{j{c}}}{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnDf}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnDf}}{n{AnBh}}}{{Bl{AjBj}}}}7`{{Efhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Ef}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{EfBj}}}}{{{n{AnBh}}}{{Bl{EfBj}}}}{{}{{C`{Bn}}}}{{}B`}{{}c{}}{{{n{Ef}}}D`}{{{n{Ef}}h}{{j{c}}}{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnEf}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnEf}}{n{AnBh}}}{{Bl{AjBj}}}}7`{{Ehhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{{{n{Cl}}EjEjEjEjEj}{{j{Aj}}}}{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}`{{{n{Eh}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{EhBj}}}}{{{n{AnBh}}}{{Bl{EhBj}}}}{{}{{C`{Bn}}}}{{{n{Eh}}hEl{n{A`}}}j}{{}B`}{{}c{}}{{{n{Eh}}}D`}``{{{n{Eh}}h}{{j{c}}}{}}`{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnEh}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnEh}}{n{AnBh}}}{{Bl{AjBj}}}}7``````{{Enhc}{{j{e}}}{}{}}{AlAl}000{n{{n{c}}}{}}0{{{n{An}}}{{n{Anc}}}{}}0{{{n{F`}}}F`}{{n{n{Anc}}}Aj{}}{nAj}{{}Al}000{B`{{n{c}}}{}}0{B`{{n{Anc}}}{}}0{B`Aj}0`{{{n{En}}{n{AnBb}}}Bd}{{{n{F`}}{n{AnBb}}}Bd}{cc{}}0{{{n{Bh}}}{{Bl{EnBj}}}}{{{n{Bh}}}{{Bl{F`Bj}}}}{{{n{AnBh}}}{{Bl{EnBj}}}}{{{n{AnBh}}}{{Bl{F`Bj}}}}{{}{{C`{Bn}}}}{{{n{A`}}}Cb}{{}B`}0{{}c{}}0{{{n{F`}}}Cl}0``{{{n{En}}h}{{j{c}}}{}}11{nc{}}{c{{Bl{e}}}{}{}}0{{{n{A`}}}{{Bl{F`c}}}{}}{{}{{Bl{c}}}{}}0{nCd}0{{{n{AnEn}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnF`}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnEn}}{n{AnBh}}}{{Bl{AjBj}}}}{{{n{AnF`}}{n{AnBh}}}{{Bl{AjBj}}}};;`{{Fbhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}`{{}Al}0`{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Cl}}EjEjEjEj}{{j{Aj}}}}``{{{n{Fb}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{FbBj}}}}{{{n{AnBh}}}{{Bl{FbBj}}}}{{}{{C`{Bn}}}}{{FbhEl{n{A`}}}j}{{}B`}`{{}c{}}{{h{n{An{Fd{c}}}}{n{{Dj{c}}}}El{n{A`}}}{{j{Aj}}}Af}`{{{n{Fb}}}D`}``{{{n{Fb}}h}{{j{c}}}{}}`{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnFb}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnFb}}{n{AnBh}}}{{Bl{AjBj}}}}8`{{Ffhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}`{{{n{Ff}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{FfBj}}}}{{{n{AnBh}}}{{Bl{FfBj}}}}{{}{{C`{Bn}}}}{{}B`}{{}c{}}{{{n{Ff}}}D`}``{{{n{Ff}}h}{{j{c}}}{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnFf}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnFf}}{n{AnBh}}}{{Bl{AjBj}}}}7``````````{{Fhhc}{{j{e}}}{}{}}{AlAl}000`{n{{n{c}}}{}}0{{{n{An}}}{{n{Anc}}}{}}0{{}Al}0`00`{B`{{n{c}}}{}}0{B`{{n{Anc}}}{}}0{B`Aj}0`{{{n{Fh}}{n{AnBb}}}Bd}{{{n{Fj}}{n{AnBb}}}Bd}{cc{}}0{{{n{Bh}}}{{Bl{FhBj}}}}{{{n{Bh}}}{{Bl{FjBj}}}}{{{n{AnBh}}}{{Bl{FhBj}}}}{{{n{AnBh}}}{{Bl{FjBj}}}}{{}{{C`{Bn}}}}{{Fhh{n{A`}}{n{A`}}}j}{{{n{A`}}}Cb}{{}B`}0{{}c{}}0{{{n{Fh}}}D`}```{{{n{Fh}}h}{{j{c}}}{}}```{c{{Bl{e}}}{}{}}0{{}{{Bl{c}}}{}}0{nCd}0{{{n{AnFh}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnFj}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnFh}}{n{AnBh}}}{{Bl{AjBj}}}}{{{n{AnFj}}{n{AnBh}}}{{Bl{AjBj}}}}`99````````{{Flhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Fl}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{FlBj}}}}{{{n{AnBh}}}{{Bl{FlBj}}}}{{}{{C`{Bn}}}}`{{}B`}{{}c{}}```{{{n{Fl}}}D`}{{{n{Fl}}h}{{j{c}}}{}}```{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnFl}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnFl}}{n{AnBh}}}{{Bl{AjBj}}}}7`{{Fnhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Fn}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{FnBj}}}}{{{n{AnBh}}}{{Bl{FnBj}}}}{{}{{C`{Bn}}}}{{}B`}{{}c{}}{{{n{Fn}}}D`}{{{n{Fn}}h}{{j{c}}}{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnFn}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnFn}}{n{AnBh}}}{{Bl{AjBj}}}}7`{{G`hc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{G`}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{G`Bj}}}}{{{n{AnBh}}}{{Bl{G`Bj}}}}{{}{{C`{Bn}}}}{{}B`}{{}c{}}{{{n{G`}}}D`}{{{n{G`}}h}{{j{c}}}{}}``{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnG`}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnG`}}{n{AnBh}}}{{Bl{AjBj}}}}7`{{Gbhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0`{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Gb}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{GbBj}}}}{{{n{AnBh}}}{{Bl{GbBj}}}}{{}{{C`{Bn}}}}{{}B`}{{}c{}}{{{n{Gb}}}D`}`{{{n{Gb}}h}{{j{c}}}{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnGb}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnGb}}{n{AnBh}}}{{Bl{AjBj}}}}7`{{Gdhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Gd}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{GdBj}}}}{{{n{AnBh}}}{{Bl{GdBj}}}}{{}{{C`{Bn}}}}{{}B`}{{}c{}}{{{n{Gd}}}D`}```{{{n{Gd}}h}{{j{c}}}{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnGd}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnGd}}{n{AnBh}}}{{Bl{AjBj}}}}7`{{Gfhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Gf}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{GfBj}}}}{{{n{AnBh}}}{{Bl{GfBj}}}}{{}{{C`{Bn}}}}{{}B`}{{}c{}}{{{n{Gf}}}D`}{{{n{Gf}}h}{{j{c}}}{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnGf}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnGf}}{n{AnBh}}}{{Bl{AjBj}}}}7`{{Ghhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0`{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Gh}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{GhBj}}}}{{{n{AnBh}}}{{Bl{GhBj}}}}```{{}{{C`{Bn}}}}`{{}B`}{{}c{}}{{{n{Gh}}}D`}{{{n{Gh}}h}{{j{c}}}{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnGh}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnGh}}{n{AnBh}}}{{Bl{AjBj}}}}7{ClCl}{{{n{A`}}}{{j{ClGj}}}}{{{n{A`}}}{{j{AjGj}}}}0000``{{Glhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Gl}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{GlBj}}}}{{{n{AnBh}}}{{Bl{GlBj}}}}{{}{{C`{Bn}}}}{{}B`}{{}c{}}{{{n{Gl}}}D`}`{{{n{Gl}}h}{{j{c}}}{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnGl}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnGl}}{n{AnBh}}}{{Bl{AjBj}}}}7`{{Gnhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0`{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}`{{{n{Gn}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{GnBj}}}}{{{n{AnBh}}}{{Bl{GnBj}}}}{{}{{C`{Bn}}}}{{Gnh}j}{{}B`}`{{}c{}}{{{n{Gn}}}D`}`{{{n{Gn}}h}{{j{c}}}{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnGn}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnGn}}{n{AnBh}}}{{Bl{AjBj}}}}7`{{H`hc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{H`}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{H`Bj}}}}{{{n{AnBh}}}{{Bl{H`Bj}}}}{{}{{C`{Bn}}}}{{}B`}{{}c{}}`{{{n{H`}}}D`}{{{n{H`}}h}{{j{c}}}{}}`{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnH`}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnH`}}{n{AnBh}}}{{Bl{AjBj}}}}7````````````````````````````````{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{{n{h}}}h}{{n{n{Anc}}}Aj{}}{nAj}{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{{{n{h}}}{{j{Dh}}}}{{{n{h}}}{{j{Cl}}}}0{{{n{h}}}{{j{{l{c}}}}}Af}{B`Aj}{cc{}}{{{n{h}}{n{{C`{Cl}}}}}{{j{Cl}}}}0{{{n{h}}{n{{C`{Cl}}}}}{{j{{l{c}}}}}Af}6`{{}B`}{{}c{}}{{{n{h}}}{{j{{Hd{{Hb{ClDh}}}}}}}}{{{C`{Dh}}{C`{Dh}}Cb}{{j{h}}}}{{{n{h}}}{{j{{Hf{c}}}}}Af};``{nc{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}7```{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{{n{{Hh{ce}}}}}{{Hh{ce}}}HjHj}{{n{n{Anc}}}Aj{}}{nAj}{{}{{Hh{HlHn}}}}{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}````{B`Aj}{{{n{{Hh{ce}}}}{n{AnBb}}}BdI`I`}`{{{n{{Hh{Hlc}}}}{n{{Ib{eg}}}}Id{n{If}}}BdIh{IjIl}In}{cc{}}{{}B`}{{{n{A`}}B`}{{j{Aj}}}}{{}c{}}`{nc{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}4{{{Hh{ce}}Cb}{{Hh{ce}}}{}{}}0000{{{Hh{ce}}g}{{Hh{cg}}}{}{}{}}{{{Hh{ce}}}{{Hh{cAj}}}{}{}}```````{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{Cb{{j{CbJ`}}}}{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{cc{}}{{}Dh}{{}{{j{{C`{Cl}}J`}}}}{{}{{j{CfJ`}}}}2{{}B`}{{}c{}}{{}{{j{AjJ`}}}}4{{{n{Dl}}}{{j{CbJ`}}}}{{}{{j{Cl}}}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}3{{{n{Dl}}{n{Dl}}{n{Dl}}{n{A`}}}{{j{AjJ`}}}}{Cb{{j{Jb}}}}8```````{{{n{A`}}B`}{{j{Aj}}}}`````````````````````````````````````````````","D":"AM`","p":[[17,"Input"],[17,"Output"],[10,"Command",243],[5,"Context",1069],[8,"Result",1221],[5,"PrivateKey",1222],[1,"reference"],[1,"str"],[6,"Plaintext",1223],[5,"Record",1224],[10,"Network",1225],[5,"CLI",166],[1,"unit"],[5,"Command",1226],[0,"mut"],[1,"usize"],[5,"Formatter",1227],[8,"Result",1227],[6,"Commands",166],[5,"ArgMatches",1228],[8,"Error",1229],[6,"Result",1230],[5,"Id",1231],[6,"Option",1232],[1,"bool"],[5,"TypeId",1233],[1,"u64"],[5,"BuildOptions",243],[5,"FeeOptions",243],[5,"String",1234],[6,"Transaction",1235],[5,"Span",1236],[6,"Account",362],[5,"LeoAdd",419],[5,"LeoBuild",449],[5,"PathBuf",1237],[5,"ProgramID",1238],[5,"Path",1237],[5,"Handler",1239],[5,"Symbol",1240],[5,"Stub",1241],[5,"IndexMap",1242],[5,"LeoClean",478],[5,"Deploy",504],[1,"f64"],[6,"NetworkName",1243],[5,"LeoExample",537],[6,"ExampleVariant",537],[5,"LeoExecute",600],[5,"Process",1244],[5,"LeoNew",638],[5,"LeoQuery",667],[6,"QueryCommands",667],[5,"LeoBlock",743],[5,"LeoCommittee",776],[5,"LeoMempool",802],[5,"LeoPeers",830],[5,"LeoProgram",858],[5,"StateRoot",887],[5,"LeoTransaction",913],[6,"LeoError",1221],[5,"LeoRemove",951],[5,"LeoRun",979],[5,"LeoUpdate",1010],[1,"tuple"],[5,"Vec",1245],[5,"Manifest",1246],[5,"Format",1101],[10,"Clone",1247],[5,"Full",1248],[5,"SystemTime",1249],[10,"Debug",1227],[5,"FmtContext",1250],[5,"Writer",1248],[5,"Event",1251],[10,"FormatTime",1249],[10,"Subscriber",1252],[10,"LookupSpan",1253],[10,"FormatFields",1248],[6,"CliError",1254],[6,"Status",1255],[15,"Verify",399],[15,"New",399],[15,"Import",399],[15,"Sign",399],[15,"Account",231],[15,"New",231],[15,"Example",231],[15,"Run",231],[15,"Execute",231],[15,"Deploy",231],[15,"Query",231],[15,"Build",231],[15,"Add",231],[15,"Remove",231],[15,"Clean",231],[15,"Update",231],[15,"Block",736],[15,"Transaction",736],[15,"Program",736],[15,"Stateroot",736],[15,"Committee",736],[15,"Mempool",736],[15,"Peers",736],[5,"Updater",1137]],"r":[[1,362],[2,243],[3,166],[4,243],[5,504],[6,243],[9,419],[10,449],[11,478],[12,537],[13,600],[14,638],[15,667],[16,951],[17,979],[18,1010],[24,243],[25,243],[29,243],[30,243],[39,1066],[41,243],[62,243],[63,243],[68,166],[76,1066],[88,243],[95,243],[101,243],[106,243],[107,243],[108,166],[109,243],[110,1066],[133,362],[158,419],[163,449],[165,478],[243,362],[246,504],[249,419],[250,449],[251,478],[252,537],[253,600],[254,638],[255,667],[256,951],[257,979],[258,1010],[669,858],[1038,1069],[1042,504],[1048,537],[1049,537],[1056,600],[1168,1101],[1175,1101],[1177,638],[1183,858],[1184,667],[1188,667],[1197,667],[1205,858],[1209,951],[1212,979],[1217,1010],[1220,1137]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAN0DcAABAAAAFgAAABkAAgAdACwASwAUAGEAAABjAAQAaQADAG4AAwB1AAEAeQADAI4AAQCSAAMAoAADAKUAAACnAAIAqwAAAK0AHQDNAAkA2QABANwAGAD3AAAA+gAJAAUBAQAIATEAPAEBAEABBQBHAQEATQEDAFMBBwBdAQ0AcAEIAHoBAQB9AQUAhAELAJMBAQCXAQMApQELALIBAwC3AQoAwwEGAMsBAwDQAQQA1gEIAOABCgDsAQMA8QEHAPoBDAAIAgQADgILABwCGwA6AgcARAIUAFoCDwBrAgUAcwILAIACCwCNAgMAkgIMAKACHgDBAggAzAInAPUCBAD7Ag0ACgMKABYDAwAbAxMAMAMDADUDFgBNAwMAUgMIAFwDCgBoAwMAbQMKAHkDCgCFAwMAigMHAJMDCwCgAwcAqQMOALkDCwDGAwMAywMIANUDDADjAwUA6gMIAPQDCgAABAMABgQBAAkEBQAUBAQAGwQFACIECwAvBAYAOgQAAEEEAABEBAAASQQXAGIEAABlBAUAcgQIAHwEAgCEBAAAigQCAJAEBwCZBAAAmwQEAKIEEwC3BAIAuwQBAL4EAwDFBAAA"}],["leo_package",{"t":"JCCCCCHCCCJFNNNNNNNNNNNNNNNCJFNNNNNNNNNNNNNNNNCJFNNNNNNNNNNHNNNNJCCCCJPPPGFPNNNNNNNNNNNNNNNNNNNNNONNONNNNNNNNNNNNNJFNNNNNNNNNNNONNNNNNNNNJFNNNNNNNNNNNONNNNNNNNNJFNNNNNNNNNNNNNNFNNNNNONNNNNNNNOOONNNNNONCCJFNNNNNNONNNNNNONNNNNNNNJFNNNNNNNNNNNNNNNNNNNCCJFNNNNNNNNNNNNNNNJFNNNNNNNNNNNNONNNNNNN","n":["LEO_FILE_EXTENSION","build","imports","inputs","outputs","package","parse_file_paths","root","source","directory","BUILD_DIRECTORY_NAME","BuildDirectory","borrow","borrow_mut","create","deref","deref_mut","drop","from","init","into","open","remove","try_from","try_into","type_id","vzip","directory","IMPORTS_DIRECTORY_NAME","ImportsDirectory","borrow","borrow_mut","create","deref","deref_mut","drop","files","from","init","into","is_empty","remove","try_from","try_into","type_id","vzip","directory","INPUTS_DIRECTORY_NAME","InputsDirectory","borrow","borrow_mut","create","deref","deref_mut","drop","files","from","init","into","parse_file_paths","try_from","try_into","type_id","vzip","MAIN_ALEO_FILE_NAME","ast_snapshot","checksum","circuit","directory","AST_SNAPSHOT_FILE_EXTENSION","Canonicalization","ImportsResolved","Initial","Snapshot","SnapshotFile","TypeInference","borrow","","borrow_mut","","deref","","deref_mut","","deserialize","","drop","","exists_at","fmt","from","","init","","into","","new","package_name","read_from","remove","snapshot","snapshot_file_path","take_from_value","","to_smolstr","to_string","try_from","","try_into","","type_id","","vzip","","CHECKSUM_FILE_EXTENSION","ChecksumFile","borrow","borrow_mut","deref","deref_mut","deserialize","drop","exists_at","from","init","into","new","package_name","read_from","remove","setup_file_path","take_from_value","try_from","try_into","type_id","vzip","write_to","CIRCUIT_FILE_EXTENSION","CircuitFile","borrow","borrow_mut","deref","deref_mut","deserialize","drop","exists_at","from","init","into","new","package_name","read_from","remove","setup_file_path","take_from_value","try_from","try_into","type_id","vzip","write_to","OUTPUTS_DIRECTORY_NAME","OutputsDirectory","borrow","borrow_mut","create","deref","deref_mut","drop","from","init","into","remove","try_from","try_into","type_id","vzip","Package","borrow","borrow_mut","can_initialize","deref","deref_mut","description","deserialize","drop","from","init","initialize","into","is_aleo_name_valid","is_initialized","license","name","network","new","take_from_value","try_from","try_into","type_id","version","vzip","env","gitignore","ENV_FILENAME","Env","borrow","borrow_mut","deref","deref_mut","deserialize","drop","endpoint","exists_at","fmt","from","init","into","new","private_key","take_from_value","to_smolstr","to_string","try_from","try_into","type_id","vzip","write_to","GITIGNORE_FILENAME","Gitignore","borrow","borrow_mut","default","deref","deref_mut","deserialize","drop","exists_at","from","init","into","new","take_from_value","template","try_from","try_into","type_id","vzip","write_to","directory","main","SOURCE_DIRECTORY_NAME","SourceDirectory","borrow","borrow_mut","check_files","create","deref","deref_mut","drop","files","from","init","into","try_from","try_into","type_id","vzip","MAIN_FILENAME","MainFile","borrow","borrow_mut","deref","deref_mut","deserialize","drop","exists_at","filename","from","init","into","new","package_name","take_from_value","template","try_from","try_into","type_id","vzip","write_to"],"q":[[0,"leo_package"],[9,"leo_package::build"],[10,"leo_package::build::directory"],[27,"leo_package::imports"],[28,"leo_package::imports::directory"],[46,"leo_package::inputs"],[47,"leo_package::inputs::directory"],[64,"leo_package::outputs"],[69,"leo_package::outputs::ast_snapshot"],[114,"leo_package::outputs::checksum"],[137,"leo_package::outputs::circuit"],[160,"leo_package::outputs::directory"],[176,"leo_package::package"],[201,"leo_package::root"],[203,"leo_package::root::env"],[227,"leo_package::root::gitignore"],[248,"leo_package::source"],[250,"leo_package::source::directory"],[267,"leo_package::source::main"],[289,"std::fs"],[290,"std::path"],[291,"alloc::vec"],[292,"leo_errors::errors"],[293,"alloc::string"],[294,"core::result"],[295,"core::any"],[296,"serde::de"],[297,"core::fmt"],[298,"alloc::borrow"],[299,"serde_json::value"],[300,"smol_str"],[301,"leo_retriever::program_context::network_name"],[302,"snarkvm_console_network"],[303,"snarkvm_console_account::private_key"],[304,"core::option"]],"i":"````````````Dd00000000000000```Df000000000000000```Dh000000000`0000``````Al00``00B`101010101001101010000000101110101010``Bn00000000000000000000``C`00000000000000000000``Dj0000000000000`Cb00000000000000000000000````Cf000000000000000000000``Cn000000000000000000````Dl00000000000000``Db0000000000000000000","f":"``````{{b{j{d{h{f}}}}}{{n{l}}}}`````{j{{j{c}}}{}}{{{j{d}}}{{j{dc}}}{}}{{{j{A`}}}{{n{f}}}}{Ab{{j{c}}}{}}{Ab{{j{dc}}}{}}{Abl}{cc{}}{{}Ab}{{}c{}}6{{{j{A`}}}{{n{Ad}}}}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{jAh}4```<;:987{{{j{A`}}}{{n{{h{f}}}}}}765{{{j{A`}}}{{n{Aj}}}}54326```>={{{j{A`}}}{{n{l}}}}<;:2987{{b{j{d{h{f}}}}}{{n{l}}}}6548````````````{j{{j{c}}}{}}0{{{j{d}}}{{j{dc}}}{}}0??>>{c{{Af{Al}}}An}{c{{Af{B`}}}An}??{{{j{B`}}{j{A`}}}Aj}{{{j{Al}}{j{dBb}}}Bd}{cc{}}0{{}Ab}0{{}c{}}0{{{j{Bf}}Al}B`}`{{{j{B`}}{j{A`}}}{{n{Ad}}}}{{{j{B`}}{j{A`}}}{{n{Aj}}}}`{{{j{B`}}{j{A`}}}{{Bh{A`}}}}{{{j{dBj}}{j{Bf}}}{{Af{c}}}{}}0{jBl}{jAd}{c{{Af{e}}}{}{}}0{{}{{Af{c}}}{}}0{jAh}0::``{j{{j{c}}}{}}{{{j{d}}}{{j{dc}}}{}}{Ab{{j{c}}}{}}{Ab{{j{dc}}}{}}{c{{Af{Bn}}}An}{Abl}{{{j{Bn}}{j{A`}}}Aj}{cc{}}{{}Ab}{{}c{}}{{{j{Bf}}}Bn}`{{{j{Bn}}{j{A`}}}{{n{Ad}}}}{{{j{Bn}}{j{A`}}}{{n{Aj}}}}{{{j{Bn}}{j{A`}}}{{Bh{A`}}}}{{{j{dBj}}{j{Bf}}}{{Af{c}}}{}}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{jAh}8{{{j{Bn}}{j{A`}}Ad}{{n{l}}}}``{j{{j{c}}}{}}{{{j{d}}}{{j{dc}}}{}}{Ab{{j{c}}}{}}{Ab{{j{dc}}}{}}{c{{Af{C`}}}An}{Abl}{{{j{C`}}{j{A`}}}Aj}{cc{}}{{}Ab}{{}c{}}{{{j{Bf}}}C`}`{{{j{C`}}{j{A`}}}{{n{Ad}}}}{{{j{C`}}{j{A`}}}{{n{Aj}}}}{{{j{C`}}{j{A`}}}{{Bh{A`}}}}{{{j{dBj}}{j{Bf}}}{{Af{c}}}{}}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{jAh}8{{{j{C`}}{j{A`}}Ad}{{n{l}}}}``{j{{j{c}}}{}}{{{j{d}}}{{j{dc}}}{}}{{{j{A`}}}{{n{f}}}}{Ab{{j{c}}}{}}{Ab{{j{dc}}}{}}{Abl}{cc{}}{{}Ab}{{}c{}}{{{j{A`}}}{{n{Ad}}}}=<;1`98{{{j{Bf}}{j{A`}}}Aj}76`{c{{Af{Cb}}}An}654{{{j{Bf}}{j{A`}}Ad}{{n{l}}}}4{{{j{Bf}}}Aj}3```{{{j{Bf}}Cd}{{n{Cb}}}}{{{j{dBj}}{j{Bf}}}{{Af{c}}}{}}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{jAh}`:````{j{{j{c}}}{}}{{{j{d}}}{{j{dc}}}{}}{Ab{{j{c}}}{}}{Ab{{j{dc}}}{}}{c{{Af{{Cf{e}}}}}AnCh}{Abl}`{{{j{A`}}}Aj}{{{j{{Cf{c}}}}{j{dBb}}}BdCh}{cc{}}{{}Ab}{{}c{}}{{{Cl{{Cj{c}}}}Ad}{{n{{Cf{c}}}}}Ch}`?{jBl}{jAd}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{jAh}6{{{Cf{c}}{j{A`}}}{{n{l}}}Ch}``{j{{j{c}}}{}}{{{j{d}}}{{j{dc}}}{}}{{}Cn}{Ab{{j{c}}}{}}{Ab{{j{dc}}}{}}{c{{Af{Cn}}}An}{Abl}{{{j{A`}}}Aj}{cc{}}{{}Ab}{{}c{}}8{{{j{dBj}}{j{Bf}}}{{Af{c}}}{}}{{{j{Cn}}}Ad}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{jAh}5{{Cn{j{A`}}}{{n{l}}}}````{j{{j{c}}}{}}{{{j{d}}}{{j{dc}}}{}}{{{j{{D`{f}}}}}{{n{l}}}}{{{j{A`}}}{{n{l}}}}{Ab{{j{c}}}{}}{Ab{{j{dc}}}{}}{Abl}{{{j{A`}}}{{n{{h{f}}}}}}{cc{}}{{}Ab}{{}c{}}>=<0``:965{c{{Af{Db}}}An}5{{{j{A`}}}Aj}{{}Ad}543{{{j{Bf}}}Db}`{{{j{dBj}}{j{Bf}}}{{Af{c}}}{}}{{{j{Db}}}Ad}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{jAh}9{{Db{j{A`}}}{{n{l}}}}","D":"Gj","p":[[5,"ReadDir",289],[0,"mut"],[5,"PathBuf",290],[5,"Vec",291],[1,"reference"],[1,"unit"],[8,"Result",292],[5,"Path",290],[1,"usize"],[5,"String",293],[6,"Result",294],[5,"TypeId",295],[1,"bool"],[6,"Snapshot",69],[10,"Deserializer",296],[5,"SnapshotFile",69],[5,"Formatter",297],[8,"Result",297],[1,"str"],[6,"Cow",298],[6,"Value",299],[5,"SmolStr",300],[5,"ChecksumFile",114],[5,"CircuitFile",137],[5,"Package",176],[6,"NetworkName",301],[5,"Env",203],[10,"Network",302],[5,"PrivateKey",303],[6,"Option",304],[5,"Gitignore",227],[1,"slice"],[5,"MainFile",267],[5,"BuildDirectory",10],[5,"ImportsDirectory",28],[5,"InputsDirectory",47],[5,"OutputsDirectory",160],[5,"SourceDirectory",250]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAOQAKAABAA0AEAACABQAAAAYAAgAIgACACcAAAArAAgANQACADoAAAA8AAUARQAEAEwADgBdAAEAYQABAGUAFgB9AAAAfwABAIMABQCKAAgAlAAAAJYAAQCaAAUAoQADAKYAAgCqAAAArQAGALUABAC7AAAAwAAJAMwACgDYAAAA2gATAO8AAADxAAgA+wADAAEBAgAGAQAACAENABcBAAAZAQgA"}],["leo_parser",{"t":"SHCCCCCHCCSFNNNNNNNNNONNNNNNNNNNNNNONNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONONNNNNNSHSSECCHHFNNNNNNNNNNHHNNNNNHNONNNNONNNNPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPGPPPPPPPPPPPPPPPPPPPPPPPPPPPPSPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPGPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["KEYWORD_TOKENS","parse_ast","parser","tokenizer","context","expression","file","parse","statement","type_","DUMMY_EOF","ParserContext","bin_expr","borrow","borrow_mut","bump","check","check_identifier","check_int","deref","deref_mut","disallow_struct_construction","drop","eat","eat_any","eat_bin_op","eat_group_partial","eat_identifier","eat_whole_number","emit_err","emit_warning","expect","expect_any","expect_identifier","from","handler","has_next","init","into","look_ahead","mk_ident_prev","new","node_builder","parse_additive_expression","parse_annotation","parse_array_expression","parse_assert_statement","parse_assign_statement","parse_associated_access_expression","parse_bin_expr","parse_bitwise_and_expression","parse_bitwise_exclusive_or_expression","parse_bitwise_inclusive_or_expression","parse_block","parse_boolean_and_expression","parse_boolean_or_expression","parse_bracket_comma_list","parse_cast_expression","parse_conditional_expression","parse_conditional_statement","parse_console_statement","parse_const_declaration_statement","parse_definition_statement","parse_equality_expression","parse_exponential_expression","parse_expr_tuple","parse_expression","parse_external_resource","parse_function","parse_import","parse_input","parse_list","parse_loop_statement","parse_mapping","parse_member_variable_declaration","parse_method_call_expression","parse_mode","parse_multiplicative_expression","parse_ordering_expression","parse_output","parse_paren_comma_list","parse_postfix_expression","parse_primary_expression","parse_primitive_type","parse_program","parse_program_scope","parse_return_statement","parse_shift_expression","parse_statement","parse_struct","parse_struct_init_expression","parse_struct_member","parse_struct_members","parse_tuple_expression","parse_type","parse_typed_ident","parse_unary_expression","peek_group_coordinate","peek_is_left_par","phantom","prev_token","program_name","token","token_to_int_type","tokens","try_from","try_into","type_id","unexpected","unexpected_item","vzip","INT_TYPES","assert_no_whitespace","ASSIGN_TOKENS","TYPE_TOKENS","KEYWORD_TOKENS","lexer","token","tokenize","tokenize_iter","SpannedToken","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","dummy","eat_identifier","ensure_no_bidi_override","fmt","","from","init","into","is_bidi_override","serialize","span","take_from_value","to_owned","to_smolstr","to_string","token","try_from","try_into","type_id","vzip","Add","AddAssign","Address","AddressLit","Aleo","And","AndAssign","Arrow","As","Assert","AssertEq","AssertNeq","Assign","Async","At","BigArrow","BitAnd","BitAndAssign","BitOr","BitOrAssign","BitXor","BitXorAssign","Block","Bool","Brace","Bracket","Colon","Comma","CommentBlock","CommentLine","Console","Const","Constant","Delimiter","Div","DivAssign","Dot","DotDot","DoubleColon","Else","Eof","Eq","False","Field","Fn","For","Function","Future","Group","Gt","GtEq","I128","I16","I32","I64","I8","Identifier","If","Import","In","Inline","Integer","KEYWORD_TOKENS","LeftCurly","LeftParen","LeftSquare","Leo","Let","Lt","LtEq","Mapping","Mul","MulAssign","Network","Not","NotEq","Or","OrAssign","Parenthesis","Pow","PowAssign","Private","Program","Public","Question","Record","Rem","RemAssign","Return","RightCurly","RightParen","RightSquare","Scalar","SelfLower","Semicolon","Shl","ShlAssign","Shr","ShrAssign","Signature","StaticString","String","Struct","Sub","SubAssign","Token","Transition","True","U128","U16","U32","U64","U8","Underscore","WhiteSpace","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","deref","","deref_mut","","deserialize","drop","","eat","eat_integer","eq","equivalent","","","","fmt","","from","","init","","into","","is_keyword","keyword_to_symbol","open_close_pair","serialize","take_from_value","to_owned","","to_smolstr","to_string","try_from","","try_into","","type_id","","vzip",""],"q":[[0,"leo_parser"],[4,"leo_parser::parser"],[10,"leo_parser::parser::context"],[111,"leo_parser::parser::expression"],[113,"leo_parser::parser::statement"],[114,"leo_parser::parser::type_"],[115,"leo_parser::tokenizer"],[120,"leo_parser::tokenizer::lexer"],[150,"leo_parser::tokenizer::token"],[314,"leo_errors::emitter"],[315,"leo_ast::common::node_builder"],[316,"leo_span::span"],[317,"leo_ast"],[318,"leo_errors::errors"],[319,"leo_ast::program"],[320,"leo_ast::expressions"],[321,"leo_ast::expressions::binary"],[322,"snarkvm_console_network"],[323,"leo_ast::common::identifier"],[324,"core::option"],[325,"leo_ast::groups::group_literal"],[326,"leo_ast::common::positive_number"],[327,"leo_errors::errors::parser::parser_errors"],[328,"leo_errors::errors::parser::parser_warnings"],[329,"core::ops::function"],[330,"leo_span::symbol"],[331,"alloc::vec"],[332,"leo_ast::functions::annotation"],[333,"leo_ast::statement"],[334,"leo_ast::statement::block"],[335,"leo_ast::statement::conditional"],[336,"leo_ast::statement::console::console_statement"],[337,"leo_ast::statement::const_"],[338,"leo_ast::statement::definition"],[339,"leo_ast::functions"],[340,"leo_ast::functions::input"],[341,"leo_ast::statement::iteration"],[342,"leo_ast::mapping"],[343,"leo_ast::struct::member"],[344,"leo_ast::functions::mode"],[345,"leo_ast::functions::output"],[346,"leo_ast::types::type_"],[347,"leo_ast::program::program_scope"],[348,"leo_ast::statement::return_"],[349,"leo_ast::struct"],[350,"leo_ast::expressions::struct_init"],[351,"leo_ast::groups::group_coordinate"],[352,"leo_ast::types::integer_type"],[353,"core::result"],[354,"core::any"],[355,"core::fmt"],[356,"core::iter::traits::iterator"],[357,"serde::de"],[358,"core::iter::adapters::peekable"],[359,"alloc::string"],[360,"serde::ser"],[361,"serde_json::value"],[362,"smol_str"]],"i":"````````````Ah00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000``````````Cf000000000``00000`00000000000An00000000000000000000000Ed01111111`1111111111111111111111111111`111111111111111011111111111111111111111111`1111111111010101010101011011111111110101011011101110101010","f":"`{{{d{b}}{d{f}}{d{h}}j}{{n{l}}}}`````{{{d{b}}{d{f}}{d{h}}j}{{n{A`}}}}````{{{d{f}}AbAbAd}Ab}{d{{d{c}}}{}}{{{d{Af}}}{{d{Afc}}}{}}{{{d{Af{Ah{c}}}}}AjAl}{{{d{{Ah{c}}}}{d{An}}}B`Al}{{{d{{Ah{c}}}}{d{Bb}}}AjAl}{{{d{{Ah{c}}}}}B`Al}{Bd{{d{c}}}{}}{Bd{{d{Afc}}}{}}`{BdAj}{{{d{Af{Ah{c}}}}{d{An}}}B`Al}{{{d{Af{Ah{c}}}}{d{{Bf{An}}}}}B`Al}{{{d{Af{Ah{c}}}}{d{{Bf{An}}}}}{{Bh{Ad}}}Al}{{{d{Af{Ah{c}}}}}{{Bh{{n{Bj}}}}}Al}{{{d{Af{Ah{c}}}}}{{Bh{Bb}}}Al}{{{d{Af{Ah{c}}}}}{{n{{C`{BlBn}}}}}Al}{{{d{{Ah{c}}}}Cb}AjAl}{{{d{{Ah{c}}}}Cd}AjAl}{{{d{Af{Ah{c}}}}{d{An}}}{{n{Bn}}}Al}{{{d{Af{Ah{c}}}}{d{{Bf{An}}}}}{{n{Bn}}}Al}{{{d{Af{Ah{c}}}}}{{n{Bb}}}Al}{cc{}}`?{{}Bd}{{}c{}}{{{d{{Ah{c}}}}Bdg}eAl{}{{Cj{{d{Cf}}}{{Ch{e}}}}}}{{{d{{Ah{c}}}}Cl}BbAl}{{{d{b}}{d{f}}{Cn{Cf}}}{{Ah{c}}}Al}`{{{d{Af{Ah{c}}}}}{{n{Ab}}}Al}{{{d{Af{Ah{c}}}}}{{n{D`}}}Al}1{{{d{Af{Ah{c}}}}}{{n{Db}}}Al}0{{{d{Af{Ah{c}}}}Ab}{{n{Ab}}}Al}{{{d{Af{Ah{c}}}}{d{{Bf{An}}}}e}{{n{Ab}}}Al{{Dd{{d{Af{Ah{c}}}}}{{Ch{{n{Ab}}}}}}}}444{{{d{Af{Ah{c}}}}}{{n{Df}}}Al}55{{{d{Af{Ah{c}}}}g}{{n{{C`{{Cn{e}}B`Bn}}}}}Al{}{{Dd{{d{Af{Ah{c}}}}}{{Ch{{n{{Bh{e}}}}}}}}}}66{{{d{Af{Ah{c}}}}}{{n{Dh}}}Al}{{{d{Af{Ah{c}}}}}{{n{Dj}}}Al}{{{d{Af{Ah{c}}}}}{{n{Dl}}}Al}{{{d{Af{Ah{c}}}}}{{n{Dn}}}Al}::{{{d{Af{Ah{c}}}}}{{n{{C`{{Cn{Ab}}B`Bn}}}}}Al};{{{d{Af{Ah{c}}}}AbBn}{{n{Ab}}}Al}{{{d{Af{Ah{c}}}}}{{n{{C`{ClE`}}}}}Al}{{{d{Af{Ah{c}}}}}{{n{{C`{Cl{C`{A`Bn}}}}}}}Al}{{{d{Af{Ah{c}}}}}{{n{Eb}}}Al}{{{d{Af{Ah{c}}}}Ed{Bh{An}}g}{{n{{C`{{Cn{e}}B`Bn}}}}}Al{}{{Dd{{d{Af{Ah{c}}}}}{{Ch{{n{{Bh{e}}}}}}}}}}{{{d{Af{Ah{c}}}}}{{n{Ef}}}Al}{{{d{Af{Ah{c}}}}}{{n{{C`{ClEh}}}}}Al}{{{d{Af{Ah{c}}}}}{{n{Ej}}}Al}{{{d{Af{Ah{c}}}}AbBb}{{n{Ab}}}Al}{{{d{Af{Ah{c}}}}}{{n{El}}}Al}{{{d{Af{Ah{c}}}}}{{n{Ab}}}Al}0{{{d{Af{Ah{c}}}}}{{n{En}}}Al}{{{d{Af{Ah{c}}}}g}{{n{{C`{{Cn{e}}B`Bn}}}}}Al{}{{Dd{{d{Af{Ah{c}}}}}{{Ch{{n{{Bh{e}}}}}}}}}}22{{{d{Af{Ah{c}}}}}{{n{{C`{F`Bn}}}}}Al}{{{d{Af{Ah{c}}}}}{{n{A`}}}Al}{{{d{Af{Ah{c}}}}}{{n{Fb}}}Al}{{{d{Af{Ah{c}}}}}{{n{Fd}}}Al}6{{{d{Af{Ah{c}}}}}{{n{Db}}}Al}{{{d{Af{Ah{c}}}}}{{n{{C`{ClFf}}}}}Al}{{{d{Af{Ah{c}}}}Bb}{{n{Ab}}}Al}{{{d{Af{Ah{c}}}}}{{n{Fh}}}Al}{{{d{Af{Ah{c}}}}}{{n{{C`{{Cn{Ej}}Bn}}}}}Al};8{{{d{Af{Ah{c}}}}}{{n{{C`{BbF`Bn}}}}}Al}<{{{d{{Ah{c}}}}{d{AfBd}}}{{Bh{Fj}}}Al}{{{d{{Ah{c}}}}}B`Al}````{{{d{An}}}{{Bh{Fl}}}}`{c{{Fn{e}}}{}{}}{{}{{Fn{c}}}{}}{dG`}{{{d{{Ah{c}}}}e}{{n{g}}}AlGb{}}{{{d{Cf}}{d{{Bf{An}}}}}Cb}{{}c{}}`{{BnBn{d{h}}{d{h}}}{{n{Aj}}}}`````{{{d{h}}j}{{n{{Cn{Cf}}}}}}{{{d{h}}j}{{`{{Gf{}{{Gd{{n{Cf}}}}}}}}}}`{d{{d{c}}}{}}{{{d{Af}}}{{d{Afc}}}{}}{{{d{Cf}}}Cf}{{d{d{Afc}}}Aj{}}{dAj}{Bd{{d{c}}}{}}{Bd{{d{Afc}}}{}}{c{{Fn{Cf}}}Gh}{BdAj}{{}Cf}{{{d{Af{Gj{c}}}}}{{Bh{Gl}}}{{Gf{}{{Gd{Gn}}}}}}{{{d{h}}}{{n{Aj}}}}{{{d{Cf}}{d{AfH`}}}Hb}0{cc{}}{{}Bd}{{}c{}}{GnB`}{{{d{Cf}}c}FnHd}`{{{d{AfHf}}{d{h}}}{{Fn{c}}}{}}{dc{}}{dHh}{dGl}`{c{{Fn{e}}}{}{}}{{}{{Fn{c}}}{}}{dG`}9```````````````````````````````````````````````````````````````````````````````````````````````````````````````````{d{{d{c}}}{}}0{{{d{Af}}}{{d{Afc}}}{}}0{{{d{An}}}An}{{{d{Ed}}}Ed}{{d{d{Afc}}}Aj{}}0{dAj}0{Bd{{d{c}}}{}}0{Bd{{d{Afc}}}{}}0{c{{Fn{An}}}Gh}{BdAj}0{{{d{h}}}{{n{{C`{BdAn}}}}}}{{{d{Af{Gj{c}}}}}{{n{{C`{BdAn}}}}}{{Gf{}{{Gd{Gn}}}}}}{{{d{An}}{d{An}}}B`}{{d{d{c}}}B`{}}000{{{d{An}}{d{AfH`}}}Hb}0{cc{}}0{{}Bd}0{{}c{}}0{{{d{An}}}B`}{{{d{An}}}{{Bh{Cl}}}}{Ed{{C`{AnAn}}}}{{{d{An}}c}FnHd}{{{d{AfHf}}{d{h}}}{{Fn{c}}}{}}{dc{}}0{dHh}{dGl}{c{{Fn{e}}}{}{}}0{{}{{Fn{c}}}{}}0{dG`}0;;","D":"Nj","p":[[5,"Handler",314],[1,"reference"],[5,"NodeBuilder",315],[1,"str"],[5,"BytePos",316],[5,"Ast",317],[8,"Result",318],[5,"Program",319],[6,"Expression",320],[6,"BinaryOperation",321],[0,"mut"],[5,"ParserContext",10],[1,"unit"],[10,"Network",322],[6,"Token",150],[1,"bool"],[5,"Identifier",323],[1,"usize"],[1,"slice"],[6,"Option",324],[5,"GroupTuple",325],[5,"NonNegativeNumber",326],[5,"Span",316],[1,"tuple"],[6,"ParserError",327],[6,"ParserWarning",328],[5,"SpannedToken",120],[17,"Output"],[10,"FnOnce",329],[5,"Symbol",330],[5,"Vec",331],[5,"Annotation",332],[6,"Statement",333],[10,"FnMut",329],[5,"Block",334],[5,"ConditionalStatement",335],[5,"ConsoleStatement",336],[5,"ConstDeclaration",337],[5,"DefinitionStatement",338],[5,"Function",339],[5,"Input",340],[6,"Delimiter",150],[5,"IterationStatement",341],[5,"Mapping",342],[5,"Member",343],[6,"Mode",344],[5,"Output",345],[6,"Type",346],[5,"ProgramScope",347],[5,"ReturnStatement",348],[5,"Composite",349],[5,"StructVariableInitializer",350],[6,"GroupCoordinate",351],[6,"IntegerType",352],[6,"Result",353],[5,"TypeId",354],[10,"Display",355],[17,"Item"],[10,"Iterator",356],[10,"Deserializer",357],[5,"Peekable",358],[5,"String",359],[1,"char"],[5,"Formatter",355],[8,"Result",355],[10,"Serializer",360],[6,"Value",361],[5,"SmolStr",362]],"r":[[0,150],[115,150]],"b":[[133,"impl-Debug-for-SpannedToken"],[134,"impl-Display-for-SpannedToken"],[289,"impl-Display-for-Token"],[290,"impl-Debug-for-Token"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAMUAFgAFAAIACQABAA4AAQAUAAEAFwAAACYAAABcAAAAZAAAAGoAAgBuAAgAeQAJAIYAAQCJAAAAjAAiALEABgC5ABsA1gAOAOYAGQABARkAHQEGACYBAQAtAQ0A"}],["leo_passes",{"t":"CCCCCCCCCCCCCCCCCFONNOOONNNNONONNNOOOOOONNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSECCCCCCCCFFNNNNNNNNNNONNNNNNNNNNNNNNONNNNNNNNNNNNNNNNFNNNNNNNONNNNNNNNNNNNNONOONNNNNNNIPFGIKINNNNNNNNNNNNNOOOONNNNNNNNNNNNNNOOOONNNNNNNNNNFNNNNNNNNNNNNNNNNONNNNNONONNNNNNFNNNNNNNNNNONNNNFNNNNNNNNNNNNNNNNNNNCONNNNNNNNNNNNNONNOONONNNNNNNNNCONFONNNNNNNNNNONNOONONONNNNNNONPPPFGNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNONNNNIKFNNNNNOONOONNNOONNNNNNNNNNNNNNNNFNNNNNNNNNNNNNONNNNNNNCCCCFNNNNNNNNNOONONNNNNNNNNNNNNNNNONCCCCFONNNNNNNNNONONNNNNNNNNNNNONONCCCCPPFGPGPPONNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNONOONNNNNNNNNNNNONONNNNNNNNNNNNNNONNNNOOCCCCCFONNNNNNNNNONNNNNNNNNONNNNFONNONNNNNNNONOONNNNNNNNNNONNNONCCCCCGPPKFNNNNOONNNNNNONNNNNNNNNNNNNNNNNNFNNOONNNNNNNNNONNONONNNNNNNNNNOONNNONNNRRKMCCCCCCFNNONNONNNNNNNONNNOOONNNOONNNNNNFNNNNNNONNNNNONNNOONNNNPPPFPPGPPNNNNNNNNNNNNNNNNNNHONNNNNNNNNNNONNNNNNNNCCCCFONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONONONONNNONNCFNNNNNNNONNONOOONNNNNNNNNNNNCCCCCHSSSSSSSSSFSNNNNNNNNNNNNNNNNNNNNNNNNONNONNNNNNNNNNNNNNNNNNONNNNNOOOONNNOHONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNONNNNOOOONNNOOOONNONNNON","n":["code_generation","common","dead_code_elimination","destructuring","flattening","function_inlining","loop_unrolling","pass","static_analysis","static_single_assignment","symbol_table_creation","type_checking","generator","visit_expressions","visit_program","visit_statements","visit_type","CodeGenerator","_call_graph","borrow","borrow_mut","composite_mapping","conditional_depth","current_function","deref","deref_mut","do_pass","drop","finalize_caller","from","global_mapping","init","into","new","next_label","next_register","program","program_id","struct_graph","symbol_table","try_from","try_into","type_id","type_table","variable_mapping","variant","visit_access","visit_array","visit_array_access","visit_assert","visit_assign","visit_associated_constant","visit_associated_function","visit_binary","visit_block","visit_call","visit_cast","visit_conditional","visit_console","visit_definition","visit_err","visit_expression","visit_expression_statement","visit_function","visit_identifier","visit_iteration","visit_locator","visit_mapping","visit_member_access","visit_program","visit_record","visit_return","visit_statement","visit_struct","visit_struct_init","visit_struct_or_record","visit_ternary","visit_tuple","visit_type","visit_type_with_visibility","visit_unary","visit_unit","visit_value","vzip","EXPECT_STR","ConditionalTreeNode","assigner","constant_propagation_table","graph","rename_table","replacer","symbol_table","tree_node","type_table","Assigner","AssignerInner","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","counter","default","","deref","","deref_mut","","drop","","fmt","","from","","init","","inner","into","","simple_assign_statement","","to_owned","","try_from","","try_into","","type_id","","unique_symbol","","vzip","","ConstantPropagationTable","borrow","borrow_mut","clone","clone_into","clone_to_uninit","constant_in_local_scope","constant_in_parent_scope","constants","default","deref","deref_mut","deserialize","drop","fmt","from","init","insert_block","insert_constant","into","lookup_constant","lookup_scope_by_index","parent","scope_index","","scopes","serialize","take_from_value","to_owned","try_from","try_into","type_id","vzip","CallGraph","CycleDetected","DiGraph","DiGraphError","ImportGraph","Node","StructGraph","add_edge","borrow","","borrow_mut","","contains_cycle_from","contains_node","deref","","deref_mut","","drop","","edges","","","","eq","equivalent","","","","fmt","","from","","init","","into","","new","nodes","","","","post_order","retain_nodes","try_from","","try_into","","type_id","","vzip","","RenameTable","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","drop","eq","equivalent","","","","fmt","from","ids","init","into","local_names","lookup","lookup_id","names","new","parent","to_owned","try_from","try_into","type_id","update","vzip","Replacer","borrow","borrow_mut","deref","deref_mut","drop","from","init","into","new","reconstruct_identifier","replace","try_from","try_into","type_id","vzip","SymbolTable","attach_finalize","borrow","borrow_mut","check_eq_struct","check_shadowing","check_shadowing_impl","clone","clone_into","clone_to_uninit","default","deref","deref_mut","deserialize","drop","eq","fmt","from","from_json_file","from_json_string","function_symbol","functions","init","insert_block","insert_fn","insert_futures","insert_struct","insert_variable","into","lookup_fn_symbol","lookup_scope_by_index","lookup_struct","lookup_variable","lookup_variable_in_current_scope","new_function_symbol","parent","remove_variable_from_current_scope","scope_index","","scopes","serialize","structs","take_from_value","to_json_file","to_json_file_without_keys","to_json_string","to_json_value","to_owned","try_from","try_into","type_id","variable_symbol","variables","vzip","FunctionSymbol","_span","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","finalize","fmt","from","future_inputs","id","init","input","into","output_type","serialize","take_from_value","to_owned","try_from","try_into","type_id","variant","vzip","Const","Input","Mut","VariableSymbol","VariableType","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","declaration","deref","","deref_mut","","deserialize","","drop","","eq","","equivalent","","","","","","","","fmt","","","","from","","init","","into","","serialize","","span","take_from_value","","to_owned","","to_smolstr","","to_string","","try_from","","try_into","","type_","type_id","","vzip","","ConditionalTreeNode","Node","TreeNode","borrow","borrow_mut","clone","clone_into","clone_to_uninit","counter","","create_child","depth","","deref","deref_mut","drop","elements","","eq","equivalent","","","","fmt","from","init","into","new","remove_element","to_owned","try_from","try_into","type_id","vzip","TypeTable","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","drop","fmt","from","get","init","inner","insert","into","to_owned","try_from","try_into","type_id","vzip","dead_code_eliminator","eliminate_expression","eliminate_program","eliminate_statement","DeadCodeEliminator","borrow","borrow_mut","deref","deref_mut","do_pass","drop","from","init","into","is_async","is_necessary","new","node_builder","reconstruct_assert","reconstruct_assign","reconstruct_associated_function","reconstruct_block","reconstruct_conditional","reconstruct_console","reconstruct_definition","reconstruct_expression_statement","reconstruct_function","reconstruct_identifier","reconstruct_iteration","reconstruct_return","reconstruct_struct_init","try_from","try_into","type_id","used_variables","vzip","destructure_expression","destructure_program","destructure_statement","destructurer","Destructurer","assigner","borrow","borrow_mut","deref","deref_mut","do_pass","drop","from","init","into","is_async","new","node_builder","reconstruct_assign","reconstruct_block","reconstruct_conditional","reconstruct_console","reconstruct_definition","reconstruct_function","reconstruct_iteration","reconstruct_return","reconstruct_tuple_access","simple_assign_statement","try_from","try_into","tuples","type_id","type_table","vzip","flatten_expression","flatten_program","flatten_statement","flattener","Constructed","","Flattener","Guard","None","ReturnGuard","Unconstructed","","assigner","borrow","","","borrow_mut","","","clone","","clone_into","","clone_to_uninit","","condition_stack","construct_early_return_guard","construct_guard","deref","","","deref_mut","","","do_pass","drop","","","fold_guards","fold_returns","from","","","identifier","init","","","into","","","is_async","new","node_builder","program","reconstruct_assert","reconstruct_assign","reconstruct_block","reconstruct_conditional","reconstruct_console","reconstruct_definition","reconstruct_function","reconstruct_iteration","reconstruct_program_scope","reconstruct_return","reconstruct_struct_init","reconstruct_ternary","returns","simple_assign_statement","symbol_table","ternary_array","ternary_struct","ternary_tuple","to_owned","","try_from","","","try_into","","","type_id","","","type_table","unique_simple_assign_statement","vzip","","","any_return","plain","assignment_renamer","function_inliner","inline_expression","inline_program","inline_statement","AssignmentRenamer","assigner","borrow","borrow_mut","clear","deref","deref_mut","drop","from","init","into","is_lhs","load","new","reconstruct_assign","reconstruct_conditional","reconstruct_console","reconstruct_definition","reconstruct_identifier","reconstruct_iteration","reconstruct_struct_init","rename_table","try_from","try_into","type_id","vzip","FunctionInliner","assignment_renamer","borrow","borrow_mut","call_graph","deref","deref_mut","do_pass","drop","from","init","into","is_async","new","node_builder","program","reconstruct_assign","reconstruct_block","reconstruct_call","reconstruct_conditional","reconstruct_console","reconstruct_definition","reconstruct_expression_statement","reconstruct_function","reconstruct_iteration","reconstruct_program_scope","reconstructed_functions","try_from","try_into","type_id","type_table","vzip","range_iterator","unroll_expression","unroll_program","unroll_statement","unroller","Clusivity","Exclusive","Inclusive","LoopBound","RangeIterator","borrow","","borrow_mut","","clusivity","current","deref","","deref_mut","","drop","","end","from","","init","","into","","into_iter","new","next","progress_with","try_from","","try_into","","type_id","","vzip","","Unroller","borrow","borrow_mut","constant_propagation_table","current_program","current_scope_index","deref","deref_mut","do_pass","drop","emit_err","enter_scope","exit_scope","from","handler","init","into","is_unrolling","new","node_builder","reconstruct_array_access","reconstruct_block","reconstruct_const","reconstruct_definition","reconstruct_function","reconstruct_function_stub","reconstruct_identifier","reconstruct_iteration","reconstruct_program_scope","reconstruct_stub","scope_index","symbol_table","try_from","try_into","type_id","type_table","unroll_iteration_statement","unroll_single_iteration","vzip","Input","Output","Pass","do_pass","analyze_expression","analyze_program","analyze_statement","analyzer","await_checker","future_checker","StaticAnalyzer","assert_future_await","assert_simple_async_transition_call","await_checker","borrow","borrow_mut","current_program","deref","deref_mut","do_pass","drop","emit_err","emit_warning","from","handler","init","into","new","non_async_external_call_seen","phantom","symbol_table","try_from","try_into","type_id","type_table","variant","visit_access","visit_call","visit_conditional","visit_function","visit_program_scope","vzip","AwaitChecker","borrow","borrow_mut","create_then_scope","deref","deref_mut","drop","enabled","exit_statement_scope","exit_then_scope","from","init","into","max_depth","new","remove","set_futures","static_to_await","to_await","try_from","try_into","type_id","vzip","Await","Definition","FunctionArgument","FutureChecker","LastTupleLiteral","Misc","Position","Return","TupleAccess","borrow","","borrow_mut","","clone","clone_into","clone_to_uninit","default","deref","","deref_mut","","drop","","emit_err","fmt","from","","future_check_function","handler","init","","into","","to_owned","try_from","","try_into","","type_id","","type_table","visit_access","visit_call","visit_definition","visit_expression","visit_return","visit_tuple","vzip","","rename_expression","rename_program","rename_statement","static_single_assigner","StaticSingleAssigner","assigner","borrow","borrow_mut","consume_access","consume_array","consume_assert","consume_assign","consume_binary","consume_block","consume_call","consume_cast","consume_conditional","consume_console","consume_const","consume_definition","consume_expression_statement","consume_function","consume_identifier","consume_iteration","consume_literal","consume_locator","consume_program","consume_program_scope","consume_return","consume_struct","consume_struct_init","consume_ternary","consume_tuple","consume_unary","consume_unit","deref","deref_mut","do_pass","drop","from","init","into","is_lhs","new","node_builder","pop","program","push","rename_table","simple_assign_statement","symbol_table","try_from","try_into","type_id","type_table","unique_simple_assign_statement","vzip","creator","SymbolTableCreator","borrow","borrow_mut","deref","deref_mut","do_pass","drop","from","handler","init","into","is_stub","new","program_name","structs","symbol_table","try_from","try_into","type_id","visit_function","visit_function_stub","visit_import","visit_mapping","visit_program_scope","visit_struct","visit_struct_stub","visit_stub","vzip","check_expressions","check_program","check_statements","checker","scope_state","return_incorrect_type","ADDRESS_TYPE","BOOLEAN_TYPE","FIELD_TYPE","GROUP_TYPE","INT_TYPES","MAGNITUDE_TYPES","SCALAR_TYPE","SIGNATURE_TYPE","SIGNED_INT_TYPES","TypeChecker","UNSIGNED_INT_TYPES","assert_address_type","assert_and_return_type","assert_array_type","assert_bool_int_type","assert_bool_type","assert_castable_type","assert_field_group_int_type","assert_field_group_scalar_int_type","assert_field_group_signed_int_type","assert_field_group_type","assert_field_int_type","assert_field_scalar_int_type","assert_field_type","assert_group_type","assert_int_type","assert_magnitude_type","assert_mapping_type","assert_member_is_not_record","assert_scalar_type","assert_signature_type","assert_signed_int_type","assert_type","assert_type_is_valid","assert_unsigned_int_type","async_function_input_types","borrow","borrow_mut","call_graph","check_access_allowed","check_core_function_call","check_eq_types","check_expected_struct","check_function_signature","check_type","create_child_scope","deref","deref_mut","do_pass","drop","emit_err","emit_warning","enter_scope","exit_scope","from","get_core_constant","get_core_function_call","handler","init","insert_variable","into","lookup_struct","new","phantom","scope_state","struct_graph","symbol_table","try_from","try_into","type_id","type_table","types_to_string","used_structs","visit_access","visit_array","visit_assert","visit_assign","visit_binary","visit_block","visit_call","visit_cast","visit_conditional","visit_console","visit_const","visit_definition","visit_err","visit_expression","visit_expression_statement","visit_function","visit_function_stub","visit_identifier","visit_iteration","visit_literal","visit_locator","visit_mapping","visit_program","visit_program_scope","visit_return","visit_statement","visit_struct","visit_struct_init","visit_struct_stub","visit_stub","visit_ternary","visit_tuple","visit_unary","visit_unit","vzip","ScopeState","borrow","borrow_mut","call_location","deref","deref_mut","drop","from","function","futures","has_called_finalize","has_return","init","initialize_function_state","into","is_call","is_conditional","is_return","is_stub","location","new","program_name","try_from","try_into","type_id","variant","vzip"],"q":[[0,"leo_passes"],[12,"leo_passes::code_generation"],[17,"leo_passes::code_generation::generator"],[84,"leo_passes::code_generation::visit_program"],[85,"leo_passes::common"],[94,"leo_passes::common::assigner"],[138,"leo_passes::common::constant_propagation_table"],[171,"leo_passes::common::graph"],[223,"leo_passes::common::rename_table"],[255,"leo_passes::common::replacer"],[271,"leo_passes::common::symbol_table"],[325,"leo_passes::common::symbol_table::function_symbol"],[354,"leo_passes::common::symbol_table::variable_symbol"],[418,"leo_passes::common::tree_node"],[452,"leo_passes::common::type_table"],[474,"leo_passes::dead_code_elimination"],[478,"leo_passes::dead_code_elimination::dead_code_eliminator"],[510,"leo_passes::destructuring"],[514,"leo_passes::destructuring::destructurer"],[544,"leo_passes::flattening"],[548,"leo_passes::flattening::flattener"],[632,"leo_passes::flattening::flattener::ReturnGuard"],[634,"leo_passes::function_inlining"],[639,"leo_passes::function_inlining::assignment_renamer"],[665,"leo_passes::function_inlining::function_inliner"],[697,"leo_passes::loop_unrolling"],[702,"leo_passes::loop_unrolling::range_iterator"],[738,"leo_passes::loop_unrolling::unroller"],[777,"leo_passes::pass"],[781,"leo_passes::static_analysis"],[787,"leo_passes::static_analysis::analyzer"],[819,"leo_passes::static_analysis::await_checker"],[842,"leo_passes::static_analysis::future_checker"],[891,"leo_passes::static_single_assignment"],[895,"leo_passes::static_single_assignment::static_single_assigner"],[948,"leo_passes::symbol_table_creation"],[949,"leo_passes::symbol_table_creation::creator"],[977,"leo_passes::type_checking"],[982,"leo_passes::type_checking::check_expressions"],[983,"leo_passes::type_checking::checker"],[1091,"leo_passes::type_checking::scope_state"],[1118,"leo_ast::program"],[1119,"core::result"],[1120,"core::any"],[1121,"leo_ast::expressions::access"],[1122,"alloc::string"],[1123,"leo_ast::expressions::array"],[1124,"leo_ast::access::array_access"],[1125,"leo_ast::statement::assert"],[1126,"leo_ast::statement::assign"],[1127,"leo_ast::access::associated_constant_access"],[1128,"leo_ast::access::associated_function_access"],[1129,"leo_ast::expressions::binary"],[1130,"leo_ast::statement::block"],[1131,"leo_ast::expressions::call"],[1132,"leo_ast::expressions::cast"],[1133,"leo_ast::statement::conditional"],[1134,"leo_ast::statement::console::console_statement"],[1135,"leo_ast::statement::definition"],[1136,"leo_ast::expressions::err"],[1137,"leo_ast::expressions"],[1138,"leo_ast::statement::expression"],[1139,"leo_ast::functions"],[1140,"leo_ast::common::identifier"],[1141,"leo_ast::statement::iteration"],[1142,"leo_ast::expressions::locator"],[1143,"leo_ast::mapping"],[1144,"leo_ast::access::member_access"],[1145,"leo_ast::struct"],[1146,"leo_ast::statement::return_"],[1147,"leo_ast::statement"],[1148,"leo_ast::expressions::struct_init"],[1149,"leo_ast::expressions::ternary"],[1150,"leo_ast::expressions::tuple"],[1151,"leo_ast::types::type_"],[1152,"leo_ast::functions::mode"],[1153,"leo_ast::expressions::unary"],[1154,"leo_ast::expressions::unit"],[1155,"leo_ast::expressions::literal"],[1156,"core::fmt"],[1157,"leo_ast::common::node"],[1158,"leo_span::symbol"],[1159,"serde::de"],[1160,"leo_errors::errors"],[1161,"core::option"],[1162,"core::cell"],[1163,"serde::ser"],[1164,"serde_json::value"],[1165,"indexmap::set"],[1166,"core::cmp"],[1167,"core::iter::traits::iterator"],[1168,"alloc::boxed"],[1169,"core::ops::function"],[1170,"leo_ast::common::location"],[1171,"leo_span::span"],[1172,"std::path"],[1173,"alloc::vec"],[1174,"smol_str"],[1175,"core::clone"],[1176,"leo_ast::common::node_builder"],[1177,"leo_ast::access::tuple_access"],[1178,"leo_ast::program::program_scope"],[1179,"leo_ast::types::array"],[1180,"leo_ast::types::tuple"],[1181,"indicatif::progress_bar"],[1182,"indicatif::iter"],[1183,"leo_errors::errors::loop_unroller::loop_unroller_errors"],[1184,"leo_errors::emitter"],[1185,"leo_ast::statement::const_"],[1186,"leo_ast::stub::function_stub"],[1187,"leo_ast::stub"],[1188,"snarkvm_console_network"],[1189,"leo_errors::errors::static_analyzer::static_analyzer_error"],[1190,"leo_errors::errors::static_analyzer::static_analyzer_warning"],[1191,"leo_ast::types::mapping"],[1192,"leo_ast::functions::core_function"],[1193,"leo_errors::errors::type_checker::type_checker_error"],[1194,"leo_errors::errors::type_checker::type_checker_warning"],[1195,"leo_ast::types::core_constant"],[1196,"leo_ast::functions::variant"]],"i":"``````````````````Ad00000000000000000000000000000000000000000000000000000000000000000````````````FbFd1010101001010101010101011010101010101010`G`0000000000000000000000000000000`Hj`````Hb101000101010nA`A@f33333343434343321033343434343`Hn000000000000000000000000000000`If00000000000000`j000000000000000000`000000000000000000000000000000`00`Jf000000000000000000000000000Jj00``0Jd101010100101010101011110000110010101010010101010101001010```Jn0000Nl1101111011111111111111111`l00000000000000000000`````Kf000000000000000000000000000000`````Kh0000000000000000000000000000````KlKn``0`10L`021021212121000021021002100021202102100000000000000000000002102102102100021A@h0``````Lh000000000000000000000000`Lj000000000000000000000000000000``````Ll0``0Ln10001010100101010000010101010`Mf0000000000000000000000000000000000000A@j0`0```````Nb000000000000000000000000000000`Nj000000000000000000000Nn00`00`00O`10111110101010101`001011010101000000001`````Ob000000000000000000000000000000000000000000000000000``Od00000000000000000000000000`````````````````Of00000000000000000000000000000000000000000000000000000000000`000000000000000000000000000000000000`A@b0000000000000000000000000","f":"```````````````````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}```{f{{b{c}}}{}}{f{{b{dc}}}{}}{ce{}{}}{fh}`{cc{}}`{{}f}{{}c{}}{{{b{j}}{b{l}}{b{n}}{b{A`}}{b{Ab}}}Ad}``````{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}```{{{b{dAd}}{b{Aj}}}{{An{AlAl}}}}{{{b{dAd}}{b{B`}}}{{An{AlAl}}}}{{{b{dAd}}{b{Bb}}}{{An{AlAl}}}}{{{b{dAd}}{b{Bd}}}Al}{{{b{dAd}}{b{Bf}}}Al}{{{b{dAd}}{b{Bh}}}{{An{AlAl}}}}{{{b{dAd}}{b{Bj}}}{{An{AlAl}}}}{{{b{dAd}}{b{Bl}}}{{An{AlAl}}}}{{{b{dAd}}{b{Bn}}}Al}{{{b{dAd}}{b{C`}}}{{An{AlAl}}}}{{{b{dAd}}{b{Cb}}}{{An{AlAl}}}}{{{b{dAd}}{b{Cd}}}Al}{{{b{dAd}}{b{Cf}}}Al}{{{b{dAd}}{b{Ch}}}Al}{{{b{dAd}}{b{Cj}}}{{An{AlAl}}}}{{{b{dAd}}{b{Cl}}}{{An{AlAl}}}}{{{b{dAd}}{b{Cn}}}Al}{{{b{dAd}}{b{D`}}}Al}{{{b{dAd}}{b{Db}}}{{An{AlAl}}}}{{{b{dAd}}{b{Dd}}}Al}{{{b{dAd}}{b{Df}}}{{An{AlAl}}}}{{{b{dAd}}{b{Dh}}}Al}{{{b{dAd}}{b{Dj}}}{{An{AlAl}}}}{{{b{dAd}}{b{Ab}}}Al}{{{b{dAd}}{b{Dl}}}Al}{{{b{dAd}}{b{Dn}}}Al}{{{b{dAd}}{b{E`}}}Al}2{{{b{dAd}}{b{Eb}}}{{An{AlAl}}}}3{{{b{dAd}}{b{Ed}}}{{An{AlAl}}}}{{{b{dAd}}{b{Ef}}}{{An{AlAl}}}}{{{b{Eh}}}Al}{{{b{Ad}}{b{Eh}}Ej}Al}{{{b{dAd}}{b{El}}}{{An{AlAl}}}}{{{b{dAd}}{b{En}}}{{An{AlAl}}}}{{{b{dAd}}{b{F`}}}{{An{AlAl}}}}{{}c{}}````````````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{Fb}}}Fb}{{{b{Fd}}}Fd}{{b{b{dc}}}h{}}0{bh}0`{{}Fb}{{}Fd}{f{{b{c}}}{}}0{f{{b{dc}}}{}}0{fh}0{{{b{Fb}}{b{dFf}}}Fh}{{{b{Fd}}{b{dFf}}}Fh}{cc{}}0{{}f}0`??{{{b{Fb}}DbClFj}E`}{{{b{dFd}}DbClFj}E`}{bc{}}0{c{{Af{e}}}{}{}}0{{}{{Af{c}}}{}}0{bAh}0{{{b{Fb}}ce}FlFnFn}{{{b{dFd}}ce}FlFnFn}{{}c{}}0`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{G`}}}G`}{{b{b{dc}}}h{}}{bh}{{{b{G`}}Fl}Gb}0`{{}G`}{f{{b{c}}}{}}{f{{b{dc}}}{}}{c{{Af{G`}}}Gd}{fh}{{{b{G`}}{b{dFf}}}Fh}{cc{}}{{}f}{{{b{dG`}}}f}{{{b{dG`}}FlCl}{{Gf{h}}}}{{}c{}}{{{b{G`}}Fl}{{Gh{{b{Cl}}}}}}{{{b{G`}}f}{{Gh{{b{{Gj{G`}}}}}}}}`4``{{{b{G`}}c}AfGl}{{{b{dGn}}{b{H`}}}{{Af{c}}}{}}{bc{}}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}8```````{{{b{d{Hb{c}}}}cc}hHd}{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{{Hb{c}}}}c{b{d{Hf{c}}}}{b{d{Hf{c}}}}}{{Gh{c}}}Hd}{{{b{{Hb{c}}}}c}GbHd}{f{{b{c}}}{}}0{f{{b{dc}}}{}}0{fh}0````{{{b{{Hb{c}}}}{b{{Hb{c}}}}}Gb{HhHd}}{{b{b{c}}}Gb{}}000{{{b{{Hj{c}}}}{b{dFf}}}Fh{HlHd}}{{{b{{Hb{c}}}}{b{dFf}}}Fh{HlHd}}{cc{}}0{{}f}0{{}c{}}0{{{Hf{c}}}{{Hb{c}}}Hd}````{{{b{{Hb{c}}}}}{{Af{{Hf{c}}{Hj{c}}}}}Hd}{{{b{d{Hb{c}}}}{b{{Hf{c}}}}}hHd}{c{{Af{e}}}{}{}}0{{}{{Af{c}}}{}}0{bAh}066`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Hn}}}Hn}{{b{b{dc}}}h{}}{bh}{{}Hn}{f{{b{c}}}{}}{f{{b{dc}}}{}}{fh}{{{b{Hn}}{b{Hn}}}Gb}{{b{b{c}}}Gb{}}000{{{b{Hn}}{b{dFf}}}Fh}{cc{}}`{{}f}{{}c{}}{{{b{Hn}}}{{`{{Ib{}{{I`{{b{Fl}}}}}}}}}}{{{b{Hn}}Fl}{{Gh{{b{Fl}}}}}}{{{b{Hn}}{b{Fl}}}{{Gh{{b{Fj}}}}}}`{{{Gh{{Id{Hn}}}}}Hn}`{bc{}}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}{{{b{dHn}}FlFlFj}h}9`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{f{{b{c}}}{}}{f{{b{dc}}}{}}{fh}{cc{}}{{}f}{{}c{}}{c{{If{c}}}{{Ij{{b{Db}}}{{Ih{Cl}}}}}}{{{b{d{If{c}}}}Db}{{An{Cle}}}{{Ij{{b{Db}}}{{Ih{Cl}}}}}{}}`=<;2`{{{b{dj}}IlIl}{{Gf{h}}}}:9{{{b{j}}{b{Dl}}{b{Dl}}}Gb}{{{b{j}}{b{Il}}{Gh{Fl}}GbIn}{{Gf{h}}}}{{{b{j}}{b{Il}}GbIn}{{Gf{h}}}}{{{b{j}}}j}{{b{b{dc}}}h{}}{bh}{{}j}?>{c{{Af{j}}}Gd}>{{{b{j}}{b{j}}}Gb}{{{b{j}}{b{dFf}}}Fh}?{J`{{Gf{j}}}}{{{b{H`}}}{{Gf{j}}}}``{{}f}{{{b{dj}}}f}{{{b{dj}}Il{b{D`}}}{{Gf{h}}}}{{{b{dj}}FlFl{Jb{Il}}}{{Gf{h}}}}{{{b{dj}}Il{b{Dl}}}{{Gf{h}}}}{{{b{dj}}Il{Gh{Fl}}Jd}{{Gf{h}}}}{{}c{}}{{{b{j}}Il}{{Gh{{b{Jf}}}}}}{{{b{j}}f}{{Gh{{b{{Gj{j}}}}}}}}{{{b{j}}Il{Gh{Fl}}}{{Gh{{b{Dl}}}}}}{{{b{j}}Il}{{Gh{{b{Jd}}}}}}0{{f{b{D`}}}Jf}`{{{b{dj}}Il}h};``{{{b{j}}c}AfGl}`{{{b{dGn}}{b{H`}}}{{Af{c}}}{}}{{{b{j}}J`{b{H`}}}{{Gf{h}}}}{{{b{j}}J`{b{H`}}{b{{Jh{{b{H`}}}}}}}{{Gf{h}}}}{{{b{j}}}{{Gf{Al}}}}{{{b{j}}}{{Gf{Gn}}}}{bc{}}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}``{{}c{}}``{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Jf}}}Jf}{{b{b{dc}}}h{}}{bh}{f{{b{c}}}{}}{f{{b{dc}}}{}}{c{{Af{Jf}}}Gd}{fh}{{{b{Jf}}{b{Jf}}}Gb}`{{{b{Jf}}{b{dFf}}}Fh}{cc{}}``{{}f}`=`{{{b{Jf}}c}AfGl}{{{b{dGn}}{b{H`}}}{{Af{c}}}{}}{bc{}}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}`{{}c{}}`````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{Jj}}}Jj}{{{b{Jd}}}Jd}{{b{b{dc}}}h{}}0{bh}0`{f{{b{c}}}{}}0{f{{b{dc}}}{}}0{c{{Af{Jj}}}Gd}{c{{Af{Jd}}}Gd}{fh}0{{{b{Jj}}{b{Jj}}}Gb}{{{b{Jd}}{b{Jd}}}Gb}{{b{b{c}}}Gb{}}0000000{{{b{Jj}}{b{dFf}}}Fh}0{{{b{Jd}}{b{dFf}}}Fh}0{cc{}}0{{}f}0{{}c{}}0{{{b{Jj}}c}AfGl}{{{b{Jd}}c}AfGl}`{{{b{dGn}}{b{H`}}}{{Af{c}}}{}}0{bc{}}0{bJl}0{bAl}0{c{{Af{e}}}{}{}}0{{}{{Af{c}}}{}}0`{bAh}099```{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{{Jn{c}}}}}{{Jn{c}}}{K`Kb}}{{b{b{dc}}}h{}}{bh}``{{{b{d{Jn{c}}}}}{{Jn{c}}}Kb}``{f{{b{c}}}{}}{f{{b{dc}}}{}}{fh}``{{{b{{Jn{c}}}}{b{{Jn{c}}}}}Gb{HhKb}}{{b{b{c}}}Gb{}}000{{{b{{Jn{c}}}}{b{dFf}}}Fh{HlKb}}{cc{}}{{}f}{{}c{}}{{{Hf{c}}}{{Jn{c}}}Kb}{{{b{d{Jn{c}}}}{b{c}}}GbKb}{bc{}}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}6`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{l}}}l}{{b{b{dc}}}h{}}{bh}{{}l}{f{{b{c}}}{}}{f{{b{dc}}}{}}{fh}{{{b{l}}{b{dFf}}}Fh}{cc{}}{{{b{l}}{b{Fj}}}{{Gh{Eh}}}}{{}f}`{{{b{l}}FjEh}h}{{}c{}}{bc{}}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}4`````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}>={ce{}{}}=;97``{{{b{Kd}}}Kf}`{{{b{dKf}}Bd}{{An{E`c}}}{}}{{{b{dKf}}Bf}{{An{E`c}}}{}}{{{b{dKf}}Bj}{{An{Clc}}}{}}{{{b{dKf}}Bn}{{An{Bnc}}}{}}{{{b{dKf}}Cd}{{An{E`c}}}{}}{{{b{dKf}}Cf}{{An{E`c}}}{}}{{{b{dKf}}Ch}{{An{E`c}}}{}}{{{b{dKf}}Cn}{{An{E`c}}}{}}{{{b{dKf}}D`}D`}{{{b{dKf}}Db}{{An{Clc}}}{}}{{{b{dKf}}Dd}{{An{E`c}}}{}}{{{b{dKf}}Dn}{{An{E`c}}}{}}{{{b{dKf}}Eb}{{An{Clc}}}{}}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}`{{}c{}}``````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{f{{b{c}}}{}}{f{{b{dc}}}{}}{ce{}{}}{fh}{cc{}}{{}f}8`{{{b{l}}{b{Kd}}{b{Fb}}}Kh}`{{{b{dKh}}Bf}{{An{E`c}}}{}}{{{b{dKh}}Bn}{{An{Bnc}}}{}}{{{b{dKh}}Cd}{{An{E`c}}}{}}{{{b{dKh}}Cf}{{An{E`c}}}{}}{{{b{dKh}}Ch}{{An{E`c}}}{}}{{{b{dKh}}D`}D`}{{{b{dKh}}Dd}{{An{E`c}}}{}}{{{b{dKh}}Dn}{{An{E`c}}}{}}{{{b{dKh}}Kj}{{An{Clc}}}{}}{{{b{dKh}}DbCl}E`}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}`{bAh}`{{}c{}}`````````````{b{{b{c}}}{}}00{{{b{d}}}{{b{dc}}}{}}00{{{b{Kl}}}Kl}{{{b{Kn}}}Kn}{{b{b{dc}}}h{}}0{bh}0`{{{b{dL`}}}{{Gh{{An{Db{Jb{E`}}}}}}}}0{f{{b{c}}}{}}00{f{{b{dc}}}{}}00{ce{}{}}{fh}00{{{b{dL`}}{b{H`}}{Jb{{An{{Gh{Cl}}Cl}}}}}{{An{Cl{Jb{E`}}}}}}{{{b{dL`}}{b{dBn}}{Jb{{An{{Gh{Cl}}Dn}}}}}h}{cc{}}00{KlDb}{{}f}00{{}c{}}00`{{{b{j}}{b{l}}{b{Kd}}{b{Fb}}}L`}``{{{b{dL`}}Bd}{{An{E`c}}}{}}{{{b{dL`}}Bf}{{An{E`c}}}{}}{{{b{dL`}}Bn}{{An{Bnc}}}{}}{{{b{dL`}}Cd}{{An{E`c}}}{}}{{{b{dL`}}Cf}{{An{E`c}}}{}}{{{b{dL`}}Ch}{{An{E`c}}}{}}{{{b{dL`}}D`}D`}{{{b{dL`}}Dd}{{An{E`c}}}{}}{{{b{dL`}}Lb}Lb}{{{b{dL`}}Dn}{{An{E`c}}}{}}{{{b{dL`}}Eb}{{An{Clc}}}{}}{{{b{dL`}}Ed}{{An{Clc}}}{}}`{{{b{dL`}}DbCl}E`}`{{{b{dL`}}{b{Ld}}{b{Cl}}{b{Db}}{b{Db}}}{{An{Cl{Jb{E`}}}}}}{{{b{dL`}}{b{Dl}}{b{Cl}}{b{Db}}{b{Db}}}{{An{Cl{Jb{E`}}}}}}{{{b{dL`}}{b{Lf}}{b{Cl}}{b{Db}}{b{Db}}}{{An{Cl{Jb{E`}}}}}}{bc{}}0{c{{Af{e}}}{}{}}00{{}{{Af{c}}}{}}00{bAh}00`{{{b{dL`}}Cl}{{An{DbE`}}}}{{}c{}}00`````````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{dLh}}}h}{f{{b{c}}}{}}{f{{b{dc}}}{}}{fh}{cc{}}{{}f}8`{{{b{dLh}}c}h{{Ib{}{{I`{{An{FlFlFj}}}}}}}}{{{b{Fb}}}Lh}{{{b{dLh}}Bf}{{An{E`c}}}{}}{{{b{dLh}}Cd}{{An{E`c}}}{}}{{{b{dLh}}Cf}{{An{E`c}}}{}}{{{b{dLh}}Ch}{{An{E`c}}}{}}{{{b{dLh}}Db}{{An{Clc}}}{}}{{{b{dLh}}Dd}{{An{E`c}}}{}}{{{b{dLh}}Eb}{{An{Clc}}}{}}`{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}{{}c{}}``{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}`{f{{b{c}}}{}}{f{{b{dc}}}{}}{ce{}{}}{fh}{cc{}}{{}f}8`{{{b{Kd}}{b{A`}}{b{Fb}}{b{l}}}Lj}``{{{b{dLj}}Bf}{{An{E`c}}}{}}{{{b{dLj}}Bn}{{An{Bnc}}}{}}{{{b{dLj}}C`}{{An{Clc}}}{}}{{{b{dLj}}Cd}{{An{E`c}}}{}}{{{b{dLj}}Cf}{{An{E`c}}}{}}{{{b{dLj}}Ch}{{An{E`c}}}{}}{{{b{dLj}}Cn}{{An{E`c}}}{}}{{{b{dLj}}D`}D`}{{{b{dLj}}Dd}{{An{E`c}}}{}}{{{b{dLj}}Lb}Lb}`{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}`{{}c{}}``````````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0``{f{{b{c}}}{}}0{f{{b{dc}}}{}}0{fh}0`{cc{}}0{{}f}0777{{ccLl}{{Ln{c}}}M`}{{{b{d{Ln{c}}}}}{{Gh{e}}}M`{}}{Mb{{Md{c}}}{}}==<<;;::`98``{{{b{dMf}}}f}87{ce{}{}}7{{{b{Mf}}Mh}h}{{{b{dMf}}f}f}{{{b{dMf}}f}h}9`8?`{{j{b{l}}{b{Mj}}{b{Kd}}}Mf}`{{{b{dMf}}Bb}{{An{Clc}}}{}}{{{b{dMf}}Bn}{{An{Bnc}}}{}}{{{b{dMf}}Ml}{{An{E`c}}}{}}{{{b{dMf}}Ch}{{An{E`c}}}{}}{{{b{dMf}}D`}D`}{{{b{dMf}}Mn}Mn}{{{b{dMf}}Db}{{An{Clc}}}{}}{{{b{dMf}}Dd}{{An{E`c}}}{}}{{{b{dMf}}Lb}Lb}{{{b{dMf}}N`}N`}``{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}`{{{b{dMf}}Dd}E`}{{{b{dMf}}{b{Dd}}c}E`M`}{{}c{}}```{ce{}{}}```````{{{b{d{Nb{c}}}}{b{{Gh{{b{Cl}}}}}}In}hNd}{{{b{{Nb{c}}}}FlFlIn}hNd}`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}`{f{{b{c}}}{}}{f{{b{dc}}}{}}6{fh}{{{b{{Nb{c}}}}Nf}hNd}{{{b{{Nb{c}}}}Nh}hNd}{cc{}}`{{}f}<{{{b{j}}{b{l}}{b{Mj}}fGb}{{Nb{c}}}Nd}```{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}``{{{b{d{Nb{c}}}}{b{Aj}}{b{e}}}gNd{}{}}{{{b{d{Nb{c}}}}{b{C`}}{b{e}}}gNd{}{}}{{{b{d{Nb{c}}}}{b{Cd}}}hNd}{{{b{d{Nb{c}}}}{b{D`}}}hNd}{{{b{d{Nb{c}}}}{b{Lb}}}hNd}{{}c{}}`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{dNj}}GbIn}{{Af{{Jb{Nl}}Nh}}}}{f{{b{c}}}{}}{f{{b{dc}}}{}}{fh}`{{{b{dNj}}Gb{Jb{Nl}}}h}{{{b{dNj}}Gb{Jb{Nl}}}{{Jb{Nl}}}}{cc{}}{{}f}:`{{fGb}Nj}{{{b{dNj}}{b{Db}}}Gb}{{{b{dNj}}{Hf{Fl}}}h}``{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}{{}c{}}`````````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{Nn}}}Nn}{{b{b{dc}}}h{}}{bh}{{}Nn}{f{{b{c}}}{}}0{f{{b{dc}}}{}}0{fh}0{{{b{O`}}Nf}h}{{{b{Nn}}{b{dFf}}}Fh}{cc{}}0{{{b{D`}}{b{l}}{b{Mj}}}h}`{{}f}0>>{bc{}}{c{{Af{e}}}{}{}}0{{}{{Af{c}}}{}}0{bAh}0`{{{b{dO`}}{b{Aj}}{b{c}}}e{}{}}{{{b{dO`}}{b{C`}}{b{c}}}e{}{}}{{{b{dO`}}{b{Ch}}}h}{{{b{dO`}}{b{Cl}}{b{c}}}e{}{}}{{{b{dO`}}{b{Dn}}}h}{{{b{dO`}}{b{Ef}}{b{c}}}e{}{}}{{}c{}}0``````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{dOb}}Aj}c{}}{{{b{dOb}}B`}c{}}{{{b{dOb}}Bd}c{}}{{{b{dOb}}Bf}c{}}{{{b{dOb}}Bl}c{}}{{{b{dOb}}Bn}c{}}{{{b{dOb}}C`}c{}}{{{b{dOb}}Cb}c{}}{{{b{dOb}}Cd}c{}}{{{b{dOb}}Cf}c{}}{{{b{dOb}}Ml}c{}}{{{b{dOb}}Ch}c{}}{{{b{dOb}}Cn}c{}}{{{b{dOb}}D`}c{}}{{{b{dOb}}Db}c{}}{{{b{dOb}}Dd}c{}}{{{b{dOb}}F`}c{}}{{{b{dOb}}Df}c{}}{{{b{dOb}}Ab}c{}}{{{b{dOb}}Lb}c{}}{{{b{dOb}}Dn}c{}}{{{b{dOb}}Dl}c{}}{{{b{dOb}}Eb}c{}}{{{b{dOb}}Ed}c{}}{{{b{dOb}}Ef}c{}}{{{b{dOb}}El}c{}}{{{b{dOb}}En}c{}}{f{{b{c}}}{}}{f{{b{dc}}}{}}{ce{}{}}{fh}{cc{}}{{}f}{{}c{}}`{{{b{Kd}}{b{j}}{b{l}}{b{Fb}}}Ob}`{{{b{dOb}}}Hn}`{{{b{dOb}}}h}`{{{b{dOb}}DbCl}E`}`{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}`{{{b{dOb}}Cl}{{An{DbE`}}}}8``{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{f{{b{c}}}{}}{f{{b{dc}}}{}}{ce{}{}}{fh}{cc{}}`{{}f}{{}c{}}`{{{b{Mj}}}Od}```=<;{{{b{dOd}}{b{D`}}}h}{{{b{dOd}}{b{Mn}}}h}{{{b{dOd}}{b{Ab}}}h}{{{b{dOd}}{b{Dh}}}h}{{{b{dOd}}{b{Lb}}}h}{{{b{dOd}}{b{Dl}}}h}0{{{b{dOd}}{b{N`}}}h}8`````{{{Gh{Eh}}{Gh{Eh}}{b{{Gh{Eh}}}}}{{Gh{Eh}}}}```````````{{{b{{Of{c}}}}{b{{Gh{Eh}}}}In}hNd}{{{b{d{Of{c}}}}Eh{b{{Gh{Eh}}}}In}EhNd}11111111111111{{{b{{Of{c}}}}{b{{Gh{Eh}}}}In}{{Gh{Oh}}}Nd}{{{b{d{Of{c}}}}InFl{b{Eh}}}hNd}333{{{b{d{Of{c}}}}{b{{Gh{Eh}}}}{b{Eh}}In}hNd}{{{b{d{Of{c}}}}{b{Eh}}In}GbNd}5`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}`{{{b{d{Of{c}}}}{b{H`}}GbIn}hNd}{{{b{d{Of{c}}}}Oj{b{{Jh{{An{{Gh{Eh}}In}}}}}}In}{{Gh{Eh}}}Nd}{{{b{{Of{c}}}}{b{{Gh{Eh}}}}{b{{Gh{Eh}}}}In}hNd}{{{b{d{Of{c}}}}{b{Dl}}{b{{Gh{Eh}}}}In}EhNd}{{{b{d{Of{c}}}}{b{D`}}}hNd}{{{b{{Of{c}}}}eAl{b{{Gh{Eh}}}}In}hNd{{Ij{{b{Eh}}}{{Ih{Gb}}}}}}{{{b{d{Of{c}}}}}fNd}{f{{b{c}}}{}}{f{{b{dc}}}{}}{ce{}{}}{fh}{{{b{{Of{c}}}}Ol}hNd}{{{b{{Of{c}}}}On}hNd}{{{b{d{Of{c}}}}f}hNd}0{cc{}}{{{b{{Of{c}}}}{b{Eh}}{b{Db}}}{{Gh{A@`}}}Nd}{{{b{{Of{c}}}}{b{Db}}{b{Db}}}{{Gh{Oj}}}Nd}`{{}f}{{{b{d{Of{c}}}}{Gh{Eh}}{b{Db}}EhIn}hNd}{{}c{}}{{{b{d{Of{c}}}}{Gh{Fl}}Fl}{{Gh{Dl}}}Nd}{{j{b{l}}{b{Mj}}}{{Of{c}}}Nd}````{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}`{{{b{{Jh{Eh}}}}}Al}`{{{b{d{Of{c}}}}{b{Aj}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{B`}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{Bd}}}hNd}{{{b{d{Of{c}}}}{b{Bf}}}hNd}{{{b{d{Of{c}}}}{b{Bl}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{Bn}}}hNd}{{{b{d{Of{c}}}}{b{C`}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{Cb}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{Cd}}}hNd}{{{b{d{Of{c}}}}{b{Cf}}}hNd}{{{b{d{Of{c}}}}{b{Ml}}}hNd}{{{b{d{Of{c}}}}{b{Ch}}}hNd}{{{b{d{Of{c}}}}{b{Cj}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{Cl}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{Cn}}}hNd}{{{b{d{Of{c}}}}{b{D`}}}hNd}{{{b{d{Of{c}}}}{b{Mn}}}hNd}{{{b{d{Of{c}}}}{b{Db}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{Dd}}}hNd}{{{b{d{Of{c}}}}{b{F`}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{Df}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{Dh}}}hNd}{{{b{d{Of{c}}}}{b{Ab}}}hNd}{{{b{d{Of{c}}}}{b{Lb}}}hNd}{{{b{d{Of{c}}}}{b{Dn}}}hNd}{{{b{d{Of{c}}}}{b{E`}}}hNd}{{{b{d{Of{c}}}}{b{Dl}}}hNd}{{{b{d{Of{c}}}}{b{Eb}}{b{e}}}gNd{}{}}1{{{b{d{Of{c}}}}{b{N`}}}hNd}{{{b{d{Of{c}}}}{b{Ed}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{Ef}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{El}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{En}}{b{e}}}gNd{}{}}{{}c{}}`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}`{f{{b{c}}}{}}{f{{b{dc}}}{}}{fh}{cc{}}````{{}f}{{{b{dA@b}}A@d}h}8````{{{b{A@b}}}Il}{{}A@b}`{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}`=","D":"CCl","p":[[1,"reference"],[0,"mut"],[1,"usize"],[1,"unit"],[5,"SymbolTable",271],[5,"TypeTable",452],[8,"StructGraph",171],[8,"CallGraph",171],[5,"Program",1118],[5,"CodeGenerator",17],[6,"Result",1119],[5,"TypeId",1120],[6,"AccessExpression",1121],[5,"String",1122],[1,"tuple"],[5,"ArrayExpression",1123],[5,"ArrayAccess",1124],[5,"AssertStatement",1125],[5,"AssignStatement",1126],[5,"AssociatedConstant",1127],[5,"AssociatedFunction",1128],[5,"BinaryExpression",1129],[5,"Block",1130],[5,"CallExpression",1131],[5,"CastExpression",1132],[5,"ConditionalStatement",1133],[5,"ConsoleStatement",1134],[5,"DefinitionStatement",1135],[5,"ErrExpression",1136],[6,"Expression",1137],[5,"ExpressionStatement",1138],[5,"Function",1139],[5,"Identifier",1140],[5,"IterationStatement",1141],[5,"LocatorExpression",1142],[5,"Mapping",1143],[5,"MemberAccess",1144],[5,"Composite",1145],[5,"ReturnStatement",1146],[6,"Statement",1147],[5,"StructExpression",1148],[5,"TernaryExpression",1149],[5,"TupleExpression",1150],[6,"Type",1151],[6,"Mode",1152],[5,"UnaryExpression",1153],[5,"UnitExpression",1154],[6,"Literal",1155],[5,"Assigner",94],[5,"AssignerInner",94],[5,"Formatter",1156],[8,"Result",1156],[8,"NodeID",1157],[5,"Symbol",1158],[10,"Display",1156],[5,"ConstantPropagationTable",138],[1,"bool"],[10,"Deserializer",1159],[8,"Result",1160],[6,"Option",1161],[5,"RefCell",1162],[10,"Serializer",1163],[6,"Value",1164],[1,"str"],[5,"DiGraph",171],[10,"Node",171],[5,"IndexSet",1165],[10,"PartialEq",1166],[6,"DiGraphError",171],[10,"Debug",1156],[5,"RenameTable",223],[17,"Item"],[10,"Iterator",1167],[5,"Box",1168],[5,"Replacer",255],[17,"Output"],[10,"Fn",1169],[5,"Location",1170],[5,"Span",1171],[5,"PathBuf",1172],[5,"Vec",1173],[5,"VariableSymbol",354],[5,"FunctionSymbol",325],[1,"slice"],[6,"VariableType",354],[5,"SmolStr",1174],[5,"TreeNode",418],[10,"Clone",1175],[10,"Node",418],[5,"NodeBuilder",1176],[5,"DeadCodeEliminator",478],[5,"Destructurer",514],[5,"TupleAccess",1177],[6,"Guard",548],[6,"ReturnGuard",548],[5,"Flattener",548],[5,"ProgramScope",1178],[5,"ArrayType",1179],[5,"TupleType",1180],[5,"AssignmentRenamer",639],[5,"FunctionInliner",665],[6,"Clusivity",702],[5,"RangeIterator",702],[10,"LoopBound",702],[5,"ProgressBar",1181],[5,"ProgressBarIter",1182],[5,"Unroller",738],[6,"LoopUnrollerError",1183],[5,"Handler",1184],[5,"ConstDeclaration",1185],[5,"FunctionStub",1186],[5,"Stub",1187],[5,"StaticAnalyzer",787],[10,"Network",1188],[6,"StaticAnalyzerError",1189],[6,"StaticAnalyzerWarning",1190],[5,"AwaitChecker",819],[8,"ConditionalTreeNode",418],[6,"Position",842],[5,"FutureChecker",842],[5,"StaticSingleAssigner",895],[5,"SymbolTableCreator",949],[5,"TypeChecker",983],[5,"MappingType",1191],[6,"CoreFunction",1192],[6,"TypeCheckerError",1193],[6,"TypeCheckerWarning",1194],[6,"CoreConstant",1195],[5,"ScopeState",1091],[6,"Variant",1196],[8,"ImportGraph",171],[15,"Constructed",632],[10,"Pass",777]],"r":[[85,418]],"b":[[388,"impl-Debug-for-VariableType"],[389,"impl-Display-for-VariableType"],[390,"impl-Display-for-VariableSymbol"],[391,"impl-Debug-for-VariableSymbol"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAMACjQABAAEABwACAAsABwAUAAEAGQADACAAAAApAAIALwAvAGEACQBsAAkAeAABAH8ABwCJAAcAlAAFAJsAAAClAAYAtAAEALoABQDEAAYAzQABANgABwDhAA4A8gAAAPoAAwD/AAAAAQEEAAcBAAAJAQcAEgEBABYBCgAkAQAAJgEAADIBAAA4AQAAOgEBAD8BBABFAQAASAEJAFMBAABXAQAAWwEFAGIBAwBoAQkAcwEVAIsBAQCPAQEAkgELAJ8BAwCmAQQAsAECALUBBQC8AQAAwAEEAMYBCQDSAQAA1gEPAOcBAADtAQAA9QEAAPgBAAD6AQIA/gEFAAUCBQAMAgAADwIAABICBQAbAgEAHgIAACACBAAnAgAAKgIAAC4CCwA9AgkATAIDAFQCAABbAgEAXgIAAGYCDQB2AgIAewIEAIECAgCFAgIAiQIAAIsCAACVAgUAnAIBAJ8CAwCkAgAArAIAALECAACzAgAAtQICALkCBQDAAgEAxAIMANMCAQDXAg4A6QIDAPICAAD1AgAA9wIJAAMDAgAJAwIADgMGABgDAQAbAwMAIwMAACcDAAApAwIALgMIADgDAgA/AwAARwMcAGcDAgBsAxQAggMBAI4DAACTAwAAlgMBAJ4DBACkAwAArQMAAK8DAgC0AwEAtwMDALwDAAC/AwAAwgMAAMYDHAD8AwEA/wMAAAYEAwASBAAAFwQAABsEAgAfBAAAIQQlAEgEAgBQBAAAWgQCAF4EAAA="}],["leo_retriever",{"t":"CCEFNNNNNNNNNONNNNONOCNNNNNNNONONNCNOCCNONOCNNONONONNNNNFNNNNNNNNNNNNNNNNNNNNONONONNONNNNNNNPPGPNNNNNNNNNNNNNNNNNNNNNNNNNNFNNONNNONNNNNNNNNONOONONNNNNNNFNNNNNNNONNNONNNNNNNONNONNNNNNNNONNPPGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNONNNOHNNNNONONNOONHHNNNHNN","n":["program_context","retriever","Location","ProgramContext","add_checksum","add_compiled_file_path","add_dependencies","add_full_path","add_post_order","add_stub","borrow","borrow_mut","checksum","","clone","clone_into","clone_to_uninit","compiled_file_path","","dependencies","","dependency","deref","deref_mut","drop","fmt","from","","full_name","","full_path","","init","into","location","","","lock_file_entry","manifest","name","","network","","network_name","new_main","path","","post_order","","stub","","to_owned","try_from","try_into","type_id","vzip","Dependency","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","from","hash","init","into","location","","name","","network","","new","path","","serialize","take_from_value","to_owned","try_from","try_into","type_id","vzip","Git","Local","Location","Network","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","from","hash","init","into","serialize","take_from_value","to_owned","try_from","try_into","type_id","vzip","LockFileEntry","borrow","borrow_mut","checksum","clone","clone_into","clone_to_uninit","dependencies","deref","deref_mut","deserialize","drop","fmt","from","","init","into","location","name","","network","path","","serialize","take_from_value","to_owned","try_from","try_into","type_id","vzip","Manifest","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","dependencies","","deref","deref_mut","description","","deserialize","drop","fmt","from","init","into","license","","new","program","","read_from_dir","serialize","take_from_value","to_owned","try_from","try_into","type_id","version","","vzip","write_to_dir","CanaryV0","MainnetV0","NetworkName","TestnetV0","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","hash","id","init","into","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","","","try_into","type_id","vzip","Retriever","borrow","borrow_mut","contexts","deref","deref_mut","drop","endpoint","fetch_from_network","from","get_context","init","into","name","new","phantom","prepare_local","process_local","project_path","registry_path","retrieve","retrieve_from_network","retrieve_local","try_from","try_into","type_id","verify_valid_program","vzip","write_lock_file"],"q":[[0,"leo_retriever"],[2,"leo_retriever::program_context"],[56,"leo_retriever::program_context::dependency"],[92,"leo_retriever::program_context::location"],[122,"leo_retriever::program_context::lock_file_entry"],[152,"leo_retriever::program_context::manifest"],[187,"leo_retriever::program_context::network_name"],[223,"leo_retriever::retriever"],[252,"std::path"],[253,"leo_span::symbol"],[254,"alloc::vec"],[255,"indexmap::set"],[256,"leo_ast::stub"],[257,"alloc::string"],[258,"core::fmt"],[259,"core::result"],[260,"core::any"],[261,"serde::de"],[262,"core::hash"],[263,"core::option"],[264,"serde::ser"],[265,"serde_json::value"],[266,"leo_errors::errors::package::package_errors"],[267,"smol_str"],[268,"leo_errors::errors"],[269,"leo_errors::errors::utils::util_errors"],[270,"snarkvm_console_network"],[271,"indexmap::map"]],"i":"````d0000000000000000`000000000000`00``0000`000000000000`B`0000000000000000000000000000000000Bb0`000000000000000000000000000`Cf0000000000000000000000000000`Ch000000000000000000000000000000000Bd0`000000000000000000000000000000000`Dd000000`000000000000``000`00","f":"````{{{f{bd}}}h}{{{f{bd}}{f{j}}}h}{{{f{bd}}{n{l}}}h}1{{{f{bd}}{A`{l}}}h}{{{f{bd}}Ab}Ad}{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{d}}}{{f{Af}}}}`{{{f{d}}}d}{{f{f{bc}}}h{}}{fh}{{{f{d}}}{{f{Ah}}}}`{{{f{d}}}{{n{l}}}}``{Aj{{f{c}}}{}}{Aj{{f{bc}}}{}}{Ajh}{{{f{d}}{f{bAl}}}An}{B`d}{cc{}};`7`{{}Aj}{{}c{}}`{{{f{d}}}{{f{Bb}}}}```{{{f{d}}}{{f{l}}}}`{{{f{d}}}{{f{Bd}}}}``{{lAh{n{B`}}}d}=`{{{f{d}}}{{f{{A`{l}}}}}}`{{{f{d}}}{{f{Ab}}}}`{fc{}}{c{{Bf{e}}}{}{}}{{}{{Bf{c}}}{}}{fBh}:`{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{B`}}}B`}{{f{f{bc}}}h{}}{fh}{Aj{{f{c}}}{}}{Aj{{f{bc}}}{}}{c{{Bf{B`}}}Bj}{Ajh}{{{f{B`}}{f{B`}}}Ad}{{f{f{c}}}Ad{}}000{{{f{B`}}{f{bAl}}}An}{cc{}}{{{f{B`}}{f{bc}}}hBl}{{}Aj}{{}c{}}{{{f{B`}}}{{f{Bb}}}}`{{{f{B`}}}{{f{Af}}}}`{{{f{B`}}}{{f{{Bn{Bd}}}}}}`{{AfBb{Bn{Bd}}{Bn{Ah}}}B`}{{{f{B`}}}{{f{{Bn{Ah}}}}}}`{{{f{B`}}c}BfC`}{{{f{bCb}}{f{Cd}}}{{Bf{c}}}{}}{fc{}}{c{{Bf{e}}}{}{}}{{}{{Bf{c}}}{}}{fBh};````{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{Bb}}}Bb}{{f{f{bc}}}h{}}{fh}{Aj{{f{c}}}{}}{Aj{{f{bc}}}{}}{c{{Bf{Bb}}}Bj}{Ajh}{{{f{Bb}}{f{Bb}}}Ad}{{f{f{c}}}Ad{}}000{{{f{Bb}}{f{bAl}}}An}{cc{}}{{{f{Bb}}{f{bc}}}hBl}{{}Aj}{{}c{}}{{{f{Bb}}c}BfC`}{{{f{bCb}}{f{Cd}}}{{Bf{c}}}{}}{fc{}}{c{{Bf{e}}}{}{}}{{}{{Bf{c}}}{}}{fBh}6`{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}`{{{f{Cf}}}Cf}{{f{f{bc}}}h{}}{fh}`{Aj{{f{c}}}{}}{Aj{{f{bc}}}{}}{c{{Bf{Cf}}}Bj}{Ajh}{{{f{Cf}}{f{bAl}}}An}{cc{}}{{{f{d}}}Cf}{{}Aj}{{}c{}}`{{{f{Cf}}}{{f{Cd}}}}``{{{f{Cf}}}{{Bn{{f{Ah}}}}}}`{{{f{Cf}}c}BfC`}{{{f{bCb}}{f{Cd}}}{{Bf{c}}}{}}{fc{}}{c{{Bf{e}}}{}{}}{{}{{Bf{c}}}{}}{fBh}8`{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{Ch}}}Ch}{{f{f{bc}}}h{}}{fh}{{{f{Cd}}}Ch}{{{f{Ch}}}{{f{{Bn{{n{B`}}}}}}}}`{Aj{{f{c}}}{}}{Aj{{f{bc}}}{}}{{{f{Ch}}}{{f{Af}}}}`{c{{Bf{Ch}}}Bj}{Ajh}{{{f{Ch}}{f{bAl}}}An}{cc{}}{{}Aj}{{}c{}}6`{{{f{Cd}}{f{Cd}}{f{Cd}}{f{Cd}}{Bn{{n{B`}}}}}Ch}7`{{{f{j}}}{{Bf{ChCj}}}}{{{f{Ch}}c}BfC`}{{{f{bCb}}{f{Cd}}}{{Bf{c}}}{}}{fc{}}{c{{Bf{e}}}{}{}}{{}{{Bf{c}}}{}}{fBh}>`8{{{f{Ch}}{f{j}}}{{Bf{hCj}}}}````{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{Bd}}}Bd}{{f{f{bc}}}h{}}{fh}{Aj{{f{c}}}{}}{Aj{{f{bc}}}{}}{c{{Bf{Bd}}}Bj}{Ajh}{{{f{Bd}}{f{Bd}}}Ad}{{f{f{c}}}Ad{}}000{{{f{Bd}}{f{bAl}}}An}0{cc{}}{{{f{Bd}}{f{bc}}}hBl}{{{f{Bd}}}Cl}{{}Aj}{{}c{}}{{{f{Bd}}c}BfC`}{{{f{bCb}}{f{Cd}}}{{Bf{c}}}{}}{fc{}}{fCn}{fAf}{c{{Bf{e}}}{}{}}{Af{{Bf{BdD`}}}}{{{f{Cd}}}{{Bf{BdD`}}}}{{}{{Bf{c}}}{}}{fBh}:`{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}`{Aj{{f{c}}}{}}{Aj{{f{bc}}}{}}{Ajh}`{{{f{Cd}}}{{Bf{AfDb}}}}{cc{}}{{{f{{Dd{c}}}}{f{l}}}{{f{d}}}Df}{{}Aj}{{}c{}}`{{l{f{Ah}}{f{j}}Af}{{Bf{{Dd{c}}Db}}}Df}`{{{f{b{Dd{c}}}}l}{{Bf{{Dj{Ah{Dh{lAb}}}}Db}}}Df}{{{f{b{Dd{c}}}}lAd}{{Bf{hDb}}}Df}``{{{f{b{Dd{c}}}}}{{Bf{{n{l}}Db}}}Df}{{{f{j}}{f{j}}{f{Af}}{f{Af}}}{{Bf{{Dj{Ab{n{B`}}}}Db}}}}{{{f{Af}}{f{Ah}}}{{Bf{{n{B`}}Db}}}}{c{{Bf{e}}}{}{}}{{}{{Bf{c}}}{}}{fBh}{{{f{Cd}}{f{Cd}}}{{Bf{hDb}}}}:{{{f{{Dd{c}}}}{f{l}}}{{Bf{hDb}}}Df}","D":"Al","p":[[0,"mut"],[5,"ProgramContext",2],[1,"reference"],[1,"unit"],[5,"Path",252],[5,"Symbol",253],[5,"Vec",254],[5,"IndexSet",255],[5,"Stub",256],[1,"bool"],[5,"String",257],[5,"PathBuf",252],[1,"usize"],[5,"Formatter",258],[8,"Result",258],[5,"Dependency",56],[6,"Location",92],[6,"NetworkName",187],[6,"Result",259],[5,"TypeId",260],[10,"Deserializer",261],[10,"Hasher",262],[6,"Option",263],[10,"Serializer",264],[6,"Value",265],[1,"str"],[5,"LockFileEntry",122],[5,"Manifest",152],[6,"PackageError",266],[1,"u16"],[5,"SmolStr",267],[6,"LeoError",268],[6,"UtilError",269],[5,"Retriever",223],[10,"Network",270],[5,"IndexMap",271],[1,"tuple"]],"r":[[2,92]],"b":[[205,"impl-Debug-for-NetworkName"],[206,"impl-Display-for-NetworkName"],[218,"impl-TryFrom%3CString%3E-for-NetworkName"],[219,"impl-TryFrom%3C%26str%3E-for-NetworkName"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAO4ADwAAABsAHQAEACMAJQBKAAEATQAiAHEAAQB0ABMAiQABAIwAHACqAAAArAAjANEAAgDVABMA6gABAO0ADwA="}],["leo_span",{"t":"EECCCECPGFFPFFFFHNNNNNNNNNNNNNNNONNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNHONOOONNNOONNHHOHOOONNOONNNNNNNNNNNNNNNNNNNNNNNNNOFFKFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNMNNNNOQNNNNNNNONNNNNNNNNNNMNNMNNNNNNNNNNNFNNNNHNNNNNNHNNNNFGFPSJFPFNNNNNNNNNNNNNNNNNNQHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNOOQCOQNNNNNNNNNNNNNNNNNHSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS","n":["Span","Symbol","source_map","span","span_json","sym","symbol","Custom","FileName","LineCol","MultiByteChar","Real","SourceFile","SourceMap","SourceMapInner","SpanLocation","analyze_source_file","borrow","","","","","","","borrow_mut","","","","","","","bytepos_to_file_charpos","bytes","clone","","clone_into","","clone_to_uninit","","col","col_start","col_stop","contents_of_span","","default","","deref","","","","","","","deref_mut","","","","","","","drop","","","","","","","dummy","end_pos","eq","equivalent","","","find_line_col","find_source_file","find_source_file_index","fmt","","from","","","","","","","init","","","","","","","inner","into","","","","","","","is_not_test_framework","line","line_contents_of_span","line_start","line_stop","lines","load_file","lookup_file_pos","lookup_line","multibyte_chars","name","new","new_source","normalize_newlines","normalize_src","pos","remove_bom","source_file","","source_files","span_to_location","span_to_string","src","start_pos","to_owned","","to_string","try_allocate_address_space","try_from","","","","","","","try_into","","","","","","","type_id","","","","","","","used_address_space","BytePos","CharPos","Pos","Span","add","","","","borrow","","","borrow_mut","","","clone","","","clone_into","","","clone_to_uninit","","","cmp","","compare","","default","","deref","","","deref_mut","","","deserialize","","drop","","","dummy","eq","","","equivalent","","","","","","","","","fmt","","","","from","","","from_u32","","","from_usize","","","hash","","hi","impl_pos","init","","","into","","","is_dummy","lo","new","partial_cmp","","serialize","","sub","","to_owned","","","to_string","to_u32","","","to_usize","","","try_from","","","try_into","","","type_id","","","SpanMapVisitor","borrow","borrow_mut","deref","deref_mut","deserialize","drop","expecting","fmt","from","init","into","serialize","try_from","try_into","type_id","visit_map","InnerInterner","InternedStr","Interner","Owned","PRE_DEFINED","SESSION_GLOBALS","SessionGlobals","Static","Symbol","as_str","as_u32","borrow","","","","","","borrow_mut","","","","","clone","clone_into","clone_to_uninit","cmp","compare","consts","create_session_if_not_set_then","default","deref","","","","","","deref_mut","","","","","deserialize","drop","","","","","eq","","equivalent","","","","","","fmt","","from","","","","","get","hash","","init","","","","","inner","intern","","into","","","","","new","partial_cmp","prefill","prefilled","serde_from_symbol","serde_to_symbol","serialize","set","source_map","strings","sym","symbol_interner","symbols","to_owned","to_string","try_from","","","","","try_into","","","","","type_id","","","","","with_session_globals","As","Await","BHP1024","BHP256","BHP512","BHP768","ChaCha","Const","Else","False","Fn","For","Future","GEN","If","In","Keccak256","Keccak384","Keccak512","Let","Mapping","Mod","Mut","Pedersen128","Pedersen64","Poseidon2","Poseidon4","Poseidon8","Return","SHA3_256","SHA3_384","SHA3_512","SelfLower","SelfUpper","Star","Struct","True","Type","_nonce","abs","abs_wrapped","add","add_wrapped","address","aleo","and","assert","assert_eq","assert_neq","block","bool","caller","commit_to_address","commit_to_field","commit_to_group","console","constant","contains","decrement","div","div_wrapped","double","eq","field","function","get","get_or_use","group","gt","gte","hash_to_address","hash_to_field","hash_to_group","hash_to_i128","hash_to_i16","hash_to_i32","hash_to_i64","hash_to_i8","hash_to_scalar","hash_to_u128","hash_to_u16","hash_to_u32","hash_to_u64","hash_to_u8","height","i128","i16","i32","i64","i8","id","import","increment","inline","input","inv","leo","lt","lte","main","mapping","mul","mul_wrapped","nand","neg","neq","network","nor","not","or","owner","pow","pow_wrapped","private","program","public","rand_address","rand_bool","rand_field","rand_group","rand_i128","rand_i16","rand_i32","rand_i64","rand_i8","rand_scalar","rand_u128","rand_u16","rand_u32","rand_u64","rand_u8","record","rem","rem_wrapped","remove","scalar","set","shl","shl_wrapped","shr","shr_wrapped","signature","signer","square","square_root","string","stub","sub","sub_wrapped","to_x_coordinate","to_y_coordinate","transition","u128","u16","u32","u64","u8","verify","xor"],"q":[[0,"leo_span"],[7,"leo_span::source_map"],[150,"leo_span::span"],[254,"leo_span::span_json"],[271,"leo_span::symbol"],[380,"leo_span::symbol::sym"],[539,"alloc::vec"],[540,"alloc::string"],[541,"core::option"],[542,"alloc::rc"],[543,"core::fmt"],[544,"std::path"],[545,"std::io::error"],[546,"core::result"],[547,"core::any"],[548,"core::cmp"],[549,"serde::de"],[550,"core::hash"],[551,"serde::ser"],[552,"core::ops::function"],[553,"core::num::nonzero"]],"i":"```````Ad```0`````A`BdBhAlB`5j5432160506060603445221543216054321605432160450000222605432160543216025432160`324452555552``0`431225560615432160543216054321601````Ah0fAb2102102102102101010212102102121022102221110002210210Cn21021323`3213213332132213213021021321321321`Dd000`000000`0000```Eb```0`Dj0DlEjEd3442103433333``2210344210343210343433344433210340342103400321034330033312``2`33210342103421034````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````","f":"````````````````{{{d{b}}f}{{l{{h{f}}{h{j}}}}}}{d{{d{c}}}{}}000000{{{d{n}}}{{d{nc}}}{}}000000{{{d{A`}}f}Ab}`{{{d{Ad}}}Ad}{{{d{j}}}j}{{d{d{nc}}}Af{}}0{dAf}0```{{{d{A`}}Ah}Aj}{{{d{Al}}Ah}{{An{Aj}}}}{{}Al}{{}B`}{Bb{{d{c}}}{}}000000{Bb{{d{nc}}}{}}000000{BbAf}000000{{}Bd}`{{{d{j}}{d{j}}}Bf}{{d{d{c}}}Bf{}}00{{{d{Al}}f}{{An{Bh}}}}{{{d{Al}}f}{{An{{Bj{A`}}}}}}{{{d{Al}}f}{{An{Bb}}}}{{{d{Ad}}{d{nBl}}}Bn}{{{d{j}}{d{nBl}}}Bn}{cc{}}000000{{}Bb}000000`{{}c{}}000000{{}Bf}`{{{d{Al}}Ah}{{An{Aj}}}}```{{{d{Al}}{d{C`}}}{{Cb{{Bj{A`}}}}}}{{{d{A`}}f}{{l{BbAb}}}}{{{d{A`}}f}{{An{Bb}}}}``{{AdAjf}A`}{{{d{Al}}{d{b}}Ad}{{Bj{A`}}}}{{{d{nAj}}}Af}0`0```{{{d{Al}}Ah}{{An{Bd}}}}{{{d{Al}}Ah}Aj}``{dc{}}0{dAj}{{{d{nB`}}Cd}{{An{f}}}}{c{{Cf{e}}}{}{}}000000{{}{{Cf{c}}}{}}000000{dCh}000000`````{{AhAh}Ah}{{{d{Ah}}{d{Ah}}}Ah}{{ff}f}{{AbAb}Ab}{d{{d{c}}}{}}00{{{d{n}}}{{d{nc}}}{}}00{{{d{Ah}}}Ah}{{{d{f}}}f}{{{d{Ab}}}Ab}{{d{d{nc}}}Af{}}00{dAf}00{{{d{f}}{d{f}}}Cj}{{{d{Ab}}{d{Ab}}}Cj}{{d{d{c}}}Cj{}}0{{}Ah}{{}f}{Bb{{d{c}}}{}}00{Bb{{d{nc}}}{}}00{c{{Cf{Ah}}}Cl}{c{{Cf{f}}}Cl}{BbAf}006{{{d{Ah}}{d{Ah}}}Bf}{{{d{f}}{d{f}}}Bf}{{{d{Ab}}{d{Ab}}}Bf}{{d{d{c}}}Bf{}}00000000{{{d{Ah}}{d{nBl}}}Bn}0{{{d{f}}{d{nBl}}}Bn}{{{d{Ab}}{d{nBl}}}Bn}{cc{}}00{CdCn}{Cdf}{CdAb}{BbCn}{Bbf}{BbAb}{{{d{Ah}}{d{nc}}}AfD`}{{{d{f}}{d{nc}}}AfD`}``{{}Bb}00{{}c{}}00{{{d{Ah}}}Bf}`{{ff}Ah}{{{d{f}}{d{f}}}{{An{Cj}}}}{{{d{Ab}}{d{Ab}}}{{An{Cj}}}}{{{d{Ah}}c}CfDb}{{{d{f}}c}CfDb}{{ff}f}{{AbAb}Ab}{dc{}}00{dAj}{{{d{Cn}}}Cd}{{{d{f}}}Cd}{{{d{Ab}}}Cd}{{{d{Cn}}}Bb}{{{d{f}}}Bb}{{{d{Ab}}}Bb}{c{{Cf{e}}}{}{}}00{{}{{Cf{c}}}{}}00{dCh}00`{d{{d{c}}}{}}{{{d{n}}}{{d{nc}}}{}}{Bb{{d{c}}}{}}{Bb{{d{nc}}}{}}{c{{Cf{Ah}}}Cl}{BbAf}{{{d{Dd}}{d{nBl}}}Bn}{{d{d{nBl}}}{{Cf{AfDf}}}}{cc{}}{{}Bb}{{}c{}}{{{d{Ah}}c}CfDb}>=<{{Ddc}{{Cf{e}}}Dh{}}`````````{{Dj{d{Dl}}e}c{}{{E`{{d{b}}}{{Dn{c}}}}}}{DjCd}>>>>>{{{d{Eb}}}{{d{b}}}}>>>>>{{{d{Dj}}}Dj}{{d{d{nc}}}Af{}}{dAf}{{{d{Dj}}{d{Dj}}}Cj}{{d{d{c}}}Cj{}}`{ec{}{{E`{{d{Dl}}}{{Dn{c}}}}}}{{}Dl}{Bb{{d{c}}}{}}0000{{{d{Eb}}}{{d{c}}}{}}{Bb{{d{nc}}}{}}0000{c{{Cf{Dj}}}Cl}{BbAf}0000{{{d{Dj}}{d{Dj}}}Bf}{{{d{Eb}}{d{Eb}}}Bf}{{d{d{c}}}Bf{}}00000{{{d{Dj}}{d{nBl}}}Bn}0{cc{}}0000{{{d{Ed}}Dje}c{}{{E`{{d{b}}}{{Dn{c}}}}}}{{{d{Dj}}{d{nc}}}AfD`}{{{d{Eb}}{d{nc}}}AfD`}{{}Bb}0000`{{{d{Ed}}{d{b}}}Dj}{{{d{b}}}Dj}{{}c{}}0000{CdDj}{{{d{Dj}}{d{Dj}}}{{An{Cj}}}}{{{d{{Ef{{d{b}}}}}}}Ed}{{}Ed}{{{d{Eh}}c}CfDb}{c{{Cf{Eh}}}Cl}{{{d{Dj}}c}CfDb}``````{dc{}}{dAj}{c{{Cf{e}}}{}{}}0000{{}{{Cf{c}}}{}}0000{dCh}0000{ec{}{{E`{{d{Dl}}}{{Dn{c}}}}}}```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````","D":"Nj","p":[[1,"str"],[1,"reference"],[5,"BytePos",150],[5,"Vec",539],[5,"MultiByteChar",7],[1,"tuple"],[0,"mut"],[5,"SourceFile",7],[5,"CharPos",150],[6,"FileName",7],[1,"unit"],[5,"Span",150],[5,"String",540],[5,"SourceMap",7],[6,"Option",541],[5,"SourceMapInner",7],[1,"usize"],[5,"SpanLocation",7],[1,"bool"],[5,"LineCol",7],[5,"Rc",542],[5,"Formatter",543],[8,"Result",543],[5,"Path",544],[8,"Result",545],[1,"u32"],[6,"Result",546],[5,"TypeId",547],[6,"Ordering",548],[10,"Deserializer",549],[10,"Pos",150],[10,"Hasher",550],[10,"Serializer",551],[5,"SpanMapVisitor",254],[5,"Error",543],[10,"MapAccess",549],[5,"Symbol",271],[5,"SessionGlobals",271],[17,"Output"],[10,"FnOnce",552],[6,"InternedStr",271],[5,"Interner",271],[1,"slice"],[8,"NonZeroU32",553],[5,"InnerInterner",271]],"r":[[0,150],[1,271],[5,271]],"b":[[154,"impl-Add-for-Span"],[155,"impl-Add-for-%26Span"],[203,"impl-Debug-for-Span"],[204,"impl-Display-for-Span"],[326,"impl-Display-for-Symbol"],[327,"impl-Debug-for-Symbol"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAKYBHwAAAAIABgABABIADQAiAAUAKQABAC0AFgBGAAMATQABAFYABgBoAAEAdgAAAH0AAgCBABQAnQAhAMAADwDTAAcA3QACAOYAGAAAAQMABQECAAkBAAAMAQMAFAEBABsBDwAtARsATwEHAF8BAABiAQIAaAEAAGsBEAB9AZ4A"}],["leo_test_framework",{"t":"CCCCCPPPPPGFPPNNNNNNNNNNHONNNNNNNNONHNNNNNNOOOOOOOOOOOOOOOOHHHFNNNNNNNNNONNNOONNNNNPPKSGKFFPNNNNNNNNNOONNNNNNNNNNNNNOONNNNHNNNNNNHNNONMOONMMHHHONNNNNNNNNNPPPFGNNNNNNNNNNNNNNNNNNNNNNOOHNNNNNNNNONNNNNNNNNN","n":["error","fetch","output","runner","test","FailedAndShouldntHave","MismatchedTestExpectationLength","MissingTestConfig","Panicked","PassedAndShouldntHave","TestError","TestFailure","UnexpectedError","UnexpectedOutput","borrow","","borrow_mut","","deref","","deref_mut","","drop","","emit_errors","errors","fmt","","from","","init","","into","","path","to_string","toml_to_string","try_from","","try_into","","type_id","","error","","expected","","index","","","","","output","","test","","","","","find_tests","split_tests_one_line","split_tests_two_line","TestExpectation","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","expectation","from","init","into","namespace","outputs","serialize","to_owned","try_from","try_into","type_id","ContinuousLines","Line","Namespace","PROGRAM_DELIMITER","ParseType","Runner","Test","TestCases","Whole","borrow","","","borrow_mut","","","clone","clone_into","clone_to_uninit","config","content","deref","","","deref_mut","","","drop","","","eq","equivalent","","","expectation_category","fail_categories","fmt","from","","","get_benches","init","","","into","","","is_env_var_set","load_expectations","load_tests","name","new","parse_type","path","path_prefix","process_tests","resolve_namespace","run_test","run_tests","set_hook","take_hook","tests","to_owned","try_from","","","try_into","","","type_id","","","Fail","Pass","Skip","TestConfig","TestExpectationMode","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","deref","","deref_mut","","deserialize","","drop","","eq","equivalent","","","expectation","extra","extract_test_config","fmt","","from","","init","","into","","namespace","serialize","","to_owned","","try_from","","try_into","","type_id",""],"q":[[0,"leo_test_framework"],[5,"leo_test_framework::error"],[43,"leo_test_framework::error::TestError"],[59,"leo_test_framework::fetch"],[62,"leo_test_framework::output"],[83,"leo_test_framework::runner"],[154,"leo_test_framework::test"],[203,"toml::value"],[204,"alloc::string"],[205,"core::result"],[206,"core::option"],[207,"core::fmt"],[208,"core::any"],[209,"std::path"],[210,"core::iter::traits::iterator"],[211,"alloc::vec"],[212,"serde::de"],[213,"serde::ser"],[214,"core::ops::function"],[215,"alloc::boxed"],[216,"std::sync::mutex"],[217,"alloc::sync"]],"i":"`````Af0000``00Dl101010101`01101010101`010101DnE`EbEd31Ef312142031````Bj0000000000000000000C`0``````0DdCd2102222111021021022222002102`102102`0010Cl211D`1```24324324324Ab00``0Cf1010101010101010111100`1010101001010101010","f":"``````````````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{f{{b{c}}}{}}0{f{{b{dc}}}{}}0{fh}0{{{b{j}}{b{{A`{{A`{ln}}n}}}}{b{Ab}}{Ad{l}}f}{{Ad{Af}}}}`{{{b{Af}}{b{dAh}}}Aj}0{cc{}}0{{}f}0{{}c{}}0`{bn}{{{b{l}}}n}{c{{A`{e}}}{}{}}0{{}{{A`{c}}}{}}0{bAl}0````````````````{{{b{An}}}{{`{{Bf{}{{B`{{Bd{Bbn}}}}}}}}}}{{{b{j}}}{{Bh{{b{j}}}}}}{{{b{j}}}{{Bh{n}}}}`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Bj}}}Bj}{{b{b{dc}}}h{}}{bh}{f{{b{c}}}{}}{f{{b{dc}}}{}}{c{{A`{Bj}}}Bl}{fh}`{cc{}}{{}f}{{}c{}}``{{{b{Bj}}c}A`Bn}{bc{}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{bAl}`````````{b{{b{c}}}{}}00{{{b{d}}}{{b{dc}}}{}}00{{{b{C`}}}C`}{{b{b{dc}}}h{}}{bh}``{f{{b{c}}}{}}00{f{{b{dc}}}{}}00???{{{b{C`}}{b{C`}}}Cb}{{b{b{c}}}Cb{}}00``{{{b{C`}}{b{dAh}}}Aj}{cc{}}00{{}{{Bh{{Bd{nn}}}}}}{{}f}00{{}c{}}00{{{b{j}}}Cb}{{{b{Cd}}{b{An}}}{{Bd{Bb{Ad{Bj}}}}}}{{{b{dCd}}c}{{Bh{Cf}}}{{Cj{{b{Cf}}}{{Ch{Cb}}}}}}`{{{b{j}}c}{{Bd{Cd{Bh{Cf}}}}}{{Cj{{b{Cf}}}{{Ch{Cb}}}}}}{{{b{Cl}}}C`}``{{{b{dCd}}{Bh{Cf}}e}{{Bh{c}}}{}{{Cn{{b{dCd}}{Bd{{b{An}}{b{j}}{b{j}}Cf}}}{{Ch{c}}}}}}{{{b{D`}}{b{j}}}{{Ad{{Db{Cl}}}}}}{{{b{Cl}}Dd}{{A`{ln}}}}{{{b{c}}{b{j}}}hD`}{{}{{Dh{{Df{{Ad{n}}}}}}}}{{{A`{{A`{ln}}{Db{Dj}}}}{Dh{{Df{{Ad{n}}}}}}}{{A`{{A`{ln}}n}}}}`{bc{}}{c{{A`{e}}}{}{}}00{{}{{A`{c}}}{}}00{bAl}00`````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{Ab}}}Ab}{{{b{Cf}}}Cf}{{b{b{dc}}}h{}}0{bh}0{f{{b{c}}}{}}0{f{{b{dc}}}{}}0{c{{A`{Ab}}}Bl}{c{{A`{Cf}}}Bl}{fh}0{{{b{Ab}}{b{Ab}}}Cb}{{b{b{c}}}Cb{}}00``{{{b{j}}}{{Ad{Cf}}}}{{{b{Ab}}{b{dAh}}}Aj}{{{b{Cf}}{b{dAh}}}Aj}{cc{}}0{{}f}0{{}c{}}0`{{{b{Ab}}c}A`Bn}{{{b{Cf}}c}A`Bn}{bc{}}0{c{{A`{e}}}{}{}}0{{}{{A`{c}}}{}}0{bAl}0","D":"Bl","p":[[1,"reference"],[0,"mut"],[1,"usize"],[1,"unit"],[1,"str"],[6,"Value",203],[5,"String",204],[6,"Result",205],[6,"TestExpectationMode",154],[6,"Option",206],[6,"TestError",5],[5,"Formatter",207],[8,"Result",207],[5,"TypeId",208],[5,"Path",209],[17,"Item"],[5,"PathBuf",209],[1,"tuple"],[10,"Iterator",210],[5,"Vec",211],[5,"TestExpectation",62],[10,"Deserializer",212],[10,"Serializer",213],[6,"ParseType",83],[1,"bool"],[5,"TestCases",83],[5,"TestConfig",154],[17,"Output"],[10,"Fn",214],[10,"Namespace",83],[10,"FnMut",214],[10,"Runner",83],[5,"Box",215],[5,"Test",83],[5,"Mutex",216],[5,"Arc",217],[10,"Any",208],[5,"TestFailure",5],[15,"Panicked",43],[15,"FailedAndShouldntHave",43],[15,"UnexpectedOutput",43],[15,"UnexpectedError",43],[15,"PassedAndShouldntHave",43]],"r":[],"b":[[26,"impl-Debug-for-TestError"],[27,"impl-Display-for-TestError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAALUACwABABsAHwABACMAAQAmACMASwAAAE0AKgB8AAIAggAYAJ4AHAC9AAEAwQAKAA=="}]]')); +var searchIndex = new Map(JSON.parse('[["errcov",{"t":"H","n":["main"],"q":[[0,"errcov"]],"i":"`","f":"{{}b}","D":"`","p":[[1,"unit"]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAEAEAAAAAAAAQA="}],["leo",{"t":"HH","n":["main","set_panic_hook"],"q":[[0,"leo"]],"i":"``","f":"{{}b}0","D":"`","p":[[1,"unit"]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAIAEAAAAAAAAQACAA=="}],["leo_abnf",{"t":"PPPFGNNNNNNNNNNNNNNNNONNOHNOHNOONNNNNNNN","n":["Code","Definition","Free","Processor","Scope","append_str","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","enter_scope","fmt","","from","","grammar","into","","line","main","new","out","parse_abnf_node","process","rules","scope","to_owned","","try_from","","try_into","","type_id",""],"q":[[0,"leo_abnf"],[40,"core::fmt"],[41,"anyhow"],[42,"abnf::types"],[43,"alloc::vec"],[44,"alloc::string"],[45,"core::result"],[46,"core::any"]],"i":"l00``d1010101010010100100`00`00010101010","f":"`````{{{f{bd}}{f{h}}}j}{f{{f{c}}}{}}0{{{f{b}}}{{f{bc}}}{}}0{{{f{l}}}l}{{{f{d}}}d}{{f{f{bc}}}j{}}0{fj}0{{{f{bd}}l}j}{{{f{l}}{f{bn}}}A`}{{{f{d}}{f{bn}}}A`}{cc{}}0`{{}c{}}0`{{}{{Ab{j}}}}{{{f{h}}{Af{Ad}}}d}`{{{f{Ah}}{f{b{Af{Aj}}}}}j}{{{f{bd}}}j}``{fc{}}0{c{{Al{e}}}{}{}}0{{}{{Al{c}}}{}}0{fAn}0","D":"Ad","p":[[0,"mut"],[5,"Processor",0],[1,"reference"],[1,"str"],[1,"unit"],[6,"Scope",0],[5,"Formatter",40],[8,"Result",40],[8,"Result",41],[5,"Rule",42],[5,"Vec",43],[6,"Node",42],[5,"String",44],[6,"Result",45],[5,"TypeId",46]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAB4ABgAAAAMABwAJABIAAQAWAAAAGQADAB8ACQA="}],["leo_ast",{"t":"FCNNONNNNNCNNNNNNNNNCNNNNCCNNNCNHCCHQCCCNNNNNNNNCCNFFFFFOOCCCOOOOOOOOCOOOOOOOOOCOOFONNNNNNNNNNNNNNNNNNOONNNNNNONNNNNNNNFNNNNNNNNNNNNNNNNNNONNONNNNONNNNNNONNFONNNNNNNNNNNNNNNNNNONNONNNNONNNNNNNONFNNNNNNNNNNNNNNNNNNONONONNNNONNNNNNNNFNNNNNNNNNNNNNNNNNNOONNNNNNONNNNNNONNCCCCCCCFNNNNNNNNNNNNNNNNNNNNONNNONNNNNONNNNNNNNHHFNNNNNNNNNNNNNNNNNNNNONONNNNNNNKIMMMMFFNNNNNNNNNNNNNNNNNNNNNNNONNNNONNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNONFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPGPPPPPPFPPPFGPPPPFPFPPPPPFGPKPPPPPPGPPPPPPPPPPPPPPPPPPPPPPPPPPPFFPPPFPPPPFPFGPFPCOCCNNCCNNNONNNNOONNNNNCOONNNMONOOOOOOOOOOOOOONNOCCOOOOOOONNNNOOOOOOOOOOOCNCNNNNNCONCCNGPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNONNNNNNNNNONNNNNNONNNNNNNNPPPFGPPPPPPPPPPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNOOONNNNNONNNNNNNNNNNNNNNNFONNNNNNNNNNNNNNNNNONONNONNNNONNNNNNNNFNNNNNNNNNNNNNNONNNNONNNNNNONNNNNNONNFNNNNNNNNNNNNNNNNNNONNNNNNONNNNNNNNPPFPKPPGPPNNNNNNNNNNNNNNNNNNNNNNNNNMNNQNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNONNNONONNNNONNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNOOONNNNOONNNNNNNNOONNNNNNNNNNNNNNNNNFNNNNNONNNNNNNNNNNNNOOONNNNNNONNNNNNNNFNNNNNNNNNONNNNNNNNNONNNNNNONNNNNNNNPPPPPPPPPPFGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNOONNNNNONNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNONNNNNNONNNNNNNNFCOONNNNNCNNNNNNNNNNNNNNNOONCONCNNCOONNNNONNNNNNNCONFNNNNNNNNNNNNNNNNNNOONNNNNNONNNNNNNNPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPGPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNONONNNONNNNONNNNNNNONNPGPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNONNNONNNNONNNNNNNONNPPPPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCGPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNGFPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNONNNNNNNNNNNNNNOOFNNNNNNNNNNNNNNNNNNNOONNONNNNONNNNNNNONCCCKKKKRRRRRRRRKKKKMMMMMMMMMMMMNNMMMMMMMMMMMNMMMMMMRKKKNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNRKRKKNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNONNCCONONNNNNNNNFNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNFNNNNNONNNNNNNNNNNNNONNOONOONNNNNNNNPPPPPPPPPPGCCCNNNNNCCCCNNNNNNNNNNCNNNNNNCCNNNNNNNNNNNNPPPFGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNONNNNNNNNNNNNONNFNNNNNNNNNNNNNNNNNNONNONNNNONNNNNNNONFNNNNNNNNNNNNNNNNNNNONNNNNNOONNNNNNNNFNNNNNONNNNNNNNNNNNNONNONNNNONONNNNNNNCCPPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNONONNNNNNONNNNNNNNFNNNNNNNNNNNNNNNNNNONNONNNNONNNNNNONONPGFPNNNNNCONNNNNNNNNNNNNONNONNNNONNNNNNONONPGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNONNNNONNNNNNONNNNNNNNFONNNNNNNNNNNNNNNNNNOONNNNNNOOOOONNNNNNONONFNNNNNNNNNNNNNNONNNNONNNNNNONNNNNNNNFNNNNNNNNNNNNNNONNNNNNOONNOCONNNNNONNNNNNNNFNNNNNNNNNNNNNNNNNNOONNONNNNNONNNNNNONNFNNNNNONNNNNNNNNNNNNCOONNONOOONNNNNNNNFONNNNNNNNNNNNNNNNNNNNNNNOONONNNNOONNNNONNNNNNNONCCCCCCCCFNNNNNNNNNNNONNNNNNNNNNNNNONNNNNNNNNNGPNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNNONONONNNNNNNNNNPPPPPGPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNNOONNNNNNNNONFNNNNNNNNNNNNNNNNNNONNONNNNNNNNNFNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNPPPPPPPPPPPPPPPGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPPPPPPPPPPPPPPPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNQQNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Ast","access","as_ref","as_repr","ast","borrow","borrow_mut","clone","clone_into","clone_to_uninit","common","default","deref","deref_mut","drop","eq","equivalent","","","","expressions","fmt","from","from_json_file","from_json_string","functions","groups","init","into","into_repr","mapping","new","normalize_json_value","passes","program","remove_key_from_json","simple_node_impl","statement","struct","stub","to_json_file","to_json_file_without_keys","to_json_string","to_json_value","to_owned","try_from","try_into","type_id","types","value","vzip","ArrayAccess","AssociatedConstant","AssociatedFunction","MemberAccess","TupleAccess","arguments","array","array_access","associated_constant_access","associated_function_access","id","","","","","index","","inner","member_access","name","","","span","","","","","tuple","tuple_access","ty","variant","ArrayAccess","array","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","index","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","AssociatedConstant","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","init","into","name","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","ty","type_id","vzip","AssociatedFunction","arguments","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","init","into","name","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","variant","vzip","MemberAccess","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","init","inner","into","name","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","TupleAccess","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","index","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","tuple","type_id","vzip","identifier","imported_modules","location","node","node_builder","positive_number","static_string","Identifier","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","","hash","id","","init","into","matches","name","new","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","deserialize","serialize","Location","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","from","","hash","init","into","name","new","program","serialize","take_from_value","to_owned","try_from","try_into","type_id","vzip","Node","NodeID","id","set_id","set_span","span","NodeBuilder","NodeBuilderInner","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","default","deref","","deref_mut","","drop","","fmt","","from","","init","","inner","into","","new","","next","next_id","","to_owned","","try_from","","try_into","","type_id","","vzip","","NonNegativeNumber","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","","","hash","init","into","is_zero","serialize","string","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","value","","vzip","StaticString","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","init","into","new","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Abs","AbsWrapped","Access","AccessExpression","Add","AddWrapped","Address","And","Array","","ArrayExpression","AssociatedConstant","AssociatedFunction","Binary","BinaryExpression","BinaryOperation","BitwiseAnd","BitwiseOr","Boolean","Call","CallExpression","Cast","CastExpression","Div","DivWrapped","Double","Eq","Err","ErrExpression","Expression","Field","FromStrRadix","Group","Gt","Gte","Identifier","Integer","Inverse","Literal","","Locator","Lt","Lte","Member","Mod","Mul","MulWrapped","Nand","Negate","Neq","Nor","Not","Or","Pow","PowWrapped","Rem","RemWrapped","Scalar","Shl","ShlWrapped","Shr","ShrWrapped","Square","SquareRoot","String","Struct","StructExpression","StructVariableInitializer","Sub","SubWrapped","Ternary","TernaryExpression","ToXCoordinate","ToYCoordinate","Tuple","","TupleExpression","Unary","UnaryExpression","UnaryOperation","Unit","UnitExpression","Xor","access","arguments","array","binary","borrow","borrow_mut","call","cast","clone","clone_into","clone_to_uninit","condition","deref","deref_mut","deserialize","drop","elements","","eq","equivalent","","","","err","expression","","fmt","","from","from_str_by_radix","function","id","","","","","","","","","","","","identifier","if_false","if_true","init","into","left","literal","locator","members","name","op","","program","receiver","right","serialize","set_id","set_span","span","","","","","","","","","","","","struct_init","take_from_value","ternary","to_owned","to_smolstr","to_string","try_from","try_into","tuple","type_","type_id","unary","unit","vzip","AccessExpression","Array","AssociatedConstant","AssociatedFunction","Member","Tuple","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","init","into","serialize","set_id","set_span","span","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","ArrayExpression","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","elements","eq","equivalent","","","","fmt","","from","id","","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Add","AddWrapped","And","BinaryExpression","BinaryOperation","BitwiseAnd","BitwiseOr","Div","DivWrapped","Eq","Gt","Gte","Lt","Lte","Mod","Mul","MulWrapped","Nand","Neq","Nor","Or","Pow","PowWrapped","Rem","RemWrapped","Shl","ShlWrapped","Shr","ShrWrapped","Sub","SubWrapped","Xor","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","deref","","deref_mut","","deserialize","","drop","","eq","","equivalent","","","","","","","","fmt","","","","from","","from_symbol","id","","init","","into","","left","op","right","serialize","","set_id","set_span","span","","take_from_value","","to_owned","","to_smolstr","","to_string","","try_from","","try_into","","type_id","","vzip","","CallExpression","arguments","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","function","id","","init","into","program","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","CastExpression","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","expression","fmt","","from","id","","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_","type_id","vzip","ErrExpression","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Address","Boolean","DisplayDecimal","Field","FromStrRadix","Group","Integer","Literal","Scalar","String","borrow","","borrow_mut","","clone","clone_into","clone_to_uninit","deref","","deref_mut","","deserialize","display_decimal","drop","","eq","equivalent","","","","fmt","","","from","","from_str_by_radix","from_value","id","implement_from_str_radix","init","","into","","serialize","set_id","set_span","span","take_from_value","to_owned","to_smolstr","","to_string","","try_from","","try_into","","type_id","","vzip","","LocatorExpression","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","hash","id","","init","into","matches","name","new","program","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","StructExpression","StructVariableInitializer","borrow","","borrow_mut","","check_record","clone","","clone_into","","clone_to_uninit","","deref","","deref_mut","","deserialize","","drop","","eq","","equivalent","","","","","","","","expression","fmt","","","","from","","id","","","","identifier","init","","into","","members","name","serialize","","set_id","","set_span","","span","","","","take_from_value","","to_owned","","to_record_string","to_smolstr","","to_string","","try_from","","try_into","","type_id","","vzip","","TernaryExpression","borrow","borrow_mut","clone","clone_into","clone_to_uninit","condition","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","if_false","if_true","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","TupleExpression","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","elements","eq","equivalent","","","","fmt","","from","id","","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Abs","AbsWrapped","Double","Inverse","Negate","Not","Square","SquareRoot","ToXCoordinate","ToYCoordinate","UnaryExpression","UnaryOperation","as_str","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","deref","","deref_mut","","deserialize","","drop","","eq","","equivalent","","","","","","","","fmt","","","from","","from_symbol","id","","init","","into","","op","receiver","serialize","","set_id","set_span","span","","take_from_value","","to_owned","","to_smolstr","to_string","try_from","","try_into","","type_id","","vzip","","UnitExpression","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Function","annotation","annotations","block","borrow","borrow_mut","clone","clone_into","clone_to_uninit","core_function","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","format","from","","id","","identifier","init","input","","into","mode","name","new","output","","output_type","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","variant","","vzip","Annotation","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","identifier","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","BHP1024CommitToAddress","BHP1024CommitToField","BHP1024CommitToGroup","BHP1024HashToAddress","BHP1024HashToField","BHP1024HashToGroup","BHP1024HashToI128","BHP1024HashToI16","BHP1024HashToI32","BHP1024HashToI64","BHP1024HashToI8","BHP1024HashToScalar","BHP1024HashToU128","BHP1024HashToU16","BHP1024HashToU32","BHP1024HashToU64","BHP1024HashToU8","BHP256CommitToAddress","BHP256CommitToField","BHP256CommitToGroup","BHP256HashToAddress","BHP256HashToField","BHP256HashToGroup","BHP256HashToI128","BHP256HashToI16","BHP256HashToI32","BHP256HashToI64","BHP256HashToI8","BHP256HashToScalar","BHP256HashToU128","BHP256HashToU16","BHP256HashToU32","BHP256HashToU64","BHP256HashToU8","BHP512CommitToAddress","BHP512CommitToField","BHP512CommitToGroup","BHP512HashToAddress","BHP512HashToField","BHP512HashToGroup","BHP512HashToI128","BHP512HashToI16","BHP512HashToI32","BHP512HashToI64","BHP512HashToI8","BHP512HashToScalar","BHP512HashToU128","BHP512HashToU16","BHP512HashToU32","BHP512HashToU64","BHP512HashToU8","BHP768CommitToAddress","BHP768CommitToField","BHP768CommitToGroup","BHP768HashToAddress","BHP768HashToField","BHP768HashToGroup","BHP768HashToI128","BHP768HashToI16","BHP768HashToI32","BHP768HashToI64","BHP768HashToI8","BHP768HashToScalar","BHP768HashToU128","BHP768HashToU16","BHP768HashToU32","BHP768HashToU64","BHP768HashToU8","ChaChaRandAddress","ChaChaRandBool","ChaChaRandField","ChaChaRandGroup","ChaChaRandI128","ChaChaRandI16","ChaChaRandI32","ChaChaRandI64","ChaChaRandI8","ChaChaRandScalar","ChaChaRandU128","ChaChaRandU16","ChaChaRandU32","ChaChaRandU64","ChaChaRandU8","CheatCodePrintMapping","CheatCodeSetBlockHeight","CoreFunction","FutureAwait","GroupToXCoordinate","GroupToYCoordinate","Keccak256HashToAddress","Keccak256HashToField","Keccak256HashToGroup","Keccak256HashToI128","Keccak256HashToI16","Keccak256HashToI32","Keccak256HashToI64","Keccak256HashToI8","Keccak256HashToScalar","Keccak256HashToU128","Keccak256HashToU16","Keccak256HashToU32","Keccak256HashToU64","Keccak256HashToU8","Keccak384HashToAddress","Keccak384HashToField","Keccak384HashToGroup","Keccak384HashToI128","Keccak384HashToI16","Keccak384HashToI32","Keccak384HashToI64","Keccak384HashToI8","Keccak384HashToScalar","Keccak384HashToU128","Keccak384HashToU16","Keccak384HashToU32","Keccak384HashToU64","Keccak384HashToU8","Keccak512HashToAddress","Keccak512HashToField","Keccak512HashToGroup","Keccak512HashToI128","Keccak512HashToI16","Keccak512HashToI32","Keccak512HashToI64","Keccak512HashToI8","Keccak512HashToScalar","Keccak512HashToU128","Keccak512HashToU16","Keccak512HashToU32","Keccak512HashToU64","Keccak512HashToU8","MappingContains","MappingGet","MappingGetOrUse","MappingRemove","MappingSet","Pedersen128CommitToAddress","Pedersen128CommitToField","Pedersen128CommitToGroup","Pedersen128HashToAddress","Pedersen128HashToField","Pedersen128HashToGroup","Pedersen128HashToI128","Pedersen128HashToI16","Pedersen128HashToI32","Pedersen128HashToI64","Pedersen128HashToI8","Pedersen128HashToScalar","Pedersen128HashToU128","Pedersen128HashToU16","Pedersen128HashToU32","Pedersen128HashToU64","Pedersen128HashToU8","Pedersen64CommitToAddress","Pedersen64CommitToField","Pedersen64CommitToGroup","Pedersen64HashToAddress","Pedersen64HashToField","Pedersen64HashToGroup","Pedersen64HashToI128","Pedersen64HashToI16","Pedersen64HashToI32","Pedersen64HashToI64","Pedersen64HashToI8","Pedersen64HashToScalar","Pedersen64HashToU128","Pedersen64HashToU16","Pedersen64HashToU32","Pedersen64HashToU64","Pedersen64HashToU8","Poseidon2HashToAddress","Poseidon2HashToField","Poseidon2HashToGroup","Poseidon2HashToI128","Poseidon2HashToI16","Poseidon2HashToI32","Poseidon2HashToI64","Poseidon2HashToI8","Poseidon2HashToScalar","Poseidon2HashToU128","Poseidon2HashToU16","Poseidon2HashToU32","Poseidon2HashToU64","Poseidon2HashToU8","Poseidon4HashToAddress","Poseidon4HashToField","Poseidon4HashToGroup","Poseidon4HashToI128","Poseidon4HashToI16","Poseidon4HashToI32","Poseidon4HashToI64","Poseidon4HashToI8","Poseidon4HashToScalar","Poseidon4HashToU128","Poseidon4HashToU16","Poseidon4HashToU32","Poseidon4HashToU64","Poseidon4HashToU8","Poseidon8HashToAddress","Poseidon8HashToField","Poseidon8HashToGroup","Poseidon8HashToI128","Poseidon8HashToI16","Poseidon8HashToI32","Poseidon8HashToI64","Poseidon8HashToI8","Poseidon8HashToScalar","Poseidon8HashToU128","Poseidon8HashToU16","Poseidon8HashToU32","Poseidon8HashToU64","Poseidon8HashToU8","SHA3_256HashToAddress","SHA3_256HashToField","SHA3_256HashToGroup","SHA3_256HashToI128","SHA3_256HashToI16","SHA3_256HashToI32","SHA3_256HashToI64","SHA3_256HashToI8","SHA3_256HashToScalar","SHA3_256HashToU128","SHA3_256HashToU16","SHA3_256HashToU32","SHA3_256HashToU64","SHA3_256HashToU8","SHA3_384HashToAddress","SHA3_384HashToField","SHA3_384HashToGroup","SHA3_384HashToI128","SHA3_384HashToI16","SHA3_384HashToI32","SHA3_384HashToI64","SHA3_384HashToI8","SHA3_384HashToScalar","SHA3_384HashToU128","SHA3_384HashToU16","SHA3_384HashToU32","SHA3_384HashToU64","SHA3_384HashToU8","SHA3_512HashToAddress","SHA3_512HashToField","SHA3_512HashToGroup","SHA3_512HashToI128","SHA3_512HashToI16","SHA3_512HashToI32","SHA3_512HashToI64","SHA3_512HashToI8","SHA3_512HashToScalar","SHA3_512HashToU128","SHA3_512HashToU16","SHA3_512HashToU32","SHA3_512HashToU64","SHA3_512HashToU8","SignatureVerify","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","drop","eq","equivalent","","","","from","from_symbols","init","into","is_finalize_command","num_args","to_owned","try_from","try_into","type_id","vzip","Input","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","format","from","id","","identifier","","init","into","mode","","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_","","type_id","vzip","Constant","Mode","None","Private","Public","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","init","into","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Output","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","init","into","mode","","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_","","type_id","vzip","AsyncFunction","AsyncTransition","Function","Inline","Transition","Variant","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","from","init","into","is_async","is_async_function","is_function","is_transition","serialize","take_from_value","to_owned","try_from","try_into","type_id","vzip","group_coordinate","group_literal","GroupCoordinate","Inferred","Number","SignHigh","SignLow","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","init","into","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","GroupLiteral","GroupTuple","Single","Tuple","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","deref","","deref_mut","","deserialize","","drop","","eq","","equivalent","","","","","","","","fmt","","","from","","id","","init","","into","","serialize","","set_id","set_span","span","","take_from_value","","to_owned","","to_smolstr","to_string","try_from","","try_into","","type_id","","vzip","","x","y","Mapping","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","from_snarkvm","id","","identifier","init","into","key_type","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","value_type","vzip","consumer","reconstructor","visitor","ExpressionConsumer","FunctionConsumer","ImportConsumer","MappingConsumer","Output","","","","","","","","ProgramConsumer","ProgramScopeConsumer","StatementConsumer","StructConsumer","consume_access","consume_array","consume_assert","consume_assign","consume_binary","consume_block","consume_call","consume_cast","consume_conditional","consume_console","consume_const","consume_definition","consume_err","consume_expression","consume_expression_statement","consume_function","consume_identifier","consume_import","consume_iteration","consume_literal","consume_locator","consume_mapping","consume_program","consume_program_scope","consume_return","consume_statement","consume_struct","consume_struct_init","consume_ternary","consume_tuple","consume_unary","consume_unit","AdditionalOutput","ExpressionReconstructor","ProgramReconstructor","StatementReconstructor","reconstruct_access","reconstruct_array","reconstruct_array_access","reconstruct_assert","reconstruct_assign","reconstruct_associated_constant","reconstruct_associated_function","reconstruct_binary","reconstruct_block","reconstruct_call","reconstruct_cast","reconstruct_conditional","reconstruct_console","reconstruct_const","reconstruct_definition","reconstruct_err","reconstruct_expression","reconstruct_expression_statement","reconstruct_function","reconstruct_function_stub","reconstruct_identifier","reconstruct_import","reconstruct_iteration","reconstruct_literal","reconstruct_locator","reconstruct_mapping","reconstruct_member_access","reconstruct_program","reconstruct_program_scope","reconstruct_return","reconstruct_statement","reconstruct_struct","reconstruct_struct_init","reconstruct_stub","reconstruct_ternary","reconstruct_tuple","reconstruct_tuple_access","reconstruct_unary","reconstruct_unit","AdditionalInput","ExpressionVisitor","Output","ProgramVisitor","StatementVisitor","visit_access","visit_array","visit_assert","visit_assign","visit_binary","visit_block","visit_call","visit_cast","visit_conditional","visit_console","visit_const","visit_definition","visit_err","visit_expression","visit_expression_statement","visit_function","visit_function_stub","visit_identifier","visit_import","visit_iteration","visit_literal","visit_locator","visit_mapping","visit_program","visit_program_scope","visit_return","visit_statement","visit_struct","visit_struct_init","visit_struct_stub","visit_stub","visit_ternary","visit_tuple","visit_unary","visit_unit","Program","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","imports","init","into","program_id","program_scope","program_scopes","serialize","stubs","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","ProgramId","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","","","hash","init","into","name","network","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","ProgramScope","borrow","borrow_mut","clone","clone_into","clone_to_uninit","consts","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","","functions","init","into","mappings","program_id","serialize","span","structs","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Assert","Assign","Block","Conditional","Console","Const","Definition","Expression","Iteration","Return","Statement","assert","assign","block","borrow","borrow_mut","clone","clone_into","clone_to_uninit","conditional","console","const_","definition","deref","deref_mut","deserialize","drop","dummy","eq","equivalent","","","","expression","fmt","","from","id","init","into","iteration","return_","serialize","set_id","set_span","span","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Assert","AssertEq","AssertNeq","AssertStatement","AssertVariant","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","deref","","deref_mut","","deserialize","","drop","","eq","","equivalent","","","","","","","","fmt","","","from","","id","","init","","into","","serialize","","set_id","set_span","span","","take_from_value","","to_owned","","to_smolstr","to_string","try_from","","try_into","","type_id","","variant","vzip","","AssignStatement","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","init","into","place","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","value","vzip","Block","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","init","into","serialize","set_id","set_span","span","","statements","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","ConditionalStatement","borrow","borrow_mut","clone","clone_into","clone_to_uninit","condition","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","init","into","otherwise","serialize","set_id","set_span","span","","take_from_value","then","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","console_function","console_statement","Assert","AssertEq","AssertNeq","ConsoleFunction","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","init","into","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","ConsoleStatement","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","function","id","","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","ConstDeclaration","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","init","into","place","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_","type_id","value","vzip","Const","DeclarationType","DefinitionStatement","Let","borrow","borrow_mut","clone","clone_into","clone_to_uninit","declaration_type","","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","init","into","place","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_","type_id","value","vzip","Const","DeclarationType","Let","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","init","into","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","ExpressionStatement","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","expression","fmt","","from","id","","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","IterationStatement","block","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","inclusive","init","into","serialize","set_id","set_span","span","","start","start_value","stop","stop_value","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_","type_id","variable","vzip","ReturnStatement","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","expression","fmt","","from","id","","init","into","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Composite","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","external","fmt","","from","from_external_record","from_snarkvm","id","","identifier","init","into","is_record","member","members","name","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Member","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","id","","identifier","init","into","mode","name","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_","type_id","vzip","Stub","borrow","borrow_mut","clone","clone_into","clone_to_uninit","consts","default","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","function_stub","functions","imports","init","into","mappings","serialize","span","structs","stub_id","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","FunctionStub","annotations","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","format","from","","from_closure","from_finalize","from_function_core","id","","identifier","init","input","into","is_main","name","new","output","output_type","serialize","set_id","set_span","span","","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","variant","vzip","array","core_constant","future","integer_type","mapping","struct_type","tuple","type_","ArrayType","base_element_type","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","element_type","","eq","equivalent","","","","fmt","","from","from_snarkvm","hash","init","into","length","","new","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","CoreConstant","GroupGenerator","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","drop","eq","equivalent","","","","from","from_symbols","init","into","to_owned","to_type","try_from","try_into","type_id","vzip","FutureType","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","hash","init","inputs","","into","is_explicit","location","","new","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","I128","I16","I32","I64","I8","IntegerType","U128","U16","U32","U64","U8","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","hash","init","into","is_signed","serialize","symbol","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","MappingType","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","hash","init","into","key","program","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","value","vzip","CompositeType","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","hash","id","init","into","program","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","TupleType","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","elements","","eq","equivalent","","","","fmt","","from","hash","init","into","length","new","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Address","Array","Boolean","Composite","Err","Field","Future","Group","Identifier","Integer","Mapping","Scalar","Signature","String","Tuple","Type","Unit","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","eq_flat","eq_flat_relaxed","equivalent","","","","fmt","","from","","","from_snarkvm","hash","init","into","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","try_into","type_id","vzip","Address","Boolean","Field","Group","I128","I16","I32","I64","I8","Input","Scalar","String","Struct","U128","U16","U32","U64","U8","Value","abs","abs_wrapped","add","add_wrapped","as_ref","bitand","bitor","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","div","div_wrapped","drop","eq","","equivalent","","","","fmt","","from","ge","gt","implement_const_binary","implement_const_unary","init","into","is_supported_const_fold_type","le","lt","mul","mul_wrapped","neg","not","pow","pow_wrapped","shl","shl_wrapped","shr","shr_wrapped","sub","sub_wrapped","to_owned","to_smolstr","to_string","try_from","","try_into","type_id","vzip","xor"],"q":[[0,"leo_ast"],[51,"leo_ast::access"],[82,"leo_ast::access::array_access"],[119,"leo_ast::access::associated_constant_access"],[156,"leo_ast::access::associated_function_access"],[194,"leo_ast::access::member_access"],[231,"leo_ast::access::tuple_access"],[268,"leo_ast::common"],[275,"leo_ast::common::identifier"],[315,"leo_ast::common::imported_modules"],[317,"leo_ast::common::location"],[348,"leo_ast::common::node"],[354,"leo_ast::common::node_builder"],[397,"leo_ast::common::positive_number"],[434,"leo_ast::common::static_string"],[465,"leo_ast::expressions"],[635,"leo_ast::expressions::access"],[673,"leo_ast::expressions::array"],[709,"leo_ast::expressions::binary"],[807,"leo_ast::expressions::call"],[845,"leo_ast::expressions::cast"],[882,"leo_ast::expressions::err"],[917,"leo_ast::expressions::literal"],[978,"leo_ast::expressions::locator"],[1018,"leo_ast::expressions::struct_init"],[1094,"leo_ast::expressions::ternary"],[1132,"leo_ast::expressions::tuple"],[1168,"leo_ast::expressions::unary"],[1243,"leo_ast::expressions::unit"],[1278,"leo_ast::functions"],[1330,"leo_ast::functions::annotation"],[1366,"leo_ast::functions::core_function"],[1645,"leo_ast::functions::input"],[1687,"leo_ast::functions::mode"],[1720,"leo_ast::functions::output"],[1759,"leo_ast::functions::variant"],[1794,"leo_ast::groups"],[1796,"leo_ast::groups::group_coordinate"],[1829,"leo_ast::groups::group_literal"],[1894,"leo_ast::mapping"],[1933,"leo_ast::passes"],[1936,"leo_ast::passes::consumer"],[1984,"leo_ast::passes::reconstructor"],[2027,"leo_ast::passes::visitor"],[2067,"leo_ast::program"],[2102,"leo_ast::program::program_id"],[2136,"leo_ast::program::program_scope"],[2172,"leo_ast::statement"],[2226,"leo_ast::statement::assert"],[2291,"leo_ast::statement::assign"],[2328,"leo_ast::statement::block"],[2365,"leo_ast::statement::conditional"],[2403,"leo_ast::statement::console"],[2405,"leo_ast::statement::console::console_function"],[2437,"leo_ast::statement::console::console_statement"],[2473,"leo_ast::statement::const_"],[2511,"leo_ast::statement::definition"],[2554,"leo_ast::statement::definition::declaration_type"],[2585,"leo_ast::statement::expression"],[2621,"leo_ast::statement::iteration"],[2664,"leo_ast::statement::return_"],[2700,"leo_ast::struct"],[2743,"leo_ast::struct::member"],[2782,"leo_ast::stub"],[2820,"leo_ast::stub::function_stub"],[2869,"leo_ast::types"],[2877,"leo_ast::types::array"],[2914,"leo_ast::types::core_constant"],[2939,"leo_ast::types::future"],[2976,"leo_ast::types::integer_type"],[3018,"leo_ast::types::mapping"],[3051,"leo_ast::types::struct_type"],[3083,"leo_ast::types::tuple"],[3117,"leo_ast::types::type_"],[3168,"leo_ast::value"],[3243,"core::fmt"],[3244,"std::path"],[3245,"leo_errors::errors"],[3246,"serde_json::value"],[3247,"alloc::string"],[3248,"core::result"],[3249,"core::any"],[3250,"serde::de"],[3251,"serde::ser"],[3252,"leo_span::span"],[3253,"smol_str"],[3254,"snarkvm_console_program::data::identifier"],[3255,"snarkvm_console_network"],[3256,"core::hash"],[3257,"leo_span::symbol"],[3258,"alloc::vec"],[3259,"indexmap::map"],[3260,"core::option"],[3261,"core::num::error"],[3262,"snarkvm_synthesizer_program::mapping"],[3263,"core::default"],[3264,"snarkvm_console_program::id"],[3265,"snarkvm_console_program::data_types::record_type"],[3266,"snarkvm_console_program::data_types::struct_type"],[3267,"snarkvm_synthesizer_program::closure"],[3268,"snarkvm_synthesizer_program::traits::instruction"],[3269,"snarkvm_synthesizer_program::function"],[3270,"snarkvm_synthesizer_program::traits::command"],[3271,"snarkvm_console_program::data_types::array_type"],[3272,"snarkvm_console_program::data_types::plaintext_type"]],"i":"``b0000000`000000000`0000``000`0````````00000000``0`````CbBd```0C`2CdCf301`241324100`24`333333333333333333333333333333333333`222222222222222222222222222222222222`4444444444444444444444444444444444444`111111111111111111111111111111111111`000000000000000000000000000000000000````````Ch00000000000000000000000000000000000000```Df00000000000000000000000000000``Dl000``DnE`101010101101010101010110100101010101010`Eb00000000000000000000000000000000000`Ed00000000000000000000000000000Gn0Ef`F`0Fj1El3`003``2213`3`22423``1`122314`332202222422422222122224413``223`4403`3``3`2`Fd``44``444Gj5555EnGl77777`FfGh999Eh6:4Fb732GfFh86H`Hb6::??4``3341;14????94;7632:810`?`?????`7?``?`<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<`99999999999999999999999999999999999>>>``>>>>>>>>>>>>>>>>>>>>>>>>>>>>4>4>4>4>4>4>4>4>4>4>>>>4444>>44>4>44>4>4444>44444>4>4>4>4>4>4>4>4`;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;`777777777777777777777777777777777777`2222222222222222222222222222222222==`=`==`==Fn>0>>>>0>0>>>0>>>>>>0>>0>6>>`0>0>>>>>>>0>0>0>0>0>0>`Gb00000000000000000000000000000000000000``85855858585858585858588885555888558585858858555858585858585855858585858585`<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<`:::::::::::::::::::::::::::::::::::Gn000000000``004040404040404040404000044440440404404044404444404044404040404`3333333333333333333333333333333333``Hd000000`000000000000000000`00`00`00000000000000`00`Hh0000000000000000000000000000000000Ib000000000000000000000000000000000000000000000000000000000000000000000000000000000000`0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000`Hl0000000000000000000000000000000000000000Id`0000000000000000000000000000000`Hn0000000000000000000000000000000000000Hj0000`00000000000000000000000000000```Ih0000000000000000000000000000000``Ij00Il10101010101010101011110000110101010101011101010111010101000`In0000000000000000000000000000000000000```````JdJfKfLhKhKlL`Kn````77667677666677657367720166477777Ln```000Md01110110000110Mf02012202001102022222Ml`0``00Mn010110000110N`0201220001102002222`f00000000000000000000``00000000000`Gd00000000000000000000000000000000`Lb0000000000000000000000000000000000Lf000000000````00000````0000000000`000000``000000000000Nd00``0Jh1010101010101010101111000010010001010100000101000101010010`Jj00000000000000000000000000000000000`I`00000000000000000000000000000000000`Jl000000000000000000000000000000000000``Nf00`0000000000000000000000000000`Jn0000000000000000000000000000000000`K`000000000000000000000000000000000000Nh``0Kb0000`0000000000000000000000000000000001`11111111111111111111111111111`Kd0000000000000000000000000000000000`Kj00000000000000000000000000000000000000000`Ld0000000000000000000000000000000000`Lj0000000000000000000000000`000000000000000`Nn0000000000000000000000000000000000000`Mh000000000000000000`00000000000000000`Hf00000000000000000000000000000000000000000000000`````````Oh00000000000000000000000000000000000`Ol00000000000000000000000`On00000000000000000000000000000000000A@`0000`000000000000000000000000000000000000`A@b0000000000000000000000000000000`Dh000000000000000000000000000000`A@d00000000000000000000000000000000If00000000000000`00000000000000000000000000000000000G`00000000000000000`0000000000000000000000000000``00000000000000000000000000","f":"``{{{d{b}}}{{d{f}}}}0`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{b}}}b}{{d{d{hc}}}j{}}{dj}`{{}b}{l{{d{c}}}{}}{l{{d{hc}}}{}}{lj}{{{d{b}}{d{b}}}n}{{d{d{c}}}n{}}000`{{{d{b}}{d{hA`}}}Ab}{cc{}}{Ad{{Af{b}}}}{{{d{Ah}}}{{Af{b}}}}``{{}l}{{}c{}}{bf}`{fb}{AjAj}``{{Aj{d{Ah}}}Aj}````{{{d{b}}Ad{d{Ah}}}{{Af{j}}}}{{{d{b}}Ad{d{Ah}}{d{{Al{{d{Ah}}}}}}}{{Af{j}}}}{{{d{b}}}{{Af{An}}}}{{{d{b}}}{{Af{Aj}}}}{dc{}}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}``<`````````````````````````````````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Bd}}}Bd}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Bd}}}Bf}{lj}{{{d{Bd}}{d{Bd}}}n}{{d{d{c}}}n{}}000{{{d{Bd}}{d{hA`}}}Ab}0{cc{}}{{{d{Bd}}}Bh}``{{}l}{{}c{}}{{{d{Bd}}c}B`Bj}{{{d{hBd}}Bh}j}{{{d{hBd}}Bl}j}{{{d{Bd}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{C`}}}C`}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{C`}}}Bf}{lj}{{{d{C`}}{d{C`}}}n}{{d{d{c}}}n{}}000{{{d{C`}}{d{hA`}}}Ab}0{cc{}}{{{d{C`}}}Bh}`{{}l}{{}c{}}`{{{d{C`}}c}B`Bj}{{{d{hC`}}Bh}j}{{{d{hC`}}Bl}j}{{{d{C`}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}`{dBb};``{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Cb}}}Cb}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Cb}}}Bf}{lj}{{{d{Cb}}{d{Cb}}}n}{{d{d{c}}}n{}}000{{{d{Cb}}{d{hA`}}}Ab}0{cc{}}{{{d{Cb}}}Bh}`{{}l}{{}c{}}`{{{d{Cb}}c}B`Bj}{{{d{hCb}}Bh}j}{{{d{hCb}}Bl}j}{{{d{Cb}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}`;`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Cd}}}Cd}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Cd}}}Bf}{lj}{{{d{Cd}}{d{Cd}}}n}{{d{d{c}}}n{}}000{{{d{Cd}}{d{hA`}}}Ab}0{cc{}}{{{d{Cd}}}Bh}`{{}l}`{{}c{}}`{{{d{Cd}}c}B`Bj}{{{d{hCd}}Bh}j}{{{d{hCd}}Bl}j}{{{d{Cd}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Cf}}}Cf}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Cf}}}Bf}{lj}{{{d{Cf}}{d{Cf}}}n}{{d{d{c}}}n{}}000{{{d{Cf}}{d{hA`}}}Ab}0{cc{}}{{{d{Cf}}}Bh}``{{}l}{{}c{}}{{{d{Cf}}c}B`Bj}{{{d{hCf}}Bh}j}{{{d{hCf}}Bl}j}{{{d{Cf}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}`{dBb};````````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Ch}}}Ch}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{Af{Ch}}}Bf}{lj}{{{d{Ch}}{d{Ch}}}n}{{d{d{c}}}n{}}000{{{d{Ch}}{d{hA`}}}Ab}0{cc{}}{{{d{{Cj{c}}}}}ChCl}{{{d{Ch}}{d{hc}}}jCn}{{{d{Ch}}}Bh}`{{}l}{{}c{}}8`{{D`Bh}Ch}{{{d{Ch}}c}AfBj}{{{d{hCh}}Bh}j}{{{d{hCh}}Bl}j}{{{d{Ch}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}<{c{{B`{{Dd{{Db{D`}}f}}}}}Bf}{{{d{{Dd{{Db{D`}}f}}}}c}B`Bj}`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Df}}}Df}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{Af{Df}}}Bf}{lj}{{{d{Df}}{d{Df}}}n}{{d{d{c}}}n{}}000{{{d{Df}}{d{hA`}}}Ab}{{{d{Dh}}}Df}{cc{}}{{{d{Df}}{d{hc}}}jCn}{{}l}{{}c{}}`{{{Dj{D`}}D`}Df}`{{{d{Df}}c}AfBj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}7``{{{d{Dl}}}Bh}{{{d{hDl}}Bh}j}{{{d{hDl}}Bl}j}{{{d{Dl}}}Bl}``{d{{d{c}}}{}}0{{{d{h}}}{{d{hc}}}{}}0{{{d{Dn}}}Dn}{{{d{E`}}}E`}{{d{d{hc}}}j{}}0{dj}0{{}Dn}{l{{d{c}}}{}}0{l{{d{hc}}}{}}0{lj}0{{{d{Dn}}{d{hA`}}}Ab}{{{d{E`}}{d{hA`}}}Ab}{cc{}}0{{}l}0`{{}c{}}0{BhDn}{BhE`}`{{{d{Dn}}}Bh}{{{d{hE`}}}Bh}{dc{}}0{c{{B`{e}}}{}{}}0{{}{{B`{c}}}{}}0{dBb}088`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Eb}}}Eb}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Eb}}}Bf}{lj}{{{d{Eb}}{d{Eb}}}n}{{d{d{c}}}n{}}000{{{d{Eb}}{d{hA`}}}Ab}0{cc{}}{lEb}{AnEb}{{{d{Eb}}{d{hc}}}jCn}{{}l}{{}c{}}{{{d{Eb}}}n}{{{d{Eb}}c}B`Bj}{{{d{Eb}}}{{d{Ah}}}}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}{{{d{Eb}}}l}`;`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Ed}}}Ed}{{d{d{hc}}}j{}}{dj}{{}Ed}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Ed}}}Bf}{lj}{{{d{Ed}}{d{Ed}}}n}{{d{d{c}}}n{}}000{{{d{Ed}}{d{hA`}}}Ab}0{cc{}}{{}l}{{}c{}}{AnEd}{{{d{Ed}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}9```````````````````````````````````````````````````````````````````````````````````````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}``{{{d{Ef}}}Ef}{{d{d{hc}}}j{}}{dj}`{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Ef}}}Bf}{lj}``{{{d{Ef}}{d{Ef}}}n}{{d{d{c}}}n{}}000```{{{d{Ef}}{d{hA`}}}Ab}0{cc{}}{{{d{Ah}}}{{B`{EhEj}}}}`{{{d{Ef}}}Bh}``````````````{{}l}{{}c{}}``````````{{{d{Ef}}c}B`Bj}{{{d{hEf}}Bh}j}{{{d{hEf}}Bl}j}{{{d{Ef}}}Bl}````````````{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}`{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}``{dBb}``;``````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{El}}}El}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{El}}}Bf}{lj}{{{d{El}}{d{El}}}n}{{d{d{c}}}n{}}000{{{d{El}}{d{hA`}}}Ab}0{cc{}}{{{d{El}}}Bh}{{}l}{{}c{}}{{{d{El}}c}B`Bj}{{{d{hEl}}Bh}j}{{{d{hEl}}Bl}j}{{{d{El}}}Bl}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{En}}}En}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{En}}}Bf}{lj}`{{{d{En}}{d{En}}}n}{{d{d{c}}}n{}}000{{{d{En}}{d{hA`}}}Ab}0{cc{}}{{{d{En}}}Bh}`{{}l}{{}c{}}{{{d{En}}c}B`Bj}{{{d{hEn}}Bh}j}{{{d{hEn}}Bl}j}{{{d{En}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};````````````````````````````````{d{{d{c}}}{}}0{{{d{h}}}{{d{hc}}}{}}0{{{d{F`}}}F`}{{{d{Fb}}}Fb}{{d{d{hc}}}j{}}0{dj}0{l{{d{c}}}{}}0{l{{d{hc}}}{}}0{c{{B`{F`}}}Bf}{c{{B`{Fb}}}Bf}{lj}0{{{d{F`}}{d{F`}}}n}{{{d{Fb}}{d{Fb}}}n}{{d{d{c}}}n{}}0000000{{{d{F`}}{d{hA`}}}Ab}0{{{d{Fb}}{d{hA`}}}Ab}0{cc{}}0{D`{{Dj{F`}}}}{{{d{Fb}}}Bh}`{{}l}0{{}c{}}0```{{{d{F`}}c}B`Bj}{{{d{Fb}}c}B`Bj}{{{d{hFb}}Bh}j}{{{d{hFb}}Bl}j}{{{d{Fb}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}0{dc{}}0{dBn}0{dAn}0{c{{B`{e}}}{}{}}0{{}{{B`{c}}}{}}0{dBb}0<<``{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Fd}}}Fd}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Fd}}}Bf}{lj}{{{d{Fd}}{d{Fd}}}n}{{d{d{c}}}n{}}000{{{d{Fd}}{d{hA`}}}Ab}0{cc{}}`{{{d{Fd}}}Bh}`{{}l}{{}c{}}`{{{d{Fd}}c}B`Bj}{{{d{hFd}}Bh}j}{{{d{hFd}}Bl}j}{{{d{Fd}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Ff}}}Ff}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Ff}}}Bf}{lj}{{{d{Ff}}{d{Ff}}}n}{{d{d{c}}}n{}}000`{{{d{Ff}}{d{hA`}}}Ab}0{cc{}}{{{d{Ff}}}Bh}`{{}l}{{}c{}}{{{d{Ff}}c}B`Bj}{{{d{hFf}}Bh}j}{{{d{hFf}}Bl}j}{{{d{Ff}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}`{dBb};`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Fh}}}Fh}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Fh}}}Bf}{lj}{{{d{Fh}}{d{Fh}}}n}{{d{d{c}}}n{}}000{{{d{Fh}}{d{hA`}}}Ab}0{cc{}}{{{d{Fh}}}Bh}`{{}l}{{}c{}}{{{d{Fh}}c}B`Bj}{{{d{hFh}}Bh}j}{{{d{hFh}}Bl}j}{{{d{Fh}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};``````````{d{{d{c}}}{}}0{{{d{h}}}{{d{hc}}}{}}0{{{d{Fj}}}Fj}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}0{l{{d{hc}}}{}}0{c{{B`{Fj}}}Bf}{{{d{Fj}}}{{`{Fl}}}}{lj}0{{{d{Fj}}{d{Fj}}}n}{{d{d{c}}}n{}}000{{{d{Fn}}{d{hA`}}}Ab}{{{d{Fj}}{d{hA`}}}Ab}0{cc{}}0{{{d{Ah}}}{{B`{EhEj}}}}{{G`Bh}Fj}{{{d{Fj}}}Bh}`{{}l}0{{}c{}}0{{{d{Fj}}c}B`Bj}{{{d{hFj}}Bh}j}{{{d{hFj}}Bl}j}{{{d{Fj}}}Bl}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}0{dAn}0{c{{B`{e}}}{}{}}0{{}{{B`{c}}}{}}0{dBb}0;;`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Gb}}}Gb}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Gb}}}Bf}{lj}{{{d{Gb}}{d{Gb}}}n}{{d{d{c}}}n{}}000{{{d{Gb}}{d{hA`}}}Ab}0{cc{}}{{{d{Gb}}{d{hc}}}jCn}{{{d{Gb}}}Bh}`{{}l}{{}c{}}7`{{GdD`Bh}Gb}`{{{d{Gb}}c}B`Bj}{{{d{hGb}}Bh}j}{{{d{hGb}}Bl}j}{{{d{Gb}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}<``{d{{d{c}}}{}}0{{{d{h}}}{{d{hc}}}{}}0{{{d{Gf}}}n}{{{d{Gh}}}Gh}{{{d{Gf}}}Gf}{{d{d{hc}}}j{}}0{dj}0{l{{d{c}}}{}}0{l{{d{hc}}}{}}0{c{{B`{Gh}}}Bf}{c{{B`{Gf}}}Bf}{lj}0{{{d{Gh}}{d{Gh}}}n}{{{d{Gf}}{d{Gf}}}n}{{d{d{c}}}n{}}0000000`{{{d{Gh}}{d{hA`}}}Ab}0{{{d{Gf}}{d{hA`}}}Ab}0{cc{}}0{{{d{Gh}}}Bh}{{{d{Gf}}}Bh}```{{}l}0{{}c{}}0``{{{d{Gh}}c}B`Bj}{{{d{Gf}}c}B`Bj}{{{d{hGh}}Bh}j}{{{d{hGf}}Bh}j}{{{d{hGh}}Bl}j}{{{d{hGf}}Bl}j}{{{d{Gh}}}Bl}{{{d{Gf}}}Bl}``{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}0{dc{}}0{{{d{Gf}}}An}{dBn}0{dAn}0{c{{B`{e}}}{}{}}0{{}{{B`{c}}}{}}0{dBb}0{{}c{}}0`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Gj}}}Gj}{{d{d{hc}}}j{}}{dj}`{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Gj}}}Bf}{lj}{{{d{Gj}}{d{Gj}}}n}{{d{d{c}}}n{}}000{{{d{Gj}}{d{hA`}}}Ab}0{cc{}}{{{d{Gj}}}Bh}```{{}l}?{{{d{Gj}}c}B`Bj}{{{d{hGj}}Bh}j}{{{d{hGj}}Bl}j}{{{d{Gj}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}{{}c{}}`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Gl}}}Gl}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Gl}}}Bf}{lj}`{{{d{Gl}}{d{Gl}}}n}{{d{d{c}}}n{}}000{{{d{Gl}}{d{hA`}}}Ab}0{cc{}}{{{d{Gl}}}Bh}`{{}l}?{{{d{Gl}}c}B`Bj}{{{d{hGl}}Bh}j}{{{d{hGl}}Bl}j}{{{d{Gl}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}{{}c{}}````````````{Gn{{d{Ah}}}}{d{{d{c}}}{}}0{{{d{h}}}{{d{hc}}}{}}0{{{d{Gn}}}Gn}{{{d{H`}}}H`}{{d{d{hc}}}j{}}0{dj}0{l{{d{c}}}{}}0{l{{d{hc}}}{}}0{c{{B`{Gn}}}Bf}{c{{B`{H`}}}Bf}{lj}0{{{d{Gn}}{d{Gn}}}n}{{{d{H`}}{d{H`}}}n}{{d{d{c}}}n{}}0000000{{{d{Gn}}{d{hA`}}}Ab}{{{d{H`}}{d{hA`}}}Ab}0{cc{}}0{D`{{Dj{Gn}}}}{{{d{H`}}}Bh}`{{}l}0{{}c{}}0``{{{d{Gn}}c}B`Bj}{{{d{H`}}c}B`Bj}{{{d{hH`}}Bh}j}{{{d{hH`}}Bl}j}{{{d{H`}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}0{dc{}}0{dBn}{dAn}{c{{B`{e}}}{}{}}0{{}{{B`{c}}}{}}0{dBb}0<<`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Hb}}}Hb}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Hb}}}Bf}{lj}{{{d{Hb}}{d{Hb}}}n}{{d{d{c}}}n{}}000{{{d{Hb}}{d{hA`}}}Ab}0{cc{}}{{{d{Hb}}}Bh}`{{}l}{{}c{}}{{{d{Hb}}c}B`Bj}{{{d{hHb}}Bh}j}{{{d{hHb}}Bl}j}{{{d{Hb}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Hd}}}Hd}{{d{d{hc}}}j{}}{dj}`{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Hd}}}Bf}{lj}{{{d{Hd}}{d{Hd}}}n}{{d{d{c}}}n{}}000{{{d{Hd}}{d{hA`}}}Ab}00{cc{}}{HfHd}{{{d{Hd}}}Bh}``{{}l}``{{}c{}}`{{{d{Hd}}}D`}{{{Db{Hh}}HjCh{Db{Hl}}{Db{Hn}}I`BlBh}Hd}```{{{d{Hd}}c}B`Bj}{{{d{hHd}}Bh}j}{{{d{hHd}}Bl}j}{{{d{Hd}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}``=`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Hh}}}Hh}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Hh}}}Bf}{lj}{{{d{Hh}}{d{Hh}}}n}{{d{d{c}}}n{}}000{{{d{Hh}}{d{hA`}}}Ab}0{cc{}}{{{d{Hh}}}Bh}``{{}l}{{}c{}}{{{d{Hh}}c}B`Bj}{{{d{hHh}}Bh}j}{{{d{hHh}}Bl}j}{{{d{Hh}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Ib}}}Ib}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{lj}{{{d{Ib}}{d{Ib}}}n}{{d{d{c}}}n{}}000{cc{}}{{D`D`}{{Dj{Ib}}}}{{}l}{{}c{}}{{{d{Ib}}}n}{{{d{Ib}}}l}{dc{}}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}6`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Hl}}}Hl}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Hl}}}Bf}{lj}{{{d{Hl}}{d{Hl}}}n}{{d{d{c}}}n{}}000{{{d{Hl}}{d{hA`}}}Ab}00{cc{}}{{{d{Hl}}}Bh}`{{{d{Hl}}}{{d{Ch}}}}`{{}l}{{}c{}}{{{d{Hl}}}Id}`{{{d{Hl}}c}B`Bj}{{{d{hHl}}Bh}j}{{{d{hHl}}Bl}j}{{{d{Hl}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{{{d{Hl}}}{{d{If}}}}`{dBb}=`````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Id}}}Id}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Id}}}Bf}{lj}{{{d{Id}}{d{Id}}}n}{{d{d{c}}}n{}}000{{{d{Id}}{d{hA`}}}Ab}0{cc{}}{{}l}{{}c{}}{{{d{Id}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}8`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Hn}}}Hn}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Hn}}}Bf}{lj}{{{d{Hn}}{d{Hn}}}n}{{d{d{c}}}n{}}000{{{d{Hn}}{d{hA`}}}Ab}0{cc{}}{{{d{Hn}}}Bh}`{{}l}{{}c{}}{{{d{Hn}}}Id}`{{{d{Hn}}c}B`Bj}{{{d{hHn}}Bh}j}{{{d{hHn}}Bl}j}{{{d{Hn}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{{{d{Hn}}}{{d{If}}}}`{dBb}=``````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Hj}}}Hj}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Hj}}}Bf}{lj}{{{d{Hj}}{d{Hj}}}n}{{d{d{c}}}n{}}000{{{d{Hj}}{d{hA`}}}Ab}{cc{}}{{}l}{{}c{}}{Hjn}000{{{d{Hj}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}7```````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Ih}}}Ih}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Ih}}}Bf}{lj}{{{d{Ih}}{d{Ih}}}n}{{d{d{c}}}n{}}000{{{d{Ih}}{d{hA`}}}Ab}0{cc{}}{{}l}{{}c{}}{{{d{Ih}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}8````{d{{d{c}}}{}}0{{{d{h}}}{{d{hc}}}{}}0{{{d{Ij}}}Ij}{{{d{Il}}}Il}{{d{d{hc}}}j{}}0{dj}0{l{{d{c}}}{}}0{l{{d{hc}}}{}}0{c{{B`{Ij}}}Bf}{c{{B`{Il}}}Bf}{lj}0{{{d{Ij}}{d{Ij}}}n}{{{d{Il}}{d{Il}}}n}{{d{d{c}}}n{}}0000000{{{d{Ij}}{d{hA`}}}Ab}0{{{d{Il}}{d{hA`}}}Ab}{cc{}}0{{{d{Ij}}}{{d{Bh}}}}`{{}l}0{{}c{}}0{{{d{Ij}}c}B`Bj}{{{d{Il}}c}B`Bj}{{{d{hIj}}Bh}j}{{{d{hIj}}Bl}j}{{{d{Ij}}}{{d{Bl}}}}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}0{dc{}}0{dBn}{dAn}{c{{B`{e}}}{}{}}0{{}{{B`{c}}}{}}0{dBb}0<<```{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{In}}}In}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{In}}}Bf}{lj}{{{d{In}}{d{In}}}n}{{d{d{c}}}n{}}000{{{d{In}}{d{hA`}}}Ab}0{cc{}}{{{d{{J`{c}}}}}InCl}{{{d{In}}}Bh}``{{}l}{{}c{}}`{{{d{In}}c}B`Bj}{{{d{hIn}}Bh}j}{{{d{hIn}}Bl}j}{{{d{In}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}`;```````````````````{{{d{h{Jd{}{{Jb{c}}}}}}El}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}En}c{}}{{{d{h{Jf{}{{Jb{c}}}}}}Jh}c{}}{{{d{h{Jf{}{{Jb{c}}}}}}Jj}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Fb}c{}}{{{d{h{Jf{}{{Jb{c}}}}}}I`}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Fd}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Ff}c{}}{{{d{h{Jf{}{{Jb{c}}}}}}Jl}c{}}{{{d{h{Jf{}{{Jb{c}}}}}}Jn}c{}}{{{d{h{Jf{}{{Jb{c}}}}}}K`}c{}}{{{d{h{Jf{}{{Jb{c}}}}}}Kb}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Fh}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Ef}c{}}{{{d{h{Jf{}{{Jb{c}}}}}}Kd}c{}}{{{d{h{Kf{}{{Jb{c}}}}}}Hd}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Ch}c{}}{{{d{h{Kh{}{{Jb{c}}}}}}f}c{}}{{{d{h{Jf{}{{Jb{c}}}}}}Kj}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Fj}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Gb}c{}}{{{d{h{Kl{}{{Jb{c}}}}}}In}c{}}{{{d{h{Kn{}{{Jb{c}}}}}}f}c{}}{{{d{h{L`{}{{Jb{c}}}}}}Lb}c{}}{{{d{h{Jf{}{{Jb{c}}}}}}Ld}c{}}{{{d{h{Jf{}{{Jb{c}}}}}}Lf}c{}}{{{d{h{Lh{}{{Jb{c}}}}}}Lj}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Gf}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Gj}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Gl}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}H`}c{}}{{{d{h{Jd{}{{Jb{c}}}}}}Hb}c{}}````{{{d{h{Ln{}{{Ll{c}}}}}}El}{{M`{Efc}}}Mb}{{{d{h{Ln{}{{Ll{c}}}}}}En}{{M`{Efc}}}Mb}{{{d{h{Ln{}{{Ll{c}}}}}}Bd}{{M`{Efc}}}Mb}{{{d{hMd}}Jh}{{M`{Lfc}}}{}}{{{d{hMd}}Jj}{{M`{Lfc}}}{}}{{{d{h{Ln{}{{Ll{c}}}}}}C`}{{M`{Efc}}}Mb}{{{d{h{Ln{}{{Ll{c}}}}}}Cb}{{M`{Efc}}}Mb}{{{d{h{Ln{}{{Ll{c}}}}}}Fb}{{M`{Efc}}}Mb}{{{d{hMd}}I`}{{M`{I`c}}}{}}{{{d{h{Ln{}{{Ll{c}}}}}}Fd}{{M`{Efc}}}Mb}{{{d{h{Ln{}{{Ll{c}}}}}}Ff}{{M`{Efc}}}Mb}{{{d{hMd}}Jl}{{M`{Lfc}}}{}}{{{d{hMd}}Jn}{{M`{Lfc}}}{}}{{{d{hMd}}K`}{{M`{Lfc}}}{}}{{{d{hMd}}Kb}{{M`{Lfc}}}{}}{{{d{h{Ln{}{{Ll{c}}}}}}Fh}{{M`{Efc}}}Mb}{{{d{h{Ln{}{{Ll{c}}}}}}Ef}{{M`{Efc}}}Mb}{{{d{hMd}}Kd}{{M`{Lfc}}}{}}{{{d{hMf}}Hd}Hd}{{{d{hMf}}Hf}Hf}{{{d{h{Ln{}{{Ll{c}}}}}}Ch}{{M`{Efc}}}Mb}{{{d{hMf}}f}f}{{{d{hMd}}Kj}{{M`{Lfc}}}{}}{{{d{h{Ln{}{{Ll{c}}}}}}Fj}{{M`{Efc}}}Mb}{{{d{h{Ln{}{{Ll{c}}}}}}Gb}{{M`{Efc}}}Mb}{{{d{hMf}}In}In}{{{d{h{Ln{}{{Ll{c}}}}}}Cd}{{M`{Efc}}}Mb}5{{{d{hMf}}Lb}Lb}{{{d{hMd}}Ld}{{M`{Lfc}}}{}}{{{d{hMd}}Lf}{{M`{Lfc}}}{}}{{{d{hMf}}Lj}Lj}{{{d{h{Ln{}{{Ll{c}}}}}}Gf}{{M`{Efc}}}Mb}{{{d{hMf}}Mh}Mh}{{{d{h{Ln{}{{Ll{c}}}}}}Gj}{{M`{Efc}}}Mb}{{{d{h{Ln{}{{Ll{c}}}}}}Gl}{{M`{Efc}}}Mb}{{{d{h{Ln{}{{Ll{c}}}}}}Cf}{{M`{Efc}}}Mb}{{{d{h{Ln{}{{Ll{c}}}}}}H`}{{M`{Efc}}}Mb}{{{d{h{Ln{}{{Ll{c}}}}}}Hb}{{M`{Efc}}}Mb}`````{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{El}}{d{c}}}eMbMb}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{En}}{d{c}}}eMbMb}{{{d{hMn}}{d{Jh}}}j}{{{d{hMn}}{d{Jj}}}j}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Fb}}{d{c}}}eMbMb}{{{d{hMn}}{d{I`}}}j}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Fd}}{d{c}}}eMbMb}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Ff}}{d{c}}}eMbMb}{{{d{hMn}}{d{Jl}}}j}{{{d{hMn}}{d{Jn}}}j}{{{d{hMn}}{d{K`}}}j}{{{d{hMn}}{d{Kb}}}j}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Fh}}{d{c}}}eMbMb}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Ef}}{d{c}}}eMbMb}{{{d{hMn}}{d{Kd}}}j}{{{d{hN`}}{d{Hd}}}j}{{{d{hN`}}{d{Hf}}}j}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Ch}}{d{c}}}eMbMb}{{{d{hN`}}{d{f}}}j}{{{d{hMn}}{d{Kj}}}j}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Fj}}{d{c}}}eMbMb}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Gb}}{d{c}}}eMbMb}{{{d{hN`}}{d{In}}}j}4{{{d{hN`}}{d{Lb}}}j}{{{d{hMn}}{d{Ld}}}j}{{{d{hMn}}{d{Lf}}}j}{{{d{hN`}}{d{Lj}}}j}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Gf}}{d{c}}}eMbMb}1{{{d{hN`}}{d{Mh}}}j}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Gj}}{d{c}}}eMbMb}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Gl}}{d{c}}}eMbMb}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{H`}}{d{c}}}eMbMb}{{{d{h{Ml{}{{Mj{c}}{Jb{e}}}}}}{d{Hb}}{d{c}}}eMbMb}`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{f}}}f}{{d{d{hc}}}j{}}{dj}{{}f}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{f}}}Bf}{lj}{{{d{f}}{d{f}}}n}{{d{d{c}}}n{}}000{{{d{f}}{d{hA`}}}Ab}0{cc{}}`{{}l}{{}c{}}```{{{d{f}}c}B`Bj}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}8`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Gd}}}Gd}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Gd}}}Bf}{lj}{{{d{Gd}}{d{Gd}}}n}{{d{d{c}}}n{}}000{{{d{Gd}}{d{hA`}}}Ab}0{cc{}}{{{d{{Nb{c}}}}}GdCl}{ChGd}{{{d{Gd}}{d{hc}}}jCn}{{}l}{{}c{}}``{{{d{Gd}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}8`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Lb}}}Lb}{{d{d{hc}}}j{}}{dj}`{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Lb}}}Bf}{lj}{{{d{Lb}}{d{Lb}}}n}{{d{d{c}}}n{}}000{{{d{Lb}}{d{hA`}}}Ab}0{cc{}}{MhLb}`{{}l}{{}c{}}``{{{d{Lb}}c}B`Bj}``{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}8``````````````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Lf}}}Lf}{{d{d{hc}}}j{}}{dj}````{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Lf}}}Bf}{lj}{{BlBh}Lf}{{{d{Lf}}{d{Lf}}}n}{{d{d{c}}}n{}}000`{{{d{Lf}}{d{hA`}}}Ab}0{cc{}}{{{d{Lf}}}Bh}{{}l}{{}c{}}``{{{d{Lf}}c}B`Bj}{{{d{hLf}}Bh}j}{{{d{hLf}}Bl}j}{{{d{Lf}}}Bl}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};`````{d{{d{c}}}{}}0{{{d{h}}}{{d{hc}}}{}}0{{{d{Nd}}}Nd}{{{d{Jh}}}Jh}{{d{d{hc}}}j{}}0{dj}0{l{{d{c}}}{}}0{l{{d{hc}}}{}}0{c{{B`{Nd}}}Bf}{c{{B`{Jh}}}Bf}{lj}0{{{d{Nd}}{d{Nd}}}n}{{{d{Jh}}{d{Jh}}}n}{{d{d{c}}}n{}}0000000{{{d{Nd}}{d{hA`}}}Ab}{{{d{Jh}}{d{hA`}}}Ab}0{cc{}}0{{{d{Jh}}}Bh}`{{}l}0{{}c{}}0{{{d{Nd}}c}B`Bj}{{{d{Jh}}c}B`Bj}{{{d{hJh}}Bh}j}{{{d{hJh}}Bl}j}{{{d{Jh}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}0{dc{}}0{dBn}{dAn}{c{{B`{e}}}{}{}}0{{}{{B`{c}}}{}}0{dBb}0`<<`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Jj}}}Jj}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Jj}}}Bf}{lj}{{{d{Jj}}{d{Jj}}}n}{{d{d{c}}}n{}}000{{{d{Jj}}{d{hA`}}}Ab}0{cc{}}{{{d{Jj}}}Bh}`{{}l}{{}c{}}`{{{d{Jj}}c}B`Bj}{{{d{hJj}}Bh}j}{{{d{hJj}}Bl}j}{{{d{Jj}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}`;`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{I`}}}I`}{{d{d{hc}}}j{}}{dj}{{}I`}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{I`}}}Bf}{lj}{{{d{I`}}{d{I`}}}n}{{d{d{c}}}n{}}000{{{d{I`}}{d{hA`}}}Ab}0{cc{}}{{{d{I`}}}Bh}`{{}l}{{}c{}}{{{d{I`}}c}B`Bj}{{{d{hI`}}Bh}j}{{{d{hI`}}Bl}j}{{{d{I`}}}Bl}``{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Jl}}}Jl}{{d{d{hc}}}j{}}{dj}`{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Jl}}}Bf}{lj}{{{d{Jl}}{d{Jl}}}n}{{d{d{c}}}n{}}000{{{d{Jl}}{d{hA`}}}Ab}0{cc{}}{{{d{Jl}}}Bh}`{{}l}{{}c{}}`{{{d{Jl}}c}B`Bj}{{{d{hJl}}Bh}j}{{{d{hJl}}Bl}j}{{{d{Jl}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}`{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};``````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Nf}}}Nf}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Nf}}}Bf}{lj}{{{d{Nf}}{d{Nf}}}n}{{d{d{c}}}n{}}000{{{d{Nf}}{d{hA`}}}Ab}0{cc{}}{{}l}{{}c{}}{{{d{Nf}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}8`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Jn}}}Jn}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Jn}}}Bf}{lj}{{{d{Jn}}{d{Jn}}}n}{{d{d{c}}}n{}}000{{{d{Jn}}{d{hA`}}}Ab}0{cc{}}`{{{d{Jn}}}Bh}`{{}l}{{}c{}}{{{d{Jn}}c}B`Bj}{{{d{hJn}}Bh}j}{{{d{hJn}}Bl}j}{{{d{Jn}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{K`}}}K`}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{K`}}}Bf}{lj}{{{d{K`}}{d{K`}}}n}{{d{d{c}}}n{}}000{{{d{K`}}{d{hA`}}}Ab}0{cc{}}{{{d{K`}}}Bh}`{{}l}{{}c{}}`{{{d{K`}}c}B`Bj}{{{d{hK`}}Bh}j}{{{d{hK`}}Bl}j}{{{d{K`}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}`{dBb}`;````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Kb}}}Kb}{{d{d{hc}}}j{}}{dj}``{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Kb}}}Bf}{lj}{{{d{Kb}}{d{Kb}}}n}{{d{d{c}}}n{}}000{{{d{Kb}}{d{hA`}}}Ab}0{cc{}}{{{d{Kb}}}Bh}`{{}l}{{}c{}}`{{{d{Kb}}c}B`Bj}{{{d{hKb}}Bh}j}{{{d{hKb}}Bl}j}{{{d{Kb}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}`{dBb}`;```{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Nh}}}Nh}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Nh}}}Bf}{lj}{{{d{Nh}}{d{Nh}}}n}{{d{d{c}}}n{}}000{{{d{Nh}}{d{hA`}}}Ab}0{cc{}}{{}l}{{}c{}}{{{d{Nh}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}8`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Kd}}}Kd}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Kd}}}Bf}{lj}{{{d{Kd}}{d{Kd}}}n}{{d{d{c}}}n{}}000`{{{d{Kd}}{d{hA`}}}Ab}0{cc{}}{{{d{Kd}}}Bh}`{{}l}{{}c{}}{{{d{Kd}}c}B`Bj}{{{d{hKd}}Bh}j}{{{d{hKd}}Bl}j}{{{d{Kd}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};``{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Kj}}}Kj}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Kj}}}Bf}{lj}{{{d{Kj}}{d{Kj}}}n}{{d{d{c}}}n{}}000{{{d{Kj}}{d{hA`}}}Ab}0{cc{}}{{{d{Kj}}}Bh}``{{}l}{{}c{}}{{{d{Kj}}c}B`Bj}{{{d{hKj}}Bh}j}{{{d{hKj}}Bl}j}{{{d{Kj}}}Bl}`````{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}`{dBb}`;`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Ld}}}Ld}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Ld}}}Bf}{lj}{{{d{Ld}}{d{Ld}}}n}{{d{d{c}}}n{}}000`{{{d{Ld}}{d{hA`}}}Ab}0{cc{}}{{{d{Ld}}}Bh}`{{}l}{{}c{}}{{{d{Ld}}c}B`Bj}{{{d{hLd}}Bh}j}{{{d{hLd}}Bl}j}{{{d{Ld}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb};`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Lj}}}Lj}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Lj}}}Bf}{lj}{{{d{Lj}}{d{Lj}}}n}{{d{d{c}}}n{}}000`{{{d{Lj}}{d{hA`}}}Ab}0{cc{}}{{{d{{Nj{c}}}}D`}LjCl}{{{d{{Nl{c}}}}}LjCl}{{{d{Lj}}}Bh}``{{}l}{{}c{}}```{{{d{Lj}}}D`}{{{d{Lj}}c}B`Bj}{{{d{hLj}}Bh}j}{{{d{hLj}}Bl}j}{{{d{Lj}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}<`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Nn}}}Nn}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Nn}}}Bf}{lj}{{{d{Nn}}{d{Nn}}}n}{{d{d{c}}}n{}}000{{{d{Nn}}{d{hA`}}}Ab}0{cc{}}{{{d{Nn}}}Bh}``{{}l}{{}c{}}`{{{d{Nn}}}D`}{{{d{Nn}}c}B`Bj}{{{d{hNn}}Bh}j}{{{d{hNn}}Bl}j}{{{d{Nn}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}`{dBb}<`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Mh}}}Mh}{{d{d{hc}}}j{}}{dj}`{{}Mh}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Mh}}}Bf}{lj}{{{d{Mh}}{d{Mh}}}n}{{d{d{c}}}n{}}000{{{d{Mh}}{d{hA`}}}Ab}0{cc{}}```{{}l}{{}c{}}`{{{d{Mh}}c}B`Bj}```{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}8``{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Hf}}}Hf}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Hf}}}Bf}{lj}{{{d{Hf}}{d{Hf}}}n}{{d{d{c}}}n{}}000{{{d{Hf}}{d{hA`}}}Ab}00{HdHf}{cc{}}{{{d{{O`{ce}}}}D`}HfCl{{Ob{c}}}}{{{d{{Od{ceg}}}}D`D`}HfCl{{Ob{c}}}{{Of{c}}}}{{{d{{Od{ceg}}}}D`}HfCl{{Ob{c}}}{{Of{c}}}}{{{d{Hf}}}Bh}``{{}l}`{{}c{}}{{{d{Hf}}}n}{{{d{Hf}}}D`}{{{Db{Hh}}nHjCh{Db{Hl}}{Db{Hn}}BlBh}Hf}``{{{d{Hf}}c}B`Bj}{{{d{hHf}}Bh}j}{{{d{hHf}}Bl}j}{{{d{Hf}}}Bl}`{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}`>`````````{{{d{Oh}}}{{d{If}}}}{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Oh}}}Oh}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Oh}}}Bf}{lj}9`{{{d{Oh}}{d{Oh}}}n}{{d{d{c}}}n{}}000{{{d{Oh}}{d{hA`}}}Ab}0{cc{}}{{{d{{Oj{c}}}}{Dj{D`}}}OhCl}{{{d{Oh}}{d{hc}}}jCn}{{}l}{{}c{}}{{{d{Oh}}}l}`{{IfEb}Oh}{{{d{Oh}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}:``{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Ol}}}Ol}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{lj}{{{d{Ol}}{d{Ol}}}n}{{d{d{c}}}n{}}000{cc{}}{{D`D`}{{Dj{Ol}}}}{{}l}{{}c{}}{dc{}}{{{d{Ol}}}If}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}5`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{On}}}On}{{d{d{hc}}}j{}}{dj}{{}On}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{On}}}Bf}{lj}{{{d{On}}{d{On}}}n}{{d{d{c}}}n{}}000{{{d{On}}{d{hA`}}}Ab}0{cc{}}{{{d{On}}{d{hc}}}jCn}{{}l}{{{d{On}}}{{d{{Al{If}}}}}}`{{}c{}}`{{{d{On}}}{{d{{Dj{Df}}}}}}`{{{Db{If}}{Dj{Df}}n}On}{{{d{On}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}:```````````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{A@`}}}A@`}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{A@`}}}Bf}{lj}{{{d{A@`}}{d{A@`}}}n}{{d{d{c}}}n{}}000{{{d{A@`}}{d{hA`}}}Ab}0{cc{}}{{{d{A@`}}{d{hc}}}jCn}{{}l}{{}c{}}{{{d{A@`}}}n}{{{d{A@`}}c}B`Bj}{A@`D`}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}:`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{A@b}}}A@b}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{A@b}}}Bf}{lj}{{{d{A@b}}{d{A@b}}}n}{{d{d{c}}}n{}}000{{{d{A@b}}{d{hA`}}}Ab}0{cc{}}{{{d{A@b}}{d{hc}}}jCn}{{}l}{{}c{}}``{{{d{A@b}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}`8`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{Dh}}}Dh}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{Dh}}}Bf}{lj}{{{d{Dh}}{d{Dh}}}n}{{d{d{c}}}n{}}000{{{d{Dh}}{d{hA`}}}Ab}0{cc{}}{{{d{Dh}}{d{hc}}}jCn}`{{}l}{{}c{}}`{{{d{Dh}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}8`{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{A@d}}}A@d}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{A@d}}}Bf}{lj}{{{d{A@d}}}{{d{{Al{If}}}}}}`{{{d{A@d}}{d{A@d}}}n}{{d{d{c}}}n{}}000{{{d{A@d}}{d{hA`}}}Ab}0{cc{}}{{{d{A@d}}{d{hc}}}jCn}{{}l}{{}c{}}{{{d{A@d}}}l}{{{Db{If}}}A@d}{{{d{A@d}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}:`````````````````{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{If}}}If}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}{c{{B`{If}}}Bf}{lj}{{{d{If}}{d{If}}}n}00{{d{d{c}}}n{}}000{{{d{If}}{d{hA`}}}Ab}0{G`If}{{{d{G`}}}If}{cc{}}{{{d{{A@f{c}}}}{Dj{D`}}}IfCl}{{{d{If}}{d{hc}}}jCn}{{}l}{{}c{}}{{{d{If}}c}B`Bj}{{{d{hAj}}{d{Ah}}}{{B`{c}}}{}}{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{}{{B`{c}}}{}}{dBb}8```````````````````{{G`Bl}{{Af{G`}}}}0{{G`G`Bl}{{Af{G`}}}}0{{{d{G`}}}{{d{G`}}}}11{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{G`}}}G`}{{d{d{hc}}}j{}}{dj}{l{{d{c}}}{}}{l{{d{hc}}}{}}88{lj}{{{d{G`}}{d{G`}}}n}:{{d{d{c}}}n{}}000{{{d{G`}}{d{hA`}}}Ab}0{cc{}}==``{{}l}{{}c{}}{{{d{G`}}}n}{{G`G`Bl}{{Af{G`}}}}000{{G`Bl}{{Af{G`}}}}011111111{dc{}}{dBn}{dAn}{c{{B`{e}}}{}{}}{{{d{Fj}}}{{Af{G`c}}}{}}{{}{{B`{c}}}{}}{dBb}:8","D":"EKd","p":[[5,"Ast",0],[1,"reference"],[5,"Program",2067],[0,"mut"],[1,"unit"],[1,"usize"],[1,"bool"],[5,"Formatter",3243],[8,"Result",3243],[5,"PathBuf",3244],[8,"Result",3245],[1,"str"],[6,"Value",3246],[1,"slice"],[5,"String",3247],[6,"Result",3248],[5,"TypeId",3249],[5,"ArrayAccess",82],[10,"Deserializer",3250],[8,"NodeID",348],[10,"Serializer",3251],[5,"Span",3252],[5,"SmolStr",3253],[5,"AssociatedConstant",119],[5,"AssociatedFunction",156],[5,"MemberAccess",194],[5,"TupleAccess",231],[5,"Identifier",275],[5,"Identifier",3254],[10,"Network",3255],[10,"Hasher",3256],[5,"Symbol",3257],[5,"Vec",3258],[5,"IndexMap",3259],[5,"Location",317],[5,"CompositeType",3051],[6,"Option",3260],[10,"Node",348],[5,"NodeBuilder",354],[5,"NodeBuilderInner",354],[5,"NonNegativeNumber",397],[5,"StaticString",434],[6,"Expression",465],[10,"FromStrRadix",917],[5,"ParseIntError",3261],[6,"AccessExpression",635],[5,"ArrayExpression",673],[6,"BinaryOperation",709],[5,"BinaryExpression",709],[5,"CallExpression",807],[5,"CastExpression",845],[5,"ErrExpression",882],[6,"Literal",917],[10,"Display",3243],[5,"DisplayDecimal",917],[6,"Value",3168],[5,"LocatorExpression",978],[5,"ProgramId",2102],[5,"StructExpression",1018],[5,"StructVariableInitializer",1018],[5,"TernaryExpression",1094],[5,"TupleExpression",1132],[6,"UnaryOperation",1168],[5,"UnaryExpression",1168],[5,"UnitExpression",1243],[5,"Function",1278],[5,"FunctionStub",2820],[5,"Annotation",1330],[6,"Variant",1759],[5,"Input",1645],[5,"Output",1720],[5,"Block",2328],[6,"CoreFunction",1366],[6,"Mode",1687],[6,"Type",3117],[6,"GroupCoordinate",1796],[6,"GroupLiteral",1829],[5,"GroupTuple",1829],[5,"Mapping",1894],[5,"Mapping",3262],[17,"Output"],[10,"ExpressionConsumer",1936],[10,"StatementConsumer",1936],[5,"AssertStatement",2226],[5,"AssignStatement",2291],[5,"ConditionalStatement",2365],[5,"ConsoleStatement",2437],[5,"ConstDeclaration",2473],[5,"DefinitionStatement",2511],[5,"ExpressionStatement",2585],[10,"FunctionConsumer",1936],[10,"ImportConsumer",1936],[5,"IterationStatement",2621],[10,"MappingConsumer",1936],[10,"ProgramConsumer",1936],[10,"ProgramScopeConsumer",1936],[5,"ProgramScope",2136],[5,"ReturnStatement",2664],[6,"Statement",2172],[10,"StructConsumer",1936],[5,"Composite",2700],[17,"AdditionalOutput"],[10,"ExpressionReconstructor",1984],[1,"tuple"],[10,"Default",3263],[10,"StatementReconstructor",1984],[10,"ProgramReconstructor",1984],[5,"Stub",2782],[17,"AdditionalInput"],[10,"ExpressionVisitor",2027],[10,"StatementVisitor",2027],[10,"ProgramVisitor",2027],[5,"ProgramID",3264],[6,"AssertVariant",2226],[6,"ConsoleFunction",2405],[6,"DeclarationType",2554],[5,"RecordType",3265],[5,"StructType",3266],[5,"Member",2743],[5,"ClosureCore",3267],[10,"InstructionTrait",3268],[5,"FunctionCore",3269],[10,"CommandTrait",3270],[5,"ArrayType",2877],[5,"ArrayType",3271],[6,"CoreConstant",2914],[5,"FutureType",2939],[6,"IntegerType",2976],[5,"MappingType",3018],[5,"TupleType",3083],[6,"PlaintextType",3272]],"r":[[51,82],[52,119],[53,156],[54,194],[55,231],[468,635],[475,673],[479,709],[480,709],[485,807],[487,845],[493,882],[496,917],[503,917],[531,1018],[532,1018],[536,1094],[541,1132],[543,1168],[544,1168],[546,1243],[2512,2554]],"b":[[98,"impl-Debug-for-ArrayAccess"],[99,"impl-Display-for-ArrayAccess"],[134,"impl-Display-for-AssociatedConstant"],[135,"impl-Debug-for-AssociatedConstant"],[172,"impl-Debug-for-AssociatedFunction"],[173,"impl-Display-for-AssociatedFunction"],[209,"impl-Debug-for-MemberAccess"],[210,"impl-Display-for-MemberAccess"],[246,"impl-Debug-for-TupleAccess"],[247,"impl-Display-for-TupleAccess"],[290,"impl-Debug-for-Identifier"],[291,"impl-Display-for-Identifier"],[412,"impl-Display-for-NonNegativeNumber"],[413,"impl-Debug-for-NonNegativeNumber"],[415,"impl-From%3Cusize%3E-for-NonNegativeNumber"],[416,"impl-From%3CString%3E-for-NonNegativeNumber"],[450,"impl-Display-for-StaticString"],[451,"impl-Debug-for-StaticString"],[574,"impl-Debug-for-Expression"],[575,"impl-Display-for-Expression"],[655,"impl-Display-for-AccessExpression"],[656,"impl-Debug-for-AccessExpression"],[689,"impl-Debug-for-ArrayExpression"],[690,"impl-Display-for-ArrayExpression"],[769,"impl-Debug-for-BinaryOperation"],[770,"impl-Display-for-BinaryOperation"],[771,"impl-Debug-for-BinaryExpression"],[772,"impl-Display-for-BinaryExpression"],[823,"impl-Display-for-CallExpression"],[824,"impl-Debug-for-CallExpression"],[861,"impl-Debug-for-CastExpression"],[862,"impl-Display-for-CastExpression"],[897,"impl-Debug-for-ErrExpression"],[898,"impl-Display-for-ErrExpression"],[948,"impl-Debug-for-Literal"],[949,"impl-Display-for-Literal"],[993,"impl-Debug-for-LocatorExpression"],[994,"impl-Display-for-LocatorExpression"],[1050,"impl-Display-for-StructVariableInitializer"],[1051,"impl-Debug-for-StructVariableInitializer"],[1052,"impl-Debug-for-StructExpression"],[1053,"impl-Display-for-StructExpression"],[1110,"impl-Debug-for-TernaryExpression"],[1111,"impl-Display-for-TernaryExpression"],[1148,"impl-Display-for-TupleExpression"],[1149,"impl-Debug-for-TupleExpression"],[1210,"impl-Display-for-UnaryExpression"],[1211,"impl-Debug-for-UnaryExpression"],[1258,"impl-Debug-for-UnitExpression"],[1259,"impl-Display-for-UnitExpression"],[1297,"impl-Debug-for-Function"],[1298,"impl-Display-for-Function"],[1345,"impl-Debug-for-Annotation"],[1346,"impl-Display-for-Annotation"],[1660,"impl-Display-for-Input"],[1661,"impl-Debug-for-Input"],[1706,"impl-Debug-for-Mode"],[1707,"impl-Display-for-Mode"],[1735,"impl-Display-for-Output"],[1736,"impl-Debug-for-Output"],[1815,"impl-Debug-for-GroupCoordinate"],[1816,"impl-Display-for-GroupCoordinate"],[1861,"impl-Display-for-GroupLiteral"],[1862,"impl-Debug-for-GroupLiteral"],[1909,"impl-Debug-for-Mapping"],[1910,"impl-Display-for-Mapping"],[2083,"impl-Display-for-Program"],[2084,"impl-Debug-for-Program"],[2117,"impl-Display-for-ProgramId"],[2118,"impl-Debug-for-ProgramId"],[2120,"impl-From%3C%26ProgramID%3CN%3E%3E-for-ProgramId"],[2121,"impl-From%3CIdentifier%3E-for-ProgramId"],[2152,"impl-Debug-for-ProgramScope"],[2153,"impl-Display-for-ProgramScope"],[2206,"impl-Display-for-Statement"],[2207,"impl-Debug-for-Statement"],[2260,"impl-Debug-for-AssertStatement"],[2261,"impl-Display-for-AssertStatement"],[2306,"impl-Display-for-AssignStatement"],[2307,"impl-Debug-for-AssignStatement"],[2344,"impl-Debug-for-Block"],[2345,"impl-Display-for-Block"],[2381,"impl-Debug-for-ConditionalStatement"],[2382,"impl-Display-for-ConditionalStatement"],[2423,"impl-Display-for-ConsoleFunction"],[2424,"impl-Debug-for-ConsoleFunction"],[2452,"impl-Debug-for-ConsoleStatement"],[2453,"impl-Display-for-ConsoleStatement"],[2488,"impl-Display-for-ConstDeclaration"],[2489,"impl-Debug-for-ConstDeclaration"],[2531,"impl-Display-for-DefinitionStatement"],[2532,"impl-Debug-for-DefinitionStatement"],[2571,"impl-Display-for-DeclarationType"],[2572,"impl-Debug-for-DeclarationType"],[2601,"impl-Debug-for-ExpressionStatement"],[2602,"impl-Display-for-ExpressionStatement"],[2637,"impl-Debug-for-IterationStatement"],[2638,"impl-Display-for-IterationStatement"],[2680,"impl-Debug-for-ReturnStatement"],[2681,"impl-Display-for-ReturnStatement"],[2716,"impl-Debug-for-Composite"],[2717,"impl-Display-for-Composite"],[2758,"impl-Display-for-Member"],[2759,"impl-Debug-for-Member"],[2799,"impl-Debug-for-Stub"],[2800,"impl-Display-for-Stub"],[2836,"impl-Debug-for-FunctionStub"],[2837,"impl-Display-for-FunctionStub"],[2895,"impl-Debug-for-ArrayType"],[2896,"impl-Display-for-ArrayType"],[2955,"impl-Debug-for-FutureType"],[2956,"impl-Display-for-FutureType"],[3001,"impl-Debug-for-IntegerType"],[3002,"impl-Display-for-IntegerType"],[3033,"impl-Display-for-MappingType"],[3034,"impl-Debug-for-MappingType"],[3066,"impl-Display-for-CompositeType"],[3067,"impl-Debug-for-CompositeType"],[3100,"impl-Display-for-TupleType"],[3101,"impl-Debug-for-TupleType"],[3150,"impl-Display-for-Type"],[3151,"impl-Debug-for-Type"],[3152,"impl-From%3CValue%3E-for-Type"],[3153,"impl-From%3C%26Value%3E-for-Type"],[3204,"impl-PartialEq-for-Value"],[3205,"impl-Value"],[3210,"impl-Debug-for-Value"],[3211,"impl-Display-for-Value"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAANEJWQECAAEABQARABoAAgAeAAEAJQACACwABwA7AAIARgAAAFAAAABVAA8AZgAAAGkAAABrAAMAcAAHAHkADwCKAAAAjAAAAI8AAwCUAAUAmwABAJ8ADwCwAAAAsgAAALUAAwC6AAYAwgAAAMQADwDVAAAA1wAAANsAAwDgAAcA6QAPAPoAAAD9AAAA/wADAAQBBQALAQgAFQEPACYBAgAqAQAALwEDADQBGgBQAQEAUwEJAGUBEgB6AQEAhAEJAI8BDwCgAQMApgEAAKkBBgCyARIAxgEAAMgBCQAlAgAAJwIIADECAwA3AgUAPwIBAEICAABEAgAAUwIAAFYCAQBfAgMAbgIIAHgCAwCCAg8AkwIBAJYCCwCjAggArQIGALUCAAC3AgAAuQIDAL4CBwDmAh8ACQMAAAsDAQASAwQAGAMPACoDDwA8AwAAPgMAAEEDAwBGAwcATwMNAF4DAQBhAwAAYwMAAGUDAwBqAwUAcQMBAHQDDwCFAwAAhwMAAIkDAwCOAwcAmAMAAKADCwCtAwkAuQMFAMEDEQDUAw8A5QMBAOgDAADuAwMA8wMHAP0DAwACBBcAGwQDACEEAQAmBAEALAQHADYEAwA7BAsASAQEAE4ECgBaBAAAXgQAAGAEAwBlBAcAbgQIAHgEBgCABAAAggQAAIQEAwCJBAcAngQeAMAEAADCBAEAyAQEAM4EDQDdBA8A7gQAAPAEAADyBAMA9wQHAAAFAAADBRAAFgUBABoFAQAeBQAAIQUAACQFAwApBQcAMgUAADQFDwBFBQAASAUAAEoFAwBPBVwArQW1AGUGAABpBgQAbwYQAIEGAACDBgAAhQYAAIcGAACJBgMAjgYGAJYGAgCaBhIArgYAALAGCAC6Bg8AywYAAM0GAADPBgAA0QYDANYGBgDeBgYA5gYOAPYGAAD8BggACgcPABsHAAAdBwgAKgceAEsHAABNBwEAUQcEAFcHDQBoBw8AeQcBAH0HAACABwMAhQcGAI0HAACVBwcAoQcgAMUHJwDuBwAA8QciABUIBAAbCAoAKAgAACoIAAAtCAAALwgHADgIDwBJCAMAUAgIAFoIBABgCAoAbAgAAG4IAAByCAAAdQgHAIgIDwCZCAcAoggBAKUIDQC4CB4A2QgAANsIAQDfCAQA5QgLAPIIAQD1CA8ABgkAAAgJAAALCQMAEAkGABgJAAAaCRAALAkAAC4JAAAwCQMANgkHAD8JBABFCQoAUQkAAFMJAABWCQMAWwkAAF0JCABqCQ8AewkAAH0JCACHCQ8AmQkAAJsJAACdCQMAogkHAKsJDwC8CQAAvgkAAMEJAwDGCQUAzQkAAM8JAADUCQUA2wkKAOcJAADpCQAA7AkDAPEJBQD4CQAA+gkAAP4JDwAPCgAAEQoIABsKDQAqCgEALQoAAC8KAAAxCgMANgoHAEAKDwBRCgAAVAoAAFYKAwBfCgUAZgoAAGgKAABqCg0AeQoBAHwKAAB+CgAAgAoDAIUKBwCOCg0AnQoBAKAKAgClCgAAqAoAAKsKAwCwCgcAuQoPAMoKAADNCgAA0QoDANYKBQDdCgEA4AoEAOcKCgDzCgAA9goAAPkKAAD9CgcABwsPABgLAAAaCwEAHQsAACALAAAoCwMALQsGADULCABACwgASgsHAFMLAgBYCwAAWgsIAGQLDQB0CwAAdgsAAHgLAwB9CxAAjwsBAJILAACUCwAAlgsAAJgLDQCnCxQAvQsBAMELAADDCwcAzAsPAN0LAQDgCwsA7QsPAP4LAgACDAkADQwIABcMBwAgDAEAJQwIAD8MCQBLDAcAVAwCAFgMNACODAQAlAwSAKgMAwA="}],["leo_compiler",{"t":"FFFFFFNNOOOONNNNNONNNNNNNCOOOONNNNNNNOONNNNNNNNONNNNNNNNOOONNOOONNNNNNNNNNNNNOONOCOOOOONNOONOOONNNNNNNNNNNNNNNONNOOOONNFFFNOOONNNNNNNNONNNNNNNNNOOONNNOONOOONNOOOONNONNNNNNOONNNFFFONNNNNNONNNNNNNNNOOONNNNNNNNNOONNNONNNNNNOOONNNOOONNNNNNNNNONNNOONNN","n":["Ast","BuildOptions","Compiler","CompilerOptions","OutputOptions","SymbolTable","as_ref","as_repr","assigner","ast","","ast_spans_enabled","attach_finalize","borrow","","borrow_mut","","build","check_shadowing","clone","","clone_into","","clone_to_uninit","","compiler","compiler_options","conditional_block_max_depth","dce_ast","dce_enabled","default","","deref","","deref_mut","","deserialize","destructured_ast","disable_conditional_branch_type_checking","drop","","eq","","equivalent","","","","flattened_ast","fmt","","from","","from_json_file","","from_json_string","","functions","handler","import_stubs","init","","initial_ast","initial_symbol_table","inlined_ast","insert_block","insert_fn","insert_futures","insert_struct","insert_variable","into","","into_repr","lookup_fn_symbol","lookup_scope_by_index","lookup_struct","lookup_variable","lookup_variable_in_current_scope","main_file_path","network","new","node_builder","options","output","output_directory","parent","phantom","program_name","remove_variable_from_current_scope","scope_index","","scopes","serialize","ssa_ast","structs","symbol_table_spans_enabled","take_from_value","to_json_file","","to_json_file_without_keys","","to_json_string","","to_json_value","","to_owned","","try_from","","try_into","","type_checked_symbol_table","type_id","","type_table","unrolled_ast","unrolled_symbol_table","variables","vzip","","Ast","Compiler","SymbolTable","add_import_stubs","assigner","ast","","borrow","borrow_mut","checksum","clone","clone_into","clone_to_uninit","code_generation_pass","compile","compiler_options","compiler_stages","dead_code_elimination_pass","deref","deref_mut","destructuring_pass","drop","flattening_pass","from","function_inlining_pass","functions","handler","import_stubs","init","into","loop_unrolling_pass","main_file_path","network","new","node_builder","output_directory","parent","parse_program","parse_program_from_string","phantom","program_name","scope_index","scopes","static_analysis_pass","static_single_assignment_pass","structs","symbol_table_pass","to_owned","try_from","try_into","type_checker_pass","type_id","type_table","variables","vzip","write_ast_to_json","write_symbol_table_to_json","BuildOptions","CompilerOptions","OutputOptions","ast_spans_enabled","borrow","","","borrow_mut","","","build","clone","","","clone_into","","","clone_to_uninit","","","conditional_block_max_depth","dce_ast","dce_enabled","default","","","deref","","","deref_mut","","","destructured_ast","disable_conditional_branch_type_checking","drop","","","flattened_ast","from","","","init","","","initial_ast","initial_symbol_table","inlined_ast","into","","","output","ssa_ast","symbol_table_spans_enabled","to_owned","","","try_from","","","try_into","","","type_checked_symbol_table","type_id","","","unrolled_ast","unrolled_symbol_table","vzip","",""],"q":[[0,"leo_compiler"],[119,"leo_compiler::compiler"],[176,"leo_compiler::options"],[247,"leo_ast"],[248,"leo_ast::program"],[249,"leo_passes::common::symbol_table"],[250,"leo_ast::common::location"],[251,"leo_errors::errors"],[252,"core::result"],[253,"leo_span::symbol"],[254,"core::option"],[255,"leo_span::span"],[256,"serde::de"],[257,"core::fmt"],[258,"std::path"],[259,"leo_ast::functions"],[260,"alloc::vec"],[261,"leo_ast::struct"],[262,"leo_passes::common::symbol_table::variable_symbol"],[263,"leo_passes::common::symbol_table::function_symbol"],[264,"core::cell"],[265,"serde::ser"],[266,"serde_json::value"],[267,"alloc::string"],[268,"core::any"],[269,"snarkvm_console_network"],[270,"core::clone"],[271,"leo_passes::common::graph"],[272,"leo_errors::emitter"],[273,"leo_ast::stub"],[274,"indexmap::map"],[275,"leo_span::source_map"]],"i":"``````b0Cn01Ehj0303Dn1141414`3Ef30252525230252555553252525252442533322222255222224454`1424422222323225252525252525325433225```444544444444444444444424444444444244442244244444442444```31031031103103103030103103103301033103103333103133103103103310333103","f":"``````{{{d{b}}}{{d{f}}}}0````{{{d{hj}}ll}{{Ab{nA`}}}}{d{{d{c}}}{}}0{{{d{h}}}{{d{hc}}}{}}0`{{{d{j}}{d{l}}{Af{Ad}}AhAj}{{Ab{nA`}}}}{{{d{j}}}j}{{{d{b}}}b}{{d{d{hc}}}n{}}0{dn}0`````{{}j}{{}b}{Al{{d{c}}}{}}0{Al{{d{hc}}}{}}0{c{{Ab{j}}}An}``{Aln}0{{{d{j}}{d{j}}}Ah}{{{d{b}}{d{b}}}Ah}{{d{d{c}}}Ah{}}000`{{{d{j}}{d{hB`}}}{{Ab{nBb}}}}{{{d{b}}{d{hB`}}}{{Ab{nBb}}}}{cc{}}0{Bd{{Ab{jA`}}}}{Bd{{Ab{bA`}}}}{{{d{Bf}}}{{Ab{jA`}}}}{{{d{Bf}}}{{Ab{bA`}}}}```{{}Al}0```{{{d{hj}}}Al}{{{d{hj}}l{d{Bh}}}{{Ab{nA`}}}}{{{d{hj}}AdAd{Bj{l}}}{{Ab{nA`}}}}{{{d{hj}}l{d{Bl}}}{{Ab{nA`}}}}{{{d{hj}}l{Af{Ad}}Bn}{{Ab{nA`}}}}{{}c{}}0{bf}{{{d{j}}l}{{Af{{d{C`}}}}}}{{{d{j}}Al}{{Af{{d{{Cb{j}}}}}}}}{{{d{j}}l{Af{Ad}}}{{Af{{d{Bl}}}}}}{{{d{j}}l}{{Af{{d{Bn}}}}}}0``{fb}```````{{{d{hj}}l}n}<``{{{d{j}}c}AbCd}```{{{d{hCf}}{d{Bf}}}{{Ab{c}}}{}}{{{d{j}}Bd{d{Bf}}}{{Ab{nA`}}}}{{{d{b}}Bd{d{Bf}}}{{Ab{nA`}}}}{{{d{j}}Bd{d{Bf}}{d{{Ch{{d{Bf}}}}}}}{{Ab{nA`}}}}{{{d{b}}Bd{d{Bf}}{d{{Ch{{d{Bf}}}}}}}{{Ab{nA`}}}}{{{d{j}}}{{Ab{CjA`}}}}{{{d{b}}}{{Ab{CjA`}}}}{{{d{j}}}{{Ab{CfA`}}}}{{{d{b}}}{{Ab{CfA`}}}}{dc{}}0{c{{Ab{e}}}{}{}}0{{}{{Ab{c}}}{}}0`{dCl}0````{{}c{}}0```{{{d{h{Cn{c}}}}}{{D`{n}}}Db}```{d{{d{c}}}{}}{{{d{h}}}{{d{hc}}}{}}{{{d{{Cn{c}}}}}{{D`{Cj}}}Db}{{{d{{Cn{c}}}}}{{Cn{c}}}{DdDb}}{{d{d{hc}}}n{}}{dn}{{{d{h{Cn{c}}}}{d{j}}{d{Df}}{d{Dh}}}{{D`{Cj}}}Db}{{{d{h{Cn{c}}}}}{{D`{Cj}}}Db}`{{{d{h{Cn{c}}}}}{{D`{{Dj{jDfDh}}}}}Db}9{Al{{d{c}}}{}}{Al{{d{hc}}}{}};{Aln}{{{d{h{Cn{c}}}}{d{j}}}{{D`{n}}}Db}{cc{}}{{{d{h{Cn{c}}}}{d{Dh}}}{{D`{n}}}Db}```{{}Al}{{}c{}}{{{d{h{Cn{c}}}}j}{{D`{j}}}Db}``{{CjCj{d{Dl}}BdBd{Af{Dn}}{Eb{AdE`}}}{{Cn{c}}}Db}```{{{d{h{Cn{c}}}}}{{D`{n}}}Db}{{{d{h{Cn{c}}}}{d{Bf}}Ed}{{D`{n}}}Db}````88`{{{d{{Cn{c}}}}}{{D`{j}}}Db}{dc{}}{c{{Ab{e}}}{}{}}{{}{{Ab{c}}}{}}{{{d{{Cn{c}}}}j}{{D`{{Dj{jDfDh}}}}}Db}{dCl}``:{{{d{{Cn{c}}}}{d{Bf}}}{{D`{n}}}Db}{{{d{{Cn{c}}}}{d{Bf}}{d{j}}}{{D`{n}}}Db}````{d{{d{c}}}{}}00{{{d{h}}}{{d{hc}}}{}}00`{{{d{Dn}}}Dn}{{{d{Ef}}}Ef}{{{d{Eh}}}Eh}{{d{d{hc}}}n{}}00{dn}00```{{}Dn}{{}Ef}{{}Eh}{Al{{d{c}}}{}}00{Al{{d{hc}}}{}}00``{Aln}00`{cc{}}00{{}Al}00```{{}c{}}00```{dc{}}00{c{{Ab{e}}}{}{}}00{{}{{Ab{c}}}{}}00`{dCl}00``444","D":"Nn","p":[[5,"Ast",0,247],[1,"reference"],[5,"Program",248],[0,"mut"],[5,"SymbolTable",0,249],[5,"Location",250],[1,"unit"],[6,"LeoError",251],[6,"Result",252],[5,"Symbol",253],[6,"Option",254],[1,"bool"],[5,"Span",255],[1,"usize"],[10,"Deserializer",256],[5,"Formatter",257],[5,"Error",257],[5,"PathBuf",258],[1,"str"],[5,"Function",259],[5,"Vec",260],[5,"Composite",261],[5,"VariableSymbol",262],[5,"FunctionSymbol",263],[5,"RefCell",264],[10,"Serializer",265],[6,"Value",266],[1,"slice"],[5,"String",267],[5,"TypeId",268],[5,"Compiler",119],[8,"Result",251],[10,"Network",269],[10,"Clone",270],[8,"StructGraph",271],[8,"CallGraph",271],[1,"tuple"],[5,"Handler",272],[5,"CompilerOptions",176],[5,"Stub",273],[5,"IndexMap",274],[6,"FileName",275],[5,"BuildOptions",176],[5,"OutputOptions",176]],"r":[[0,247],[1,176],[2,119],[3,176],[4,176],[5,249],[119,247],[121,249]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAIAAKAACAAAABAADAAsAAAAOAAMAFAAFAB8ABgAoAAcAMQABADwAAQA/AAAASAAAAFIAAABVAAEAWgACAF8AAgBoAAYAcAABAHUAAgB6AAAAfgACAIIAAgCKAAEAjQAAAJQAAACcAAAAnwAAAKEAAQCnAAIAqwAAAK0AAQCxAAIAtQAFALwACADIAAgA0wACANoAAgDeAAAA5QAJAPAAAgD1AAIA"}],["leo_disassembler",{"t":"HH","n":["disassemble","disassemble_from_str"],"q":[[0,"leo_disassembler"],[2,"snarkvm_synthesizer_program"],[3,"leo_ast::stub"],[4,"snarkvm_console_network"],[5,"snarkvm_synthesizer_program::traits::instruction"],[6,"snarkvm_synthesizer_program::traits::command"],[7,"leo_errors::errors::utils::util_errors"],[8,"core::result"]],"i":"``","f":"{{{b{ceg}}}df{{h{c}}}{{j{c}}}}{{{n{l}}{n{l}}}{{Ab{dA`}}}}","D":"`","p":[[5,"ProgramCore",2],[5,"Stub",3],[10,"Network",4],[10,"InstructionTrait",5],[10,"CommandTrait",6],[1,"str"],[1,"reference"],[6,"UtilError",7],[6,"Result",8]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAIAEAAAAAAAAQACAA=="}],["leo_errors",{"t":"CQCCCCCCFSONNNNNOONNNNNNONNNNNNONNONNNNNONNFONNNNNNNNNNNNNNNNNNNNONNNNNNKNMMMMMMFFKIFFFINNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNMNNNNONONNNNNNNNNNNNNNNNNONNNNNNMNNNNNONNNNNNNNNNNNNNNNNNNNNONNPPPPPPPPGGPPPPPIPPPPPCNNNNCCNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNCNNCCCNNCNNNNNNCNNCCGPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCPGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCPGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCPGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNFNNNNNNNNNNNNNONNNONNNNNCPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCPPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["common","create_messages","emitter","errors","backtraced","formatted","macros","traits","Backtraced","INDENT","backtrace","borrow","borrow_mut","clone","clone_into","clone_to_uninit","code","code_identifier","default","deref","deref_mut","description","drop","eq","error","error_code","exit_code","fmt","","from","hash","help","init","into","message","new_from_backtrace","to_owned","to_string","try_from","try_into","type_","type_id","warning_code","Formatted","backtrace","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","description","drop","eq","error_code","exit_code","fmt","","from","hash","init","into","new_from_span","span","to_owned","to_string","try_from","try_into","type_id","warning_code","LeoMessageCode","code_identifier","code_mask","error_code","exit_code","is_error","message_type","warning_code","Buffer","BufferEmitter","Emitter","ErrBuffer","Handler","HandlerInner","StderrEmitter","WarningBuffer","borrow","","","","","borrow_mut","","","","","clone","clone_into","clone_to_uninit","default","","","deref","","","","","deref_mut","","","","","drop","","","","","emit_err","","","","","emit_warning","","","","","emitter","err_count","","extend_if_error","extract_errs","extract_warnings","fatal_err","fmt","","from","","","","","had_errors","init","","","","","inner","into","","","","","into_inner","last_emitted_err_code","","","","last_entry","last_err","last_error_code","new","","new_with_buf","push","to_owned","to_string","try_from","","","","","try_into","","","","","type_id","","","","","warn_count","warning_count","with","Anyhow","AstError","CliError","CompilerError","Err","FlattenError","InterpreterHalt","LastErrorCode","LeoError","LeoWarning","LoopUnrollerError","Ok","PackageError","ParserError","ParserWarning","Result","StaticAnalyzerError","StaticAnalyzerWarning","TypeCheckerError","TypeCheckerWarning","UtilError","ast","borrow","","borrow_mut","","cli","compiler","deref","","deref_mut","","drop","","error_code","","exit_code","flattener","fmt","","","","from","","","","","","","","","","","","","","","","","init","","interpreter_halt","into","","loop_unroller","package","parser","source","","static_analyzer","to_string","","try_from","","try_into","","type_checker","type_id","","utils","ast_errors","AstError","Backtraced","Formatted","borrow","borrow_mut","clone","clone_into","clone_to_uninit","code_mask","deref","deref_mut","drop","error_code","exit_code","failed_to_convert_ast_to_json_string","failed_to_convert_ast_to_json_value","failed_to_convert_symbol_table_to_json_string","failed_to_convert_symbol_table_to_json_value","failed_to_create_ast_json_file","failed_to_create_symbol_table_json_file","failed_to_read_json_file","failed_to_read_json_string_to_ast","failed_to_read_json_string_to_symbol_table","failed_to_write_ast_to_json_file","failed_to_write_symbol_table_to_json_file","fmt","","from","","","function_not_found","init","into","is_error","message_type","num_exit_codes","redefining_external_struct","shadowed_function","shadowed_record","shadowed_struct","shadowed_variable","source","to_owned","to_string","try_from","try_into","type_id","warning_code","cli_errors","Backtraced","CliError","Formatted","borrow","borrow_mut","broadcast_error","build_error","cli_invalid_input","cli_io_error","cli_runtime_error","clone","clone_into","clone_to_uninit","code_mask","confirmation_failed","constraint_limit_exceeded","could_not_fetch_versions","deref","deref_mut","drop","error_code","exit_code","failed_to_enable_ansi_support","failed_to_execute_account","failed_to_execute_build","failed_to_execute_deploy","failed_to_execute_execute","failed_to_execute_new","failed_to_execute_node","failed_to_execute_run","failed_to_get_endpoint_from_env","failed_to_get_network_from_env","failed_to_get_private_key_from_env","failed_to_load_instructions","failed_to_parse_deploy","failed_to_parse_execute","failed_to_parse_new","failed_to_parse_node","failed_to_parse_private_key","failed_to_parse_record","failed_to_parse_run","failed_to_parse_seed","failed_to_read_environment_private_key","failed_to_write_file","fmt","","from","","","init","into","invalid_balance","invalid_example","invalid_network_name","is_error","message_type","needs_leo_build","num_exit_codes","old_release_version","recursive_deploy_with_record","self_update_build_error","self_update_error","source","string_parse_error","table_render_failed","to_owned","to_string","try_from","try_into","type_id","variable_limit_exceeded","warning_code","compiler_errors","Backtraced","CompilerError","Formatted","borrow","borrow_mut","cannot_open_cwd","clone","clone_into","clone_to_uninit","code_mask","deref","deref_mut","drop","error_code","exit_code","file_read_error","fmt","","from","","","illegal_static_member_assignment","import_not_found","imported_program_not_found","init","into","is_error","message_type","num_exit_codes","program_name_should_match_file_name","program_scope_name_does_not_match","source","to_owned","to_string","try_from","try_into","type_id","warning_code","flattener_errors","Backtraced","FlattenError","Formatted","binary_overflow","borrow","borrow_mut","clone","clone_into","clone_to_uninit","code_mask","deref","deref_mut","drop","error_code","exit_code","fmt","","from","","","init","into","is_error","loop_has_neg_value","message_type","num_exit_codes","source","to_owned","to_string","try_from","try_into","type_id","type_name","u128_to_i128","unary_overflow","warning_code","InterpreterHalt","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","drop","fmt","","from","init","into","message","new","new_spanned","span","","to_owned","to_string","try_from","try_into","type_id","loop_unroller_errors","Backtraced","Formatted","LoopUnrollerError","borrow","borrow_mut","clone","clone_into","clone_to_uninit","code_mask","deref","deref_mut","drop","error_code","exit_code","fmt","","from","","","init","into","is_error","loop_range_decreasing","message_type","num_exit_codes","source","to_owned","to_string","try_from","try_into","type_id","variable_array_access","warning_code","package_errors","Backtraced","Formatted","PackageError","borrow","borrow_mut","clone","clone_into","clone_to_uninit","code_mask","conflicting_on_chain_program_name","dependency_not_found","deref","deref_mut","directory_not_found","drop","empty_source_directory","error_code","execution_error","exit_code","failed_to_create_aleo_file","failed_to_create_directory","failed_to_create_inputs_directory","failed_to_create_manifest","failed_to_create_source_directory","failed_to_deserialize_lock_file","failed_to_deserialize_manifest_file","failed_to_get_file_name","failed_to_get_input_file_entry","failed_to_get_input_file_type","failed_to_get_leo_file_entry","failed_to_get_leo_file_extension","failed_to_initialize_package","failed_to_load_package","failed_to_open_aleo_file","failed_to_open_manifest","failed_to_read_checksum_file","failed_to_read_circuit_file","failed_to_read_file","failed_to_read_input_file","failed_to_read_inputs_directory","failed_to_read_manifest","failed_to_read_manifest_file","failed_to_read_snapshot_file","failed_to_remove_aleo_file","failed_to_remove_checksum_file","failed_to_remove_circuit_file","failed_to_remove_directory","failed_to_remove_snapshot_file","failed_to_serialize_manifest_file","failed_to_set_cwd","failed_to_write_aleo_file","failed_to_write_manifest","fmt","","from","","","init","insufficient_balance","into","invalid_file_name_dependency","invalid_input_file_type","invalid_leo_file_extension","invalid_lock_file_formatting","invalid_package_name","io_error_checksum_file","io_error_circuit_file","io_error_env_file","io_error_gitignore_file","io_error_input_file","io_error_main_file","is_error","message_type","missing_on_chain_program_name","num_exit_codes","snarkvm_error","source","source_directory_can_contain_only_one_file","to_owned","to_string","try_from","try_into","type_id","unimplemented_command","warning_code","parser_errors","parser_warnings","Backtraced","Formatted","ParserError","array_must_have_at_least_one_element","async_finalize_is_deprecated","borrow","borrow_mut","cannot_declare_external_struct","cannot_define_external_record","cannot_import_inside_program_body","circuit_is_deprecated","clone","clone_into","clone_to_uninit","code_mask","comma_expected_after_member","console_statements_are_not_yet_supported","could_not_lex","deref","deref_mut","drop","error_code","exit_code","external_type_cannot_be_used_inside_function","finalize_statements_are_deprecated","fmt","","from","","","hexbin_literal_nonintegers","identifier_too_long","implicit_values_not_allowed","init","inputs_multiple_variable_modes_specified","into","invalid_address_lit","invalid_associated_access","invalid_external_type","invalid_import_list","invalid_method_call","invalid_network","is_error","leo_and_aleo_imports_only","lexer_bidi_override","lexer_block_comment_does_not_close_before_eof","lexer_empty_block_comment","lexer_empty_input","lexer_expected_valid_escaped_char","lexer_hex_number_provided","lexer_string_not_closed","message_type","missing_program_scope","mixed_commas_and_semicolons","num_exit_codes","only_aleo_external_calls","only_one_program_scope_is_allowed","source","space_in_annotation","spread_in_array_init","to_owned","to_string","try_from","try_into","tuple_index_must_be_whole_number","tuple_must_have_at_least_two_elements","type_id","unexpected","unexpected_eof","unexpected_ident","unexpected_statement","unexpected_str","unexpected_token","unexpected_whitespace","warning_code","wrong_digit_for_radix","Backtraced","Formatted","ParserWarning","borrow","borrow_mut","clone","clone_into","clone_to_uninit","code_mask","const_parameter_or_input","deprecated","deref","deref_mut","drop","error_code","exit_code","fmt","","from","","","init","into","is_error","message_type","num_exit_codes","source","to_owned","to_string","try_from","try_into","type_id","warning_code","static_analyzer_error","static_analyzer_warning","Backtraced","Formatted","StaticAnalyzerError","async_transition_call_with_future_argument","borrow","borrow_mut","clone","clone_into","clone_to_uninit","code_mask","deref","deref_mut","drop","error_code","exit_code","expected_future","fmt","","from","","","future_awaits_missing","init","into","invalid_await_call","is_error","message_type","misplaced_future","no_path_awaits_all_futures_exactly_once","num_exit_codes","source","to_owned","to_string","try_from","try_into","type_id","warning_code","Backtraced","Formatted","StaticAnalyzerWarning","borrow","borrow_mut","clone","clone_into","clone_to_uninit","code_mask","deref","deref_mut","drop","error_code","exit_code","fmt","","from","","","future_not_awaited_in_order","init","into","is_error","max_conditional_block_depth_exceeded","message_type","num_exit_codes","some_paths_contain_duplicate_future_awaits","some_paths_do_not_await_all_futures","source","to_owned","to_string","try_from","try_into","type_id","warning_code","type_checker_error","type_checker_warning","Backtraced","Formatted","TypeCheckerError","array_element_cannot_be_future","array_element_cannot_be_record","array_element_cannot_be_tuple","array_empty","array_too_large","assign_unit_expression_to_variable","async_call_can_only_be_done_from_async_transition","async_call_in_conditional","async_cannot_assign_outside_conditional","async_function_cannot_return_value","async_function_input_cannot_be_private","async_function_input_length_mismatch","async_function_input_must_be_public","async_function_not_found","async_transition_invalid_output","async_transition_missing_future_to_return","async_transition_must_call_async_function","borrow","borrow_mut","can_only_await_one_future_at_a_time","can_only_call_inline_function","cannot_assign_to_const_input","cannot_assign_to_const_var","cannot_call_external_inline_function","cannot_define_external_struct","cannot_have_constant_output_mode","cannot_invoke_call_to_local_transition_function","cannot_modify_external_mapping","cannot_reassign_future_variable","clone","clone_into","clone_to_uninit","code_mask","compare_address","composite_data_type_cannot_contain_future","composite_data_type_cannot_contain_tuple","const_declaration_can_only_have_one_binding","const_declaration_must_be_literal_or_tuple_of_literals","core_type_name_conflict","could_not_determine_type","cyclic_function_dependency","cyclic_struct_dependency","deref","deref_mut","drop","duplicate_record_variable","duplicate_struct_member","empty_function_arglist","empty_struct","error_code","exit_code","expected_future","expected_one_type_of","expression_statement_must_be_function_call","external_transition_call_must_be_before_finalize","finalize_block_must_not_be_empty","finalize_output_mode_must_be_public","fmt","","from","","","function_cannot_input_or_output_a_record","function_cannot_take_tuple_as_input","function_has_no_return","future_access_must_be_number","future_awaits_missing","imported_program_cannot_import_program","incorrect_num_args_to_call","incorrect_num_struct_members","incorrect_num_tuple_elements","incorrect_tuple_length","init","into","invalid_assignment_target","invalid_associated_constant","invalid_await_call","invalid_block_access","invalid_core_constant","invalid_core_function","invalid_core_function_call","invalid_future_access","invalid_int_value","invalid_mapping_type","invalid_method_call","invalid_operation_inside_finalize","invalid_operation_outside_finalize","invalid_self_access","invalid_struct_variable","invalid_tuple","invalid_type","is_error","lhs_must_be_identifier_or_tuple","lhs_tuple_element_must_be_an_identifier","loop_body_contains_finalize","loop_body_contains_return","loop_bound_must_be_a_literal","loop_bound_must_be_literal_or_const","loop_bound_type_mismatch","loop_range_decreasing","message_type","missing_return","missing_struct_member","must_call_async_function_once","must_propagate_all_futures","nested_tuple_expression","nested_tuple_type","no_future_parameters","no_path_awaits_all_futures_exactly_once","no_transitions","not_all_futures_consumed","num_exit_codes","only_async_transition_can_return_future","operation_must_be_in_finalize_block","record_var_wrong_type","regular_function_inputs_cannot_have_modes","required_record_variable","return_type_of_finalize_function_is_future","source","strings_are_not_supported","struct_cannot_have_member_mode","struct_definitions_dont_match","struct_or_record_cannot_contain_record","stub_functions_must_be_empty","stub_functions_must_not_be_inlines","stub_name_mismatch","stubs_cannot_have_const_declarations","stubs_cannot_have_non_record_structs","to_owned","to_string","too_many_mappings","too_many_transitions","transition_function_inputs_cannot_be_const","try_from","try_into","tuple_out_of_range","type_id","type_should_be","undefined_type","unit_expression_only_in_return_statements","unknown_annotation","unknown_future_consumed","unknown_sym","unreachable_code_after_return","warning_code","Backtraced","Formatted","TypeCheckerWarning","async_function_is_never_called_by_transition_function","borrow","borrow_mut","clone","clone_into","clone_to_uninit","code_mask","deref","deref_mut","drop","error_code","exit_code","fmt","","from","","","init","into","is_error","max_conditional_block_depth_exceeded","message_type","num_exit_codes","some_paths_contain_duplicate_future_awaits","some_paths_do_not_await_all_futures","source","to_owned","to_string","try_from","try_into","type_id","warning_code","util_errors","Backtraced","Formatted","UtilError","borrow","borrow_mut","build_file_does_not_exist","circular_dependency_error","clone","clone_into","clone_to_uninit","code_mask","deref","deref_mut","drop","duplicate_dependency_name_error","endpoint_moved_error","error_code","exit_code","failed_to_deserialize_file","failed_to_open_file","failed_to_read_file","failed_to_retrieve_dependencies","failed_to_retrieve_from_endpoint","fmt","","from","","","init","into","invalid_bound","invalid_field","invalid_height_or_hash","invalid_input_id","invalid_input_id_len","invalid_numerical_input","invalid_range","is_error","json_serialization_error","message_type","missing_network_error","missing_path_error","network_error","num_exit_codes","program_name_mismatch_error","reqwest_error","snarkvm_error_building_program_id","snarkvm_parsing_error","source","to_owned","to_string","toml_serizalization_error","try_from","try_into","type_id","util_file_io_error","warning_code"],"q":[[0,"leo_errors"],[4,"leo_errors::common"],[8,"leo_errors::common::backtraced"],[43,"leo_errors::common::formatted"],[72,"leo_errors::common::traits"],[80,"leo_errors::emitter"],[187,"leo_errors::errors"],[267,"leo_errors::errors::ast"],[268,"leo_errors::errors::ast::ast_errors"],[316,"leo_errors::errors::cli"],[317,"leo_errors::errors::cli::cli_errors"],[389,"leo_errors::errors::compiler"],[390,"leo_errors::errors::compiler::compiler_errors"],[428,"leo_errors::errors::flattener"],[429,"leo_errors::errors::flattener::flattener_errors"],[465,"leo_errors::errors::interpreter_halt"],[489,"leo_errors::errors::loop_unroller"],[490,"leo_errors::errors::loop_unroller::loop_unroller_errors"],[523,"leo_errors::errors::package"],[524,"leo_errors::errors::package::package_errors"],[609,"leo_errors::errors::parser"],[611,"leo_errors::errors::parser::parser_errors"],[687,"leo_errors::errors::parser::parser_warnings"],[720,"leo_errors::errors::static_analyzer"],[722,"leo_errors::errors::static_analyzer::static_analyzer_error"],[759,"leo_errors::errors::static_analyzer::static_analyzer_warning"],[794,"leo_errors::errors::type_checker"],[796,"leo_errors::errors::type_checker::type_checker_error"],[944,"leo_errors::errors::type_checker::type_checker_warning"],[979,"leo_errors::errors::utils"],[980,"leo_errors::errors::utils::util_errors"],[1037,"alloc::string"],[1038,"core::fmt"],[1039,"core::hash"],[1040,"core::option"],[1041,"backtrace::capture"],[1042,"core::result"],[1043,"core::any"],[1044,"leo_span::span"],[1045,"core::convert"],[1046,"alloc::vec"],[1047,"alloc::boxed"],[1048,"core::ops::function"],[1049,"anyhow"],[1050,"core::error"],[1051,"std::fs"]],"i":"``````````f00000000000000000000000000000000`Bf000000000000000000000000000`Bj000000````````CfChBnC`Bl43210000210432104321043210Cb5431054314343113225432135432135432120541235313212543215432154321433Cd000Gl111``1011Cl`20202`2020``202020202`22002222222222222000020`20```20`202020`20```Ed0000000000000000000000000000000000000000000000`Fb`0000000000000000000000000000000000000000000000000000000000000000000000`Eh`000000000000000000000000000000000000`Ej`000000000000000000000000000000`000`Eb0000000000000000000000`El0`000000000000000000000000000000`Ef0`0000000000000000000000000000000000000000000000000000000000000000000000000000000000``F`0`0000000000000000000000000000000000000000000000000000000000000000000000000Fn0`000000000000000000000000000000``Fd0`0000000000000000000000000000000000Fl0`00000000000000000000000000000000``En0`0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Fj0`00000000000000000000000000000000`Fh0`000000000000000000000000000000000000000000000000000000","f":"```````````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{f}}}f}{{b{b{dc}}}h{}}{bh}``{{}f}{j{{b{c}}}{}}{j{{b{dc}}}{}}{{{b{f}}}{{b{l}}}}{jh}{{{b{f}}{b{f}}}n}`{{{b{f}}}A`}{{{b{f}}}Ab}{{{b{f}}{b{dAd}}}Af}0{cc{}}{{{b{f}}{b{dc}}}hAh}`{{}j}{{}c{}}`{{c{Aj{A`}}AbAlA`nAn}fB`}{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}`{bBd}<``{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Bf}}}Bf}{{b{b{dc}}}h{}}{bh}{{}Bf}{j{{b{c}}}{}}{j{{b{dc}}}{}}{{{b{Bf}}}{{b{l}}}}{jh}{{{b{Bf}}{b{Bf}}}n}{{{b{Bf}}}A`}{{{b{Bf}}}Ab}{{{b{Bf}}{b{dAd}}}Af}0{cc{}}{{{b{Bf}}{b{dc}}}hAh}{{}j}{{}c{}}{{c{Aj{A`}}AbAlA`nBhAn}BfB`}`{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}<`{{}Al}{{}Ab}{{{b{Bj}}}A`}{{{b{Bj}}}Ab}{{}n}{{}A`}3````````{b{{b{c}}}{}}0000{{{b{d}}}{{b{dc}}}{}}0000{{{b{Bl}}}Bl}{{b{b{dc}}}h{}}{bh}{{}Bn}{{}{{C`{c}}}{}}{{}Bl}{j{{b{c}}}{}}0000{j{{b{dc}}}{}}0000{jh}0000{{{b{dCb}}Cd}h}{{{b{dCf}}Cd}h}{{{b{dCh}}Cd}h}{{{b{Bn}}c}h{{Cj{Cd}}}}{{{b{dBl}}Cd}h}{{{b{dCb}}Cl}h}{{{b{dCf}}Cl}h}{{{b{dCh}}Cl}h}{{{b{Bn}}Cl}h}{{{b{dBl}}Cl}h}`{{{b{Bn}}}j}`{{{b{Bn}}{Bb{cCd}}}{{Bb{ch}}}{}}{{{b{Bl}}}Cn}{{{b{Bl}}}D`}{{{b{Bn}}Cd}Db}{{{b{{C`{c}}}}{b{dAd}}}AfDd}{{{b{{C`{c}}}}{b{dAd}}}AfDf}{cc{}}0000{{{b{Bn}}}n}{{}j}0000`{{}c{}}0000{{{C`{c}}}{{Dh{c}}}{}}{{{b{Cb}}}{{Aj{Ab}}}}{{{b{Cf}}}{{Aj{Ab}}}}{{{b{Ch}}}{{Aj{Ab}}}}{{{b{Bl}}}{{Aj{Ab}}}}{{{b{{C`{c}}}}}{{Aj{{b{c}}}}}{}}{{{b{Bn}}}{{Bb{h{Dj{Cd}}}}}}`{{{Dj{Cb}}}Bn}{{}Bl}{{}{{Dl{BnBl}}}}{{{b{d{C`{c}}}}c}h{}}{bc{}}{bA`}{c{{Bb{e}}}{}{}}0000{{}{{Bb{c}}}{}}0000{bBd}0000`{{{b{Bn}}}j}{e{{Bb{cCn}}}{}{{E`{{b{Bn}}}{{Dn{{Bb{cCd}}}}}}}}``````````````````````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0``{j{{b{c}}}{}}0{j{{b{dc}}}{}}0{jh}0{{{b{Cd}}}A`}{{{b{Cl}}}A`}{{{b{Cd}}}Ab}`{{{b{Cd}}{b{dAd}}}Af}0{{{b{Cl}}{b{dAd}}}Af}0{cc{}}{EbCd}{EdCd}{EfCd}{EhCd}{EjCd}{ElCd}{EnCd}{F`Cd}{FbCd}{FdCd}{FfCd}{FhCd}<{FjCl}{FlCl}{FnCl}{{}j}0`{{}c{}}0```{{{b{Cd}}}{{Aj{{b{G`}}}}}}{{{b{Cl}}}{{Aj{{b{G`}}}}}}`{bA`}0{c{{Bb{e}}}{}{}}0{{}{{Bb{c}}}{}}0`{bBd}0`````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Ed}}}Ed}{{b{b{dc}}}h{}}{bh}{{}Ab}{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{Ed}}}A`}{{{b{Ed}}}Ab}{cEdG`}000{{ce}EdDdG`}001100{{{b{Ed}}{b{dAd}}}Af}0{BfEd}{fEd}{cc{}}{cEdDf}{{}j}{{}c{}}{{}n}{{}A`}{{}Ab}{{cBh}EdDf}0000{{{b{Ed}}}{{Aj{{b{G`}}}}}}{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}{{{b{Ed}}}A`}````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{cFbDf}00{cFbG`}1{{{b{Fb}}}Fb}{{b{b{dc}}}h{}}{bh}?{{}Fb}{{cGbe}FbDfDf}5{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{Fb}}}A`}{{{b{Fb}}}Ab}6;;;;;;;666;;;;;;;;;;;{{{b{Fb}}{b{dAd}}}Af}0{BfFb}{fFb}{cc{}}{{}j}{{}c{}}{cFbDf}00{{}n}{{}A`}?{{}Ab}{{ce}FbDfDf}{{}Fb}{cFbG`}0{{{b{Fb}}}{{Aj{{b{G`}}}}}}77{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}{{cGbe}FbDfDf}{{{b{Fb}}}A`}````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{cBh}EhG`}{{{b{Eh}}}Eh}{{b{b{dc}}}h{}}{bh}{{}Ab}{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{Eh}}}A`}{{{b{Eh}}}Ab}{{ce}EhDdG`}{{{b{Eh}}{b{dAd}}}Af}0{fEh}{cc{}}{BfEh}{{cBh}EhDf}0{{ceBh}EhDfDf}{{}j}{{}c{}}{{}n}{{}A`}{{}Ab}55{{{b{Eh}}}{{Aj{{b{G`}}}}}}{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}{{{b{Eh}}}A`}````{{cegiBh}EjDfDfDfDf}{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Ej}}}Ej}{{b{b{dc}}}h{}}{bh}={j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{Ej}}}A`}{{{b{Ej}}}Ab}{{{b{Ej}}{b{dAd}}}Af}0{fEj}{cc{}}{BfEj}{{}j}{{}c{}}{{}n}{{cBh}EjDf}{{}A`}{{}Ab}{{{b{Ej}}}{{Aj{{b{G`}}}}}}{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}{{{b{c}}}{{b{l}}}{}}9{{ceBh}EjDfDf}{{{b{Ej}}}A`}`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Eb}}}Eb}{{b{b{dc}}}h{}}{bh}{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{Eb}}{b{dAd}}}Af}0{cc{}}{{}j}{{}c{}}`{A`Eb}{{A`Bh}Eb}{{{b{Eb}}}{{Aj{Bh}}}}`{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{El}}}El}{{b{b{dc}}}h{}}{bh}{{}Ab}{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{El}}}A`}{{{b{El}}}Ab}{{{b{El}}{b{dAd}}}Af}0{fEl}{cc{}}{BfEl}{{}j}{{}c{}}{{}n}{BhEl}{{}A`}>{{{b{El}}}{{Aj{{b{G`}}}}}}{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}7{{{b{El}}}A`}````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Ef}}}Ef}{{b{b{dc}}}h{}}{bh}{{}Ab}{{ce}EfDfDf}{cEfDf}{j{{b{c}}}{}}{j{{b{dc}}}{}}3{jh}{{}Ef}{{{b{Ef}}}A`}5{{{b{Ef}}}Ab}6{{ce}EfDfG`}{cEfG`}800140{{ce}EfDdG`}1{cEfDd}{{ceg}EfDfDdDf};;;11413;41;114144;;{{{b{Ef}}{b{dAd}}}Af}0{fEf}{cc{}}{BfEf}{{}j}{{ceg}EfDfDfDf}{{}c{}}{cEfDf}{{cGd}EfDd}{{ce}EfDdDd}{{}Ef}3>>>>>>{{}n}{{}A`}2{{}Ab}6{{{b{Ef}}}{{Aj{{b{G`}}}}}}4{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}<{{{b{Ef}}}A`}`````{{cBh}F`Df}{BhF`}{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}2222{{{b{F`}}}F`}{{b{b{dc}}}h{}}{bh}>55{cF`Df}{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{F`}}}A`}{{{b{F`}}}Ab}{{ceBh}F`DfDf}<{{{b{F`}}{b{dAd}}}Af}0{cc{}}{fF`}{BfF`}{BhF`}{{cjjBh}F`Df}{{cBh}F`Df}{{}j}3{{}c{}}2244{{cegBh}F`DfDfDf}5{{}n}6{{}F`}{cF`Df}11000{{}A`}99{{}Ab}::{{{b{F`}}}{{Aj{{b{G`}}}}}};;{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}=={bBd}{{ceBh}F`DfDf}{BhF`}{{c{b{{Gf{e}}}}Bh}F`DfDf}22{{cBh}F`Df}3{{{b{F`}}}A`}{{GhGjA`}F`}```{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Fn}}}Fn}{{b{b{dc}}}h{}}{bh}{{}Ab}{BhFn}{{ceBh}FnDfDf}{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{Fn}}}A`}{{{b{Fn}}}Ab}{{{b{Fn}}{b{dAd}}}Af}0{cc{}}{BfFn}{fFn}{{}j}{{}c{}}{{}n}{{}A`}?{{{b{Fn}}}{{Aj{{b{G`}}}}}}{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}?`````{{cBh}FdDf}{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Fd}}}Fd}{{b{b{dc}}}h{}}{bh}{{}Ab}{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{Fd}}}A`}{{{b{Fd}}}Ab};{{{b{Fd}}{b{dAd}}}Af}0{BfFd}{cc{}}{fFd}?{{}j}{{}c{}}{BhFd}{{}n}{{}A`}2{{cBh}FdDf}?{{{b{Fd}}}{{Aj{{b{G`}}}}}}{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}{{{b{Fd}}}A`}```{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Fl}}}Fl}{{b{b{dc}}}h{}}{bh}{{}Ab}{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{Fl}}}A`}{{{b{Fl}}}Ab}{{{b{Fl}}{b{dAd}}}Af}0{BfFl}{cc{}}{fFl}{{cBh}FlDf}{{}j}{{}c{}}{{}n}3{{}A`}>{{ceBh}FlDfDf}0{{{b{Fl}}}{{Aj{{b{G`}}}}}}{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}{{{b{Fl}}}A`}`````{BhEn}000{{ceBh}EnDfDf}111{{cBh}EnDf}22120222{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}4422424422{{{b{En}}}En}{{b{b{dc}}}h{}}{bh}{{}Ab}6668866{{{Dh{c}}}EnDf}0{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}::<<{{{b{En}}}A`}{{{b{En}}}Ab}<=>>>>{{{b{En}}{b{dAd}}}Af}0{fEn}{BfEn}{cc{}}{BhEn}0{{cBh}EnDf}001{{ceBh}EnDfDf}000{{}j}{{}c{}}43442232224334243{{}n}55555555{{}A`}6465666565{{}Ab}775757{{{b{En}}}{{Aj{{b{G`}}}}}}88{{cegBh}EnDfDfDf}799799{bc{}}{bA`}::;{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}};{bBd}<=>==<>{{{b{En}}}A`}```{{cBh}FjDf}{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Fj}}}Fj}{{b{b{dc}}}h{}}{bh}>{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}{{{b{Fj}}}A`}{{{b{Fj}}}Ab}{{{b{Fj}}{b{dAd}}}Af}0{cc{}}{fFj}{BfFj}{{}j}{{}c{}}{{}n}{{cBh}FjDf}{{}A`}{{}Ab}{{ceBh}FjDfDf}0{{{b{Fj}}}{{Aj{{b{G`}}}}}}{bc{}}{bA`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}{{{b{Fj}}}A`}````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{cBh}FhDf}{BhFh}{{{b{Fh}}}Fh}{{b{b{dc}}}h{}}{bh}?{j{{b{c}}}{}}{j{{b{dc}}}{}}{jh}7{cFhDf}{{{b{Fh}}}A`}{{{b{Fh}}}Ab}222:{{cBh}FhG`}{{{b{Fh}}{b{dAd}}}Af}0{BfFh}{fFh}{cc{}}{{}j}{{}c{}}999{{ceg}FhDfDfDf}{{ce}FhDfDf};{{}Fh}{{}n}:{{}A`}{{cBh}FhDf}0{{ceBh}FhDfDf}{{}Ab}{{cegBh}FhDfDfDf}{cFhDf}{BhFh}5{{{b{Fh}}}{{Aj{{b{G`}}}}}}{bc{}}{bA`}{{cBh}FhG`}{c{{Bb{e}}}{}{}}{{}{{Bb{c}}}{}}{bBd}{{ceBh}FhDfG`}{{{b{Fh}}}A`}","D":"BCl","p":[[1,"reference"],[0,"mut"],[5,"Backtraced",8],[1,"unit"],[1,"usize"],[1,"str"],[1,"bool"],[5,"String",1037],[1,"i32"],[5,"Formatter",1038],[8,"Result",1038],[10,"Hasher",1039],[6,"Option",1040],[1,"i8"],[5,"Backtrace",1041],[10,"ToString",1037],[6,"Result",1042],[5,"TypeId",1043],[5,"Formatted",43],[5,"Span",1044],[10,"LeoMessageCode",72],[5,"BufferEmitter",80],[5,"Handler",80],[5,"Buffer",80],[10,"Emitter",80],[6,"LeoError",187],[5,"StderrEmitter",80],[5,"HandlerInner",80],[10,"Into",1045],[6,"LeoWarning",187],[8,"ErrBuffer",80],[8,"WarningBuffer",80],[1,"never"],[10,"Debug",1038],[10,"Display",1038],[5,"Vec",1046],[5,"Box",1047],[1,"tuple"],[17,"Output"],[10,"FnOnce",1048],[5,"InterpreterHalt",465],[6,"AstError",268],[6,"PackageError",524],[6,"CompilerError",390],[6,"FlattenError",429],[6,"LoopUnrollerError",490],[6,"TypeCheckerError",796],[6,"ParserError",611],[6,"CliError",317],[6,"StaticAnalyzerError",722],[5,"Error",1049],[6,"UtilError",980],[6,"TypeCheckerWarning",944],[6,"StaticAnalyzerWarning",759],[6,"ParserWarning",687],[10,"Error",1050],[1,"u64"],[5,"FileType",1051],[1,"slice"],[1,"char"],[1,"u32"],[8,"Result",187]],"r":[],"b":[[27,"impl-Debug-for-Backtraced"],[28,"impl-Display-for-Backtraced"],[58,"impl-Display-for-Formatted"],[59,"impl-Debug-for-Formatted"],[136,"impl-Debug-for-Buffer%3CT%3E"],[137,"impl-Display-for-Buffer%3CT%3E"],[225,"impl-Debug-for-LeoError"],[226,"impl-Display-for-LeoError"],[227,"impl-Debug-for-LeoWarning"],[228,"impl-Display-for-LeoWarning"],[230,"impl-From%3CInterpreterHalt%3E-for-LeoError"],[231,"impl-From%3CAstError%3E-for-LeoError"],[232,"impl-From%3CPackageError%3E-for-LeoError"],[233,"impl-From%3CCompilerError%3E-for-LeoError"],[234,"impl-From%3CFlattenError%3E-for-LeoError"],[235,"impl-From%3CLoopUnrollerError%3E-for-LeoError"],[236,"impl-From%3CTypeCheckerError%3E-for-LeoError"],[237,"impl-From%3CParserError%3E-for-LeoError"],[238,"impl-From%3CCliError%3E-for-LeoError"],[239,"impl-From%3CStaticAnalyzerError%3E-for-LeoError"],[240,"impl-From%3CError%3E-for-LeoError"],[241,"impl-From%3CUtilError%3E-for-LeoError"],[243,"impl-From%3CTypeCheckerWarning%3E-for-LeoWarning"],[244,"impl-From%3CStaticAnalyzerWarning%3E-for-LeoWarning"],[245,"impl-From%3CParserWarning%3E-for-LeoWarning"],[293,"impl-Display-for-AstError"],[294,"impl-Debug-for-AstError"],[295,"impl-From%3CFormatted%3E-for-AstError"],[296,"impl-From%3CBacktraced%3E-for-AstError"],[361,"impl-Display-for-CliError"],[362,"impl-Debug-for-CliError"],[363,"impl-From%3CFormatted%3E-for-CliError"],[364,"impl-From%3CBacktraced%3E-for-CliError"],[406,"impl-Display-for-CompilerError"],[407,"impl-Debug-for-CompilerError"],[408,"impl-From%3CBacktraced%3E-for-CompilerError"],[410,"impl-From%3CFormatted%3E-for-CompilerError"],[444,"impl-Debug-for-FlattenError"],[445,"impl-Display-for-FlattenError"],[446,"impl-From%3CBacktraced%3E-for-FlattenError"],[448,"impl-From%3CFormatted%3E-for-FlattenError"],[474,"impl-Display-for-InterpreterHalt"],[475,"impl-Debug-for-InterpreterHalt"],[504,"impl-Display-for-LoopUnrollerError"],[505,"impl-Debug-for-LoopUnrollerError"],[506,"impl-From%3CBacktraced%3E-for-LoopUnrollerError"],[508,"impl-From%3CFormatted%3E-for-LoopUnrollerError"],[576,"impl-Debug-for-PackageError"],[577,"impl-Display-for-PackageError"],[578,"impl-From%3CBacktraced%3E-for-PackageError"],[580,"impl-From%3CFormatted%3E-for-PackageError"],[636,"impl-Debug-for-ParserError"],[637,"impl-Display-for-ParserError"],[639,"impl-From%3CBacktraced%3E-for-ParserError"],[640,"impl-From%3CFormatted%3E-for-ParserError"],[703,"impl-Display-for-ParserWarning"],[704,"impl-Debug-for-ParserWarning"],[706,"impl-From%3CFormatted%3E-for-ParserWarning"],[707,"impl-From%3CBacktraced%3E-for-ParserWarning"],[738,"impl-Debug-for-StaticAnalyzerError"],[739,"impl-Display-for-StaticAnalyzerError"],[740,"impl-From%3CFormatted%3E-for-StaticAnalyzerError"],[742,"impl-From%3CBacktraced%3E-for-StaticAnalyzerError"],[773,"impl-Debug-for-StaticAnalyzerWarning"],[774,"impl-Display-for-StaticAnalyzerWarning"],[775,"impl-From%3CFormatted%3E-for-StaticAnalyzerWarning"],[777,"impl-From%3CBacktraced%3E-for-StaticAnalyzerWarning"],[856,"impl-Debug-for-TypeCheckerError"],[857,"impl-Display-for-TypeCheckerError"],[858,"impl-From%3CBacktraced%3E-for-TypeCheckerError"],[859,"impl-From%3CFormatted%3E-for-TypeCheckerError"],[959,"impl-Debug-for-TypeCheckerWarning"],[960,"impl-Display-for-TypeCheckerWarning"],[962,"impl-From%3CBacktraced%3E-for-TypeCheckerWarning"],[963,"impl-From%3CFormatted%3E-for-TypeCheckerWarning"],[1003,"impl-Debug-for-UtilError"],[1004,"impl-Display-for-UtilError"],[1005,"impl-From%3CFormatted%3E-for-UtilError"],[1006,"impl-From%3CBacktraced%3E-for-UtilError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAO8CfgAMAAQAEwAFABwAAQAfAAAAIQAAACUAAwAqAAAALgAKADsAAQA+AAEAQwAEAFkAHgB5AAAAfAAAAH4AAACBAAAAiQABAJEABACeAAAAoAAAAKgAEADCAAAA0gADANgABQDiAAMA5wALAPQABQD/AAEAAgEFAAkBAQAOAQwAJgEDACsBAQAuAQMANgEGAD4BAABAAQQASAEFAE8BBABVARgAbwEAAHEBBgB5AQAAfAEJAIcBAACJAQwAlwECAJsBAACdAQIAoQELAK4BAACwAQAAsgENAMEBAQDEAQAAxgEHANEBAADTAQkA3gEAAOEBAgDlAQQA6wEBAO4BDQD9AQEAAAILAA0CAQAQAgkAGwIFACMCAAAlAgIALQICADUCAQA4AgAAPQIGAEUCAgBJAgAATAIAAFQCDQBkAgEAZwIFAG4CBAB0AgAAdgIIAIACAwCFAgAAiQIBAI0CAgCXAgEAmgIEAKACAwClAgEArgIDALMCBQC7AgYAwwICAMcCCQDSAgIA1gIPAOcCAgDrAg4A+wINAAoDAgAOAwwAHAMCACADFAA3Aw4ASAMEAE8DBABVAwcAXgMBAGEDAgBmAwIAbAMAAHEDAABzAwQAeQMMAIcDIQCrAwIArwMDALQDDQDDAwIAxwMMANUDAQDYAxcA8QMAAPMDGgA="}],["leo_interpreter",{"t":"SSCCCQQHCHCQHCCCPGPPPIPFFPGPIPFPFGFPPFIONONNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNHNHNONNNNNNNNNNONNNNNNNNNOONNONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNOOONNNNNNNNNOOONOONNNNNONNONNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNOOOOOHHHFNNNNNNNONNNNNNNNFPFGPPPPPPPPPFNONNNNNNNNONNNNNNNNNONNONNNNNNNNNNNNONNNNNNNNNONNNNNNNNOONNOOONNONNNNNNNNNNNNNNNNNNNNNNOFFFFHNNNNNNNNNNNOOHOOONNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNOONNNONNHOONONNNNNNNNNNNNONNNNOOKFNNONNMNNOONNOMONNNNOKRMHPPFPPFPPPPPPPPPFIIIIIIIPPPPPPPGONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNONHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["HELP","INTRO","cursor","cursor_aleo","dialoguer_input","halt","halt_no_span","interpret","interpreter","parse_breakpoint","ratatui_ui","tc_fail","tokenize_user_input","ui","util","value","AleoClosure","AleoContext","AleoExecution","AleoFunction","Block","Closure","","ContextStack","Cursor","DelayedCall","Element","Expression","Finalize","","Frame","Function","FunctionContext","FunctionVariant","GlobalId","Leo","Statement","StepResult","SvmFunction","accumulated_futures","add_future","block_height","borrow","","","","","","","","","borrow_mut","","","","","","","","","branch","caller","clone","","","","","","","","","clone_into","","","","","","","","","clone_to_uninit","","","","","","","","","contexts","","current_len","current_program","","default","deref","","","","","","","","","deref_mut","","","","","","","","","do_call","drop","","","","","","","","","element","eq","equivalent","","","","evaluate_binary","evaluate_core_function","evaluate_unary","execution_complete","finished","fmt","","","","","","","","","","frames","from","","","","","","","","","functions","futures","get_future","get_register","globals","hash","increment_instruction_index","increment_step","init","","","","","","","","","instructions_len","into","","","","","","","","","is_async","","last","last_mut","len","lookup","lookup_function","lookup_mapping","lookup_mapping_mut","mapping_by_call_operator","mappings","name","names","new","new_caller","next_command","next_instruction","operand_value","outputs","over","pop","pop_value","program","","","push","really_async","rng","set","set_block_height","set_program","set_register","set_variable","signer","span","step","","step_aleo","step_aleo_command","step_aleo_instruction","step_block","step_expression","step_statement","structs","to_line","to_owned","","","","","","","","","to_smolstr","to_span","to_string","to_text","try_from","","","","","","","","","try_into","","","","","","","","","try_to_compact_string","type_id","","","","","","","","","user_initiated","user_values","value","values","vzip","","","","","","","","","whole_step","block","context","function_body","instruction_index","registers","snarkvm_literal_to_value","snarkvm_literal_type_to_type","value_to_snarkvm_literal","DialoguerUi","borrow","borrow_mut","deref","deref_mut","display_user_data","drop","from","history","init","into","new","receive_user_input","try_from","try_into","type_id","vzip","Breakpoint","","Interpreter","InterpreterAction","Into","LeoInterpretInto","LeoInterpretOver","Over","PrintRegister","Run","RunFuture","Step","Watch","Watchpoint","action","actions","borrow","","","","borrow_mut","","","","breakpoints","clone","","","clone_into","","","clone_to_uninit","","","code","current_program_and_line","current_span","cursor","deref","","","","deref_mut","","","","drop","","","","filename_to_program","fmt","","","from","","","","get_aleo_program","get_ast","handler","init","","","","into","","","","last_result","line","new","new_impl","node_builder","parsed_inputs","program","restore_cursor","save_cursor","saved_cursors","to_owned","","","try_from","","","","try_into","","","","type_id","","","","update_watchpoints","view_current","view_current_in_context","vzip","","","","watchpoints","DebuggerLayout","DrawData","Prompt","RatatuiUi","append_lines","backspace","beginning_of_line","borrow","","","","borrow_mut","","","","check_history","code","","code_text","current","cursor","data","default","","delete","deref","","","","deref_mut","","","","display_user_data","draw","drop","","","","","end_of_line","fmt","from","","","","handle_key","highlight","history","history_index","history_next","history_prev","init","","","","into","","","","left","message","","new","","new_character","prompt","receive_user_input","render","render_titled","result","","right","terminal","try_from","","","","try_into","","","","type_id","","","","user_input","vzip","","","","watchpoints","","Ui","UserData","borrow","borrow_mut","code","deref","deref_mut","display_user_data","drop","from","futures","highlight","init","into","message","receive_user_input","result","try_from","try_into","type_id","vzip","watchpoints","ExpectTc","T","expect_tc","snarkvm_identifier_to_symbol","Address","Array","AsyncExecution","Bool","Field","Future","","Group","I128","I16","I32","I64","I8","Scalar","Struct","StructContents","SvmAddress","SvmBoolean","SvmField","SvmGroup","SvmIdentifier","SvmInteger","SvmScalar","Tuple","U128","U16","U32","U64","U8","Unit","Value","arguments","borrow","","","","borrow_mut","","","","cast","clone","","","","clone_into","","","","clone_to_uninit","","","","contents","default","","deref","","","","deref_mut","","","","drop","","","","eq","","","","","equivalent","","","","","","","","","","","","","","","","fmt","","","","","","from","","","","function","generator","gt","gte","hash","","","","inc_wrapping","init","","","","into","","","","lt","lte","name","neq","really_cast","simple_shl","simple_shr","to_fields","to_line","","to_owned","","","","to_smolstr","","to_span","","to_string","","to_text","","try_from","","","","try_into","","","","try_to_compact_string","","type_id","","","","vzip","","","","write_bits_be","write_bits_le"],"q":[[0,"leo_interpreter"],[16,"leo_interpreter::cursor"],[281,"leo_interpreter::cursor::Element"],[286,"leo_interpreter::cursor_aleo"],[289,"leo_interpreter::dialoguer_input"],[306,"leo_interpreter::interpreter"],[408,"leo_interpreter::ratatui_ui"],[501,"leo_interpreter::ui"],[523,"leo_interpreter::util"],[527,"leo_interpreter::value"],[685,"std::path"],[686,"snarkvm_console_network::testnet_v0"],[687,"snarkvm_console_types_address"],[688,"leo_errors::errors"],[689,"core::option"],[690,"snarkvm_console_program::data::identifier"],[691,"leo_span::symbol"],[692,"leo_span::span"],[693,"core::iter::traits::iterator"],[694,"leo_ast::expressions::binary"],[695,"leo_ast::functions::core_function"],[696,"leo_ast::expressions"],[697,"leo_ast::expressions::unary"],[698,"core::fmt"],[699,"snarkvm_console_program::data::register"],[700,"core::hash"],[701,"std::collections::hash::map"],[702,"snarkvm_synthesizer_program::logic::instruction::operation::call"],[703,"snarkvm_synthesizer_program::logic::command"],[704,"snarkvm_synthesizer_program::logic::instruction"],[705,"snarkvm_synthesizer_program::logic::instruction::operand"],[706,"alloc::vec"],[707,"leo_ast::statement::block"],[708,"leo_ast::statement"],[709,"ratatui::text::line"],[710,"smol_str"],[711,"ratatui::text::span"],[712,"alloc::string"],[713,"ratatui::text::text"],[714,"core::result"],[715,"compact_str"],[716,"core::any"],[717,"snarkvm_console_program::data::literal"],[718,"snarkvm_console_program::data_types::literal_type"],[719,"leo_ast::types::type_"],[720,"snarkvm_synthesizer_program"],[721,"leo_errors::emitter"],[722,"leo_ast::common::node_builder"],[723,"leo_ast"],[724,"core::convert"],[725,"core::iter::traits::collect"],[726,"ratatui::style"],[727,"ratatui::terminal::frame"],[728,"crossterm::event"],[729,"ratatui::layout::rect"],[730,"ratatui::buffer::buffer"],[731,"ratatui::widgets"],[732,"snarkvm_console_program::data::literal::cast"],[733,"snarkvm_console_types_field"],[734,"snarkvm_console_types_group"],[735,"snarkvm_console_types_boolean"],[736,"snarkvm_console_types_scalar"],[737,"snarkvm_console_types_integers"]],"i":"````````````````C``Bj10`Bh``1`1`0`0```21``BfAnBb2134BlBn72Cb546721830355467218305467218305467218304344345467218305467218303546721830211111`3`30546721183035467218303343313354672183035467218304544433333315333333343513433433333732333333315467218301111546721830546721830154672183023035467218303M`Mb100````Gh000000000000000`Gn``000000000`Gl00AfH`32103210310310302222103210321032103210322221032103012222122210321032103210322221032`````Id0IhJ`If32103310`33203321032103202210333210330333321032103310213023`10322103210321031210310``Gj0000Jh11111110111111`Jl0`Cl0`00`000000000````````0000000`K`Jn1B`3120331203120312031031203120312031203311112222000033331200331203233312033120312033313`3330312030303030312031203031203120333","f":"```````{{{f{{d{b}}}}{f{{d{b}}}}{j{h}}ln}{{Ab{A`}}}}`{{{f{Ad}}}{{Ah{Af}}}}``{{{f{Ad}}}{{Aj{{f{Ad}}{f{Ad}}}}}}```````````````````````````{{{f{AlAn}}B`}A`}`{f{{f{c}}}{}}00000000{{{f{Al}}}{{f{Alc}}}{}}00000000{{{f{AlBb}}{f{{Bd{h}}}}}A`}`{{{f{Bf}}}Bf}{{{f{An}}}An}{{{f{Bh}}}Bh}{{{f{Bj}}}Bj}{{{f{Bl}}}Bl}{{{f{Bn}}}Bn}{{{f{C`}}}C`}{{{f{Bb}}}Bb}{{{f{Cb}}}Cb}{{f{f{Alc}}}A`{}}00000000{fA`}00000000```{{{f{An}}}{{Ah{Cd}}}}{{{f{Bb}}}{{Ah{Cd}}}}{{}An}{Cf{{f{c}}}{}}00000000{Cf{{f{Alc}}}{}}00000000{{{f{AlBb}}CdCdcnCh}{{Ab{A`}}}{{Cn{}{{Cj{Cl}}}}}}{CfA`}00000000`{{{f{Bn}}{f{Bn}}}n}{{f{f{c}}}n{}}000{{ChD`ClCl}{{Ab{Cl}}}}{{{f{AlBb}}Db{f{{d{Dd}}}}Ch}{{Ab{Cl}}}}{{ChDfCl}{{Ab{Cl}}}}{{{f{Bb}}}n}`{{{f{Bf}}{f{AlDh}}}Dj}{{{f{An}}{f{AlDh}}}Dj}{{{f{Bh}}{f{AlDh}}}Dj}{{{f{Bj}}{f{AlDh}}}Dj}{{{f{Bl}}{f{AlDh}}}Dj}{{{f{Bn}}{f{AlDh}}}Dj}0{{{f{C`}}{f{AlDh}}}Dj}{{{f{Bb}}{f{AlDh}}}Dj}{{{f{Cb}}{f{AlDh}}}Dj}`{cc{}}00000000``{{{f{AlAn}}}B`}{{{f{Bb}}{f{{Dl{h}}}}}{{f{Cl}}}}`{{{f{Bn}}{f{Alc}}}A`Dn}{{{f{AlBb}}}A`}0{{}Cf}00000000{{{f{Bb}}}Cf}{{}c{}}00000000{{{f{An}}}n}`{{{f{An}}}{{Ah{{f{Bf}}}}}}{{{f{AlAn}}}{{Ah{{f{AlBf}}}}}}{{{f{An}}}Cf}{{{f{Bb}}Cd}{{Ah{Cl}}}}{{{f{Bb}}CdCd}{{Ah{C`}}}}{{{f{Bb}}{Ah{Cd}}Cd}{{Ah{{f{{E`{ClCl}}}}}}}}{{{f{AlBb}}{Ah{Cd}}Cd}{{Ah{{f{Al{E`{ClCl}}}}}}}}{{{f{Bb}}{f{{Eb{h}}}}}{{Ah{{f{{E`{ClCl}}}}}}}}```{{n{j{h}}l}Bb}{{{f{Bb}}}{{j{h}}}}{{{f{Bb}}}{{Ah{{f{{Ed{h}}}}}}}}{{{f{Bb}}}{{Ah{{f{{Ef{h}}}}}}}}{{{f{Bb}}{f{{Eh{h}}}}}Cl}{{{f{Bb}}}{{Ej{Cl}}}}{{{f{AlBb}}}{{Ab{Cb}}}}{{{f{AlAn}}}A`}{{{f{AlBb}}}{{Ab{Cl}}}}```{{{f{AlAn}}Cd{j{h}}n}A`}``{{{f{AlAn}}CdCl}A`}{{{f{AlBb}}l}A`}{{{f{AlBb}}{f{Ad}}}A`}{{{f{AlBb}}{Dl{h}}Cl}A`}{{{f{AlBb}}CdCl}A`}`{{{f{Bj}}}Ch}9`{{{f{AlBb}}}{{Ab{A`}}}}{{{f{AlBb}}{Ed{h}}}{{Ab{A`}}}}{{{f{AlBb}}{Ef{h}}}{{Ab{A`}}}}{{{f{AlBb}}{f{El}}nCf}n}{{{f{AlBb}}{f{Dd}}Cf}{{Ab{n}}}}{{{f{AlBb}}{f{En}}Cf}{{Ab{n}}}}`{fF`}{fc{}}00000000{fFb}{fFd}{fFf}{fFh}{c{{Fj{e}}}{}{}}00000000{{}{{Fj{c}}}{}}00000000{f{{Fj{FlFn}}}}{fG`}00000000````{{}c{}}00000000{{{f{AlBb}}}{{Ab{Cb}}}}`````{{{Gb{h}}}Cl}{GdGf}{Cl{{Gb{h}}}}`{f{{f{c}}}{}}{{{f{Al}}}{{f{Alc}}}{}}{Cf{{f{c}}}{}}{Cf{{f{Alc}}}{}}{{{f{AlGh}}{f{Gj}}}A`}{CfA`}{cc{}}`{{}Cf}<{{}Gh}{{{f{AlGh}}}Ff}{c{{Fj{e}}}{}{}}{{}{{Fj{c}}}{}}{fG`}{{}c{}}``````````````{{{f{AlGl}}Gn}{{Ab{{Ah{Cl}}}}}}`>>>>====`{{{f{Af}}}Af}{{{f{H`}}}H`}{{{f{Gn}}}Gn}{{f{f{Alc}}}A`{}}00{fA`}00`{{{f{Gl}}}{{Ah{{Aj{FfCf}}}}}}{{{f{Gl}}}{{Ah{Ch}}}}`{Cf{{f{c}}}{}}000{Cf{{f{Alc}}}{}}000{CfA`}000`{{{f{Af}}{f{AlDh}}}Dj}{{{f{H`}}{f{AlDh}}}Dj}{{{f{Gn}}{f{AlDh}}}Dj}{cc{}}000{{{f{Hb}}}{{Ab{{Hd{h}}}}}}{{{f{Hb}}{f{Hf}}{f{Hh}}}{{Ab{Hj}}}}`{{}Cf}000{{}c{}}000``{{ei{j{h}}l}{{Ab{Gl}}}{{Hl{Hb}}}{{Hn{}{{Cj{{f{c}}}}}}}{{Hl{Hb}}}{{Hn{}{{Cj{{f{g}}}}}}}}{{{f{AlCn}}{f{AlCn}}{j{h}}l}{{Ab{Gl}}}}```{{{f{AlGl}}}n}{{{f{AlGl}}}A`}`{fc{}}00{c{{Fj{e}}}{}{}}000{{}{{Fj{c}}}{}}000{fG`}000{{{f{AlGl}}}{{Ab{n}}}}{{{f{Gl}}}{{Ah{{`{I`}}}}}}{{{f{Gl}}}{{Ah{{Aj{{`{I`}}CfCf}}}}}};;;;`````{{{f{Al{Ej{F`}}}}{Ah{F`}}{f{Ad}}Ib}{{Ah{F`}}}}{{{f{AlId}}}A`}0{f{{f{c}}}{}}000{{{f{Al}}}{{f{Alc}}}{}}0002``{{{f{Ad}}{Ah{{Aj{CfCf}}}}}{{Aj{FhCf}}}}```{{}If}{{}Id}5{Cf{{f{c}}}{}}000{Cf{{f{Alc}}}{}}000{{{f{AlIh}}{f{Gj}}}A`}{{{f{AlIf}}{f{AlIj}}}A`}{{{f{AlIh}}}A`}{CfA`}000;{{{f{Id}}{f{AlDh}}}Dj}{cc{}}000{{{f{AlId}}Iln}{{Ah{Ff}}}}```>>{{}Cf}000{{}c{}}000{{{f{AlId}}}A`}``{{}Ih}{InJ`}{{{f{AlId}}Jb}A`}`{{{f{AlIh}}}Ff}{{{f{Id}}In{f{AlJd}}}A`}{{{f{AlIj}}c{f{Ad}}In}A`Jf}``6`{c{{Fj{e}}}{}{}}000{{}{{Fj{c}}}{}}000{fG`}000`::::````{f{{f{c}}}{}}{{{f{Al}}}{{f{Alc}}}{}}`{Cf{{f{c}}}{}}{Cf{{f{Alc}}}{}}{{{f{AlJh}}{f{Gj}}}A`}{CfA`}{cc{}}``{{}Cf}{{}c{}}`{{{f{AlJh}}}Ff}`<;:1```{{{Jl{}{{Jj{c}}}}Ch}{{Ab{c}}}{}}{{{f{{Bd{h}}}}}Cd}````````````````````````````````;;;;::::{{Cl{f{Gf}}}{{Ah{Cl}}}}{{{f{Jn}}}Jn}{{{f{K`}}}K`}{{{f{B`}}}B`}{{{f{Cl}}}Cl}{{f{f{Alc}}}A`{}}000{fA`}000`{{}B`}{{}Cl}{Cf{{f{c}}}{}}000{Cf{{f{Alc}}}{}}000{CfA`}000{{{f{Jn}}{f{Jn}}}n}{{{f{K`}}{f{K`}}}n}{{{f{B`}}{f{B`}}}n}{{{f{Cl}}{f{Cl}}}{{Ab{n}}}}{{{f{Cl}}{f{Cl}}}n}{{f{f{c}}}n{}}000000000000000{{{f{Jn}}{f{AlDh}}}Dj}{{{f{K`}}{f{AlDh}}}Dj}{{{f{B`}}{f{AlDh}}}Dj}0{{{f{Cl}}{f{AlDh}}}Dj}0{cc{}}000`>77{{{f{Jn}}{f{Alc}}}A`Dn}{{{f{K`}}{f{Alc}}}A`Dn}{{{f{B`}}{f{Alc}}}A`Dn}{{{f{Cl}}{f{Alc}}}A`Dn}{{{f{Cl}}}Cl}{{}Cf}000{{}c{}}000>>`>{{c{f{Gf}}}{{Ah{Cl}}}{{Kb{{j{h}}}}{Kb{{Kd{h}}}}{Kb{{j{h}}}}{Kb{{Kf{h}}}}{Kb{{Kh{h}}}}{Kb{{Kj{h}}}}{Kb{{Kn{hKl}}}}{Kb{{Kn{hL`}}}}{Kb{{Kn{hl}}}}{Kb{{Kn{hLb}}}}{Kb{{Kn{hLd}}}}{Kb{{Kn{hLf}}}}{Kb{{Kn{hLh}}}}{Kb{{Kn{hLj}}}}{Kb{{Kn{hLl}}}}{Kb{{Kn{hLn}}}}}}{{{f{Cl}}l}Cl}0{{{f{Cl}}}{{Ej{{Kd{h}}}}}}{fF`}0{fc{}}000{fFb}0{fFd}0{fFf}0{fFh}0{c{{Fj{e}}}{}{}}000{{}{{Fj{c}}}{}}000{f{{Fj{FlFn}}}}0{fG`}000===={{{f{Cl}}{f{Al{Ej{n}}}}}A`}0","D":"In","p":[[5,"PathBuf",685],[1,"slice"],[1,"reference"],[5,"TestnetV0",686],[5,"Address",687],[1,"u32"],[1,"bool"],[1,"unit"],[8,"Result",688],[1,"str"],[5,"Breakpoint",306],[6,"Option",689],[1,"tuple"],[0,"mut"],[5,"ContextStack",16],[5,"Future",527],[5,"Cursor",16],[5,"Identifier",690],[5,"FunctionContext",16],[6,"AleoContext",16],[6,"Element",16],[5,"Frame",16],[5,"GlobalId",16],[6,"FunctionVariant",16],[5,"StepResult",16],[5,"Symbol",691],[1,"usize"],[5,"Span",692],[17,"Item"],[6,"Value",527],[10,"Iterator",693],[6,"BinaryOperation",694],[6,"CoreFunction",695],[6,"Expression",696],[6,"UnaryOperation",697],[5,"Formatter",698],[8,"Result",698],[6,"Register",699],[10,"Hasher",700],[5,"HashMap",701],[6,"CallOperator",702],[6,"Command",703],[6,"Instruction",704],[6,"Operand",705],[5,"Vec",706],[5,"Block",707],[6,"Statement",708],[5,"Line",709],[5,"SmolStr",710],[5,"Span",711],[5,"String",712],[5,"Text",713],[6,"Result",714],[5,"CompactString",715],[6,"ToCompactStringError",715],[5,"TypeId",716],[6,"Literal",717],[6,"LiteralType",718],[6,"Type",719],[5,"DialoguerUi",289],[5,"UserData",501],[5,"Interpreter",306],[6,"InterpreterAction",306],[5,"Watchpoint",306],[5,"Path",685],[8,"Program",720],[5,"Handler",721],[5,"NodeBuilder",722],[5,"Ast",723],[10,"AsRef",724],[10,"IntoIterator",725],[10,"Display",698],[5,"Style",726],[5,"Prompt",408],[5,"DrawData",408],[5,"RatatuiUi",408],[5,"Frame",727],[6,"KeyCode",728],[5,"Rect",729],[5,"DebuggerLayout",408],[1,"char"],[5,"Buffer",730],[10,"Widget",731],[10,"Ui",501],[17,"T"],[10,"ExpectTc",523],[5,"StructContents",527],[5,"AsyncExecution",527],[10,"Cast",732],[5,"Field",733],[5,"Group",734],[5,"Boolean",735],[5,"Scalar",736],[1,"u8"],[5,"Integer",737],[1,"u16"],[1,"u64"],[1,"u128"],[1,"i8"],[1,"i16"],[1,"i32"],[1,"i64"],[1,"i128"],[15,"Block",281],[15,"AleoExecution",281]],"r":[],"b":[[139,"impl-Debug-for-GlobalId"],[140,"impl-Display-for-GlobalId"],[598,"impl-Value"],[599,"impl-PartialEq-for-Value"],[618,"impl-Display-for-Future"],[619,"impl-Debug-for-Future"],[620,"impl-Display-for-Value"],[621,"impl-Debug-for-Value"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAF4CKAAAAAcACQALABYAAQAaAAAAHQABACAAAAAiAAAAJAAAACYAWwCDAAAAhQAAAIcACQCcAAAAngAAAKAADAC3AAsAxAAEAMoADgDaAAYA4gArABABCAAaAQ4AKgEBAC0BBwA2ATIAbQEGAHgBBgCAARAAkgEwAMcBCQDVASkAAAICAAQCKQAvAggAOQIdAFgCFgBzAgAAdQIKAIQCBACKAiMA"}],["leo_lang",{"t":"CGFFKFFPRFFFFFFFFFFFPRSPPCCOMOOCCOCOOCOOOOCCOCOOOOOOOOOOOOOOOOOOOOCCOOOOHCOOOOOOCOOOOOOOOOOOCOOOOOOHOOMOOOCOOOOCCHOCCOOOOOOOOOOOOOOOOOOOOOOGPPPPOOOOOOOOOOOOOOOOOOOOFOOOOFOFPPPFPGPPPPPPPPPNNNNNNNNNNONNONNNNNNNNNNNNNNNHNONNNNOOHNNNNNNNNNNNNOOOOOOOOOOOOOEFKEFREEEEEEEEEEERCCMNNNNNNNNCHCNNNNNNNNNNOCNNCNNNNONNOOOOOOOOOOOOOOOOCCNNNNNNNNNNNNHNNNNNNOCOOHMOOCOCCNNNNNNNNNNCNNNNNNOGPPPPNNNNNNNNNHNNNNNHNHNNNHHNNNNNHNHHOOOOOOOOOOOOOOOOOOOOFNNNNNONNNNNNNNNNNNONOONNNNNNNFNNNNNNNHNNNNNNNNHNNNONNNNNNNFNNNNNNNNNNNNNNNNNNNNNNNNNFNNNONNNNONNNNNNNNHNNNONNNONNNNFNNNNNNNHNNNONNNNNHNNNOONONNNNNNOGFPPPNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNFNNNNNONNONNNHOONNNNNHNONHONOONONNNNNNFNNNNNNNNNNONNNNNNNNOONNNNNNNPPEFPPPGPPNNNNNCNNNNNNONNCNNNNNNONNNNNNNNNHNNNNNNCOCNCCCNNNNNNNNNNCNNOOOOOOOFNNNNNNNNNNNNNNNONNOOONNOOONNNNNNFNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNNNNNOONNNNNNFNNNNNNNONNNNNNNNNNNONNNNNNNFNNNNNNNNNNNNNNNNNNOOONNNNNNNFNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNONNNNNNNOOONONNNNNNNNNNHHHHHHHFONNNNNNNNNNNNNNNNNNONNNNNNNFNNNNNNNONNNONNNNNHNONNONNNNNNNFNNNNNNNNNNNNNNNNNONNONNNNNNFOOOFOOOOFOOOOOGFPPPOOOFOOOOOOOOOCCCFNNNNNNNNNNNNNNNNNONNNNNNOONNNNNFJONNNNNNNNOOOONNONNNHNONNNNNNNNNNNNTTTTTTFNNNNNNNNNNNNNNNNNNNNNNNNFOOOOOOHOFOOOPPFFPPPGPPOOOOOOCOOOOOOOFOOOFOOFOOOOFOOF","n":["cli","Account","BuildOptions","CLI","Command","Deploy","FeeOptions","Import","Input","LeoAdd","LeoBuild","LeoClean","LeoDebug","LeoExample","LeoExecute","LeoNew","LeoQuery","LeoRemove","LeoRun","LeoUpdate","New","Output","SNARKVM_COMMAND","Sign","Verify","account","add","all","apply","block_height","broadcast","build","clean","clear","cli","command","","commands","compiler_options","","","conditional_block_max_depth","context","debug","","deploy","disable_conditional_branch_type_checking","dry_run","enable_all_ast_snapshots","enable_ast_spans","enable_dce","enable_dce_ast_snapshot","enable_destructured_ast_snapshot","enable_flattened_ast_snapshot","enable_initial_ast_snapshot","enable_initial_symbol_table_snapshot","enable_inlined_ast_snapshot","enable_ssa_ast_snapshot","enable_symbol_table_spans","enable_type_checked_symbol_table_snapshot","enable_unrolled_ast_snapshot","enable_unrolled_symbol_table_snapshot","endpoint","","","","example","execute","fee_options","","file","","handle_error","helpers","home","inputs","","list","local","","logger","name","","","","","","network","","","","","new","no_build","","non_recursive","offline","options","","parse_record","path","paths","prelude","priority_fee","private_key","program","query","quiet","","record","recursive","remove","run","run_with_args","tui","update","updater","wait","yes","address","discreet","","endpoint","","message","","network","","","","private_key","","private_key_file","raw","","seed","signature","write","","Account","Import","New","Sign","Verify","address","discreet","","endpoint","","message","","network","","","","private_key","","private_key_file","raw","","seed","signature","write","","LeoAdd","clear","local","name","network","LeoBuild","options","LeoClean","Account","Add","Build","CLI","Clean","Commands","Debug","Deploy","Example","Execute","New","Query","Remove","Run","Update","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","borrow","","borrow_mut","","command","","","command_for_update","","debug","deref","","deref_mut","","drop","","fmt","","from","","from_arg_matches","","from_arg_matches_mut","","group_id","handle_error","has_subcommand","home","init","","into","","path","quiet","run_with_args","try_from","","try_into","","type_id","","update_from_arg_matches","","update_from_arg_matches_mut","","vzip","","command","","","","","","","","","","","","","Account","BuildOptions","Command","Deploy","FeeOptions","Input","LeoAdd","LeoBuild","LeoClean","LeoDebug","LeoExample","LeoExecute","LeoNew","LeoQuery","LeoRemove","LeoRun","LeoUpdate","Output","account","add","apply","augment_args","","augment_args_for_update","","borrow","","borrow_mut","","build","check_balance","clean","clone","","clone_into","","clone_to_uninit","","command","","command_for_update","","conditional_block_max_depth","debug","default","","deploy","deref","","deref_mut","","disable_conditional_branch_type_checking","drop","","dry_run","enable_all_ast_snapshots","enable_ast_spans","enable_dce","enable_dce_ast_snapshot","enable_destructured_ast_snapshot","enable_flattened_ast_snapshot","enable_initial_ast_snapshot","enable_initial_symbol_table_snapshot","enable_inlined_ast_snapshot","enable_ssa_ast_snapshot","enable_symbol_table_spans","enable_type_checked_symbol_table_snapshot","enable_unrolled_ast_snapshot","enable_unrolled_symbol_table_snapshot","endpoint","example","execute","","","fmt","","from","","from_arg_matches","","from_arg_matches_mut","","group_id","","handle_broadcast","init","","into","","log_span","","network","new","non_recursive","offline","parse_record","prelude","priority_fee","private_key","query","record","remove","run","to_owned","","try_execute","","try_from","","try_into","","type_id","","update","update_from_arg_matches","","update_from_arg_matches_mut","","vzip","","yes","Account","Import","New","Sign","Verify","apply","augment_subcommands","augment_subcommands_for_update","borrow","borrow_mut","command","command_for_update","deref","deref_mut","display_string_discreetly","drop","fmt","from","from_arg_matches","from_arg_matches_mut","generate_new_account","has_subcommand","import_account","init","into","prelude","print_keys","sign_message","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","verify_message","vzip","wait_for_keypress","write_to_env_file","address","discreet","","endpoint","","message","","network","","","","private_key","","private_key_file","raw","","seed","signature","write","","LeoAdd","apply","augment_args","augment_args_for_update","borrow","borrow_mut","clear","command","command_for_update","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","init","into","local","log_span","name","network","prelude","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","LeoBuild","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","compile_leo_file","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","handle_build","init","into","log_span","options","prelude","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","LeoClean","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","init","into","log_span","prelude","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","LeoDebug","apply","augment_args","augment_args_for_update","block_height","borrow","borrow_mut","command","command_for_update","compiler_options","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","handle_debug","init","into","log_span","paths","prelude","try_from","try_into","tui","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","Deploy","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","deploy_cost_breakdown","deref","deref_mut","drop","fee_options","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","handle_deploy","init","into","log_span","no_build","options","prelude","recursive","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","wait","ExampleVariant","LeoExample","Lottery","TicTacToe","Token","apply","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","borrow","","borrow_mut","","clone","clone_into","clone_to_uninit","command","","command_for_update","","deref","","deref_mut","","drop","","endpoint","fmt","","from","","from_arg_matches","","from_arg_matches_mut","","group_id","has_subcommand","init","","into","","main_file_string","name","","network","prelude","readme_file_string","run_file_string","to_owned","try_from","","","try_into","","type_id","","update_from_arg_matches","","update_from_arg_matches_mut","","vzip","","LeoExecute","apply","augment_args","augment_args_for_update","borrow","borrow_mut","broadcast","command","command_for_update","compiler_options","deref","deref_mut","drop","execution_cost_breakdown","fee_options","file","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","handle_execute","init","inputs","into","load_program_from_network","local","log_span","name","no_build","prelude","program","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","LeoNew","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","deref","deref_mut","drop","endpoint","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","init","into","log_span","name","network","prelude","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","Block","Committee","LeoProgram","LeoQuery","Mempool","Peers","Program","QueryCommands","Stateroot","Transaction","apply","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","block","borrow","","borrow_mut","","command","","","command_for_update","","committee","deref","","deref_mut","","drop","","endpoint","fmt","","from","","from_arg_matches","","from_arg_matches_mut","","group_id","handle_query","has_subcommand","init","","into","","log_span","mempool","network","peers","prelude","program","state_root","transaction","try_from","","try_into","","type_id","","update_from_arg_matches","","update_from_arg_matches_mut","","utils","vzip","","command","","","","","","","LeoBlock","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","id","init","into","latest","latest_hash","latest_height","log_span","prelude","range","to_height","transactions","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","LeoCommittee","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","init","into","log_span","prelude","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","LeoMempool","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","init","into","log_span","prelude","transactions","transmissions","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","LeoPeers","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","count","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","init","into","log_span","metrics","prelude","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","LeoProgram","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","init","into","log_span","mapping_value","mappings","name","prelude","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","StateRoot","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","init","into","log_span","prelude","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","LeoTransaction","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","confirmed","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","from_io","from_program","from_transition","group_id","id","init","into","log_span","prelude","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","check_valid_program_name","is_valid_field","is_valid_hash","is_valid_height_or_hash","is_valid_numerical_input","is_valid_transaction_id","is_valid_transition_id","LeoRemove","all","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","init","into","log_span","name","prelude","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","LeoRun","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","compiler_options","deref","deref_mut","drop","file","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","handle_run","init","inputs","into","log_span","name","prelude","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","LeoUpdate","apply","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","init","into","list","log_span","prelude","quiet","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","Context","home","path","recursive","LeoDebug","block_height","compiler_options","paths","tui","Deploy","fee_options","no_build","options","recursive","wait","ExampleVariant","LeoExample","Lottery","TicTacToe","Token","endpoint","name","network","LeoExecute","broadcast","compiler_options","fee_options","file","inputs","local","name","no_build","program","context","logger","updater","Context","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","dir","dotenv_endpoint","dotenv_network","dotenv_private_key","drop","from","get_endpoint","get_network","get_private_key","home","","init","into","local_dependency_paths","new","open_manifest","parent_dir","path","recursive","to_owned","try_from","try_into","type_id","vzip","Format","START","ansi","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","display_level","display_target","display_thread_id","display_thread_name","drop","fmt","format","format_event","from","init","init_logger","into","timer","to_owned","try_from","try_into","type_id","vzip","with_ansi","with_level","with_target","with_thread_ids","with_thread_names","with_timer","without_time","LEO_BIN_NAME","LEO_CACHE_LAST_CHECK_FILE","LEO_CACHE_VERSION_FILE","LEO_REPO_NAME","LEO_REPO_OWNER","LEO_UPDATE_CHECK_INTERVAL","Updater","borrow","borrow_mut","check_for_updates","deref","deref_mut","drop","from","get_cache_dir","get_cli_string","get_current_time","get_version_file_path","init","into","print_cli","read_latest_version","should_check_for_updates","show_available_releases","try_from","try_into","type_id","update_available","update_check_files","update_to_latest_release","vzip","Format","ansi","display_level","display_target","display_thread_id","display_thread_name","format","init_logger","timer","LeoNew","endpoint","name","network","Block","Committee","LeoProgram","LeoQuery","Mempool","Peers","Program","QueryCommands","Stateroot","Transaction","command","endpoint","mapping_value","mappings","name","network","program","command","","","","","","","LeoProgram","mapping_value","mappings","name","LeoRemove","all","name","LeoRun","compiler_options","file","inputs","name","LeoUpdate","list","quiet","Updater"],"q":[[0,"leo_lang"],[1,"leo_lang::cli"],[119,"leo_lang::cli::Account"],[139,"leo_lang::cli::account"],[144,"leo_lang::cli::account::Account"],[164,"leo_lang::cli::add"],[169,"leo_lang::cli::build"],[171,"leo_lang::cli::clean"],[172,"leo_lang::cli::cli"],[238,"leo_lang::cli::cli::Commands"],[251,"leo_lang::cli::commands"],[372,"leo_lang::cli::commands::account"],[409,"leo_lang::cli::commands::account::Account"],[429,"leo_lang::cli::commands::add"],[459,"leo_lang::cli::commands::build"],[488,"leo_lang::cli::commands::clean"],[514,"leo_lang::cli::commands::debug"],[545,"leo_lang::cli::commands::deploy"],[578,"leo_lang::cli::commands::example"],[641,"leo_lang::cli::commands::execute"],[679,"leo_lang::cli::commands::new"],[708,"leo_lang::cli::commands::query"],[777,"leo_lang::cli::commands::query::QueryCommands"],[784,"leo_lang::cli::commands::query::block"],[817,"leo_lang::cli::commands::query::committee"],[843,"leo_lang::cli::commands::query::mempool"],[871,"leo_lang::cli::commands::query::peers"],[899,"leo_lang::cli::commands::query::program"],[928,"leo_lang::cli::commands::query::state_root"],[954,"leo_lang::cli::commands::query::transaction"],[985,"leo_lang::cli::commands::query::utils"],[992,"leo_lang::cli::commands::remove"],[1020,"leo_lang::cli::commands::run"],[1051,"leo_lang::cli::commands::update"],[1079,"leo_lang::cli::context"],[1083,"leo_lang::cli::debug"],[1088,"leo_lang::cli::deploy"],[1094,"leo_lang::cli::example"],[1102,"leo_lang::cli::execute"],[1112,"leo_lang::cli::helpers"],[1115,"leo_lang::cli::helpers::context"],[1147,"leo_lang::cli::helpers::logger"],[1183,"leo_lang::cli::helpers::updater"],[1214,"leo_lang::cli::logger"],[1223,"leo_lang::cli::new"],[1227,"leo_lang::cli::query"],[1244,"leo_lang::cli::query::QueryCommands"],[1251,"leo_lang::cli::query::program"],[1255,"leo_lang::cli::remove"],[1258,"leo_lang::cli::run"],[1263,"leo_lang::cli::update"],[1266,"leo_lang::cli::updater"],[1267,"leo_errors::errors"],[1268,"snarkvm_console_account::private_key"],[1269,"snarkvm_console_program::data::plaintext"],[1270,"snarkvm_console_program::data::record"],[1271,"snarkvm_console_network"],[1272,"clap_builder::builder::command"],[1273,"core::fmt"],[1274,"clap_builder::parser::matches::arg_matches"],[1275,"clap_builder"],[1276,"core::result"],[1277,"clap_builder::util::id"],[1278,"core::option"],[1279,"core::any"],[1280,"alloc::string"],[1281,"snarkvm_ledger_block::transaction"],[1282,"tracing::span"],[1283,"std::path"],[1284,"snarkvm_console_program::id"],[1285,"leo_errors::emitter"],[1286,"leo_span::symbol"],[1287,"leo_ast::stub"],[1288,"indexmap::map"],[1289,"leo_retriever::program_context::network_name"],[1290,"snarkvm_synthesizer_process"],[1291,"alloc::vec"],[1292,"snarkvm::file::manifest"],[1293,"core::clone"],[1294,"tracing_subscriber::fmt::format"],[1295,"tracing_subscriber::fmt::time"],[1296,"tracing_subscriber::fmt::fmt_layer"],[1297,"tracing_core::event"],[1298,"tracing_core::subscriber"],[1299,"tracing_subscriber::registry"],[1300,"leo_errors::errors::cli::cli_errors"],[1301,"self_update"]],"i":"```````Dbf```````````10`11``Gn1EhFd``Dd`AhFj`43H`Ch``3`0Cj11111111111111F`4Fh3``Ej995``795Hb9:`93:2<693725`1:55Df2`9<>55;`9152```<``25JfJhJj10Jl32103100032321`Db00043232143214211143432`????`5`Bf00`0`000000000??00?0?0?0??0??0?0?0?0?0?0?0?`0??0?0??`?0?0?0?0?0?0JnK`KbKdKfKhKjKlKnL`LbLdLf`````f```````````0``0ChCj101010```10101010101`10`10101100111111111111111``221010101010`1010221`11`200`0``1022101010`1010100`Db000000000000`00000`0`000``00000`0``JfJhJj10Jl32103100032321`Dd0000000000000000000000000000`Df000000`00000000`00000000000`Ef000000000000000000000000`Eh0000000000000000`000000000000`Ej000000`000000000`00000000000000``Fb00F`001101011110101010101001010101010101110001110110101010101`Fd00000000000`0000000`000`000000000000`Fh000000000000000000000000000Fl0``000`00Fj0011`010101001`0101010010101010`101010`0`0```0101010101`01LhLjLlLnM`MbMd`Fn0000000000000000000000000000000`G`000000000000000000000000`Gb00000000000000000000000000`Gd00000000000000000000000000`Gf000000000000000000000000000`Gh000000000000000000000000`Gj00000000000000000000000000000````````Gn00000000000000000000000000`H`0000000000000000`000000000000`Hb00000000000000000000000000`h00`Eh000`Ej0000``Fb00F`00`Fd00000000````5555555555555555555555555555555``Hj000000000000000000`00000000000000Mf00000`000000000000000000000000`111111`1`Fh00Fl0``000`00Fj0Gf001`LhLjLlLnM`MbMd`777`Gn0`H`000`Hb0`","f":"````````````````````````````{{{f{}{{b{c}}{d{e}}}}hc}{{j{e}}}{}{}}```````````````````````````````````````````{{{j{c}}}c{}}``````````````````````````{{{n{{l{c}}}}{n{A`}}}{{j{{Ad{c{Ab{c}}}}}}}Af}``{{{n{{f{}{{b{c}}{d{e}}}}}}h}{{j{c}}}{}{}}``````````{Ah{{j{Aj}}}}`````````````````````````````````````````````````````````````````````````{AlAl}000{n{{n{c}}}{}}0{{{n{An}}}{{n{Anc}}}{}}0{{}Al}0`00`{B`{{n{c}}}{}}0{B`{{n{Anc}}}{}}0{B`Aj}0{{{n{Ah}}{n{AnBb}}}Bd}{{{n{Bf}}{n{AnBb}}}Bd}{cc{}}0{{{n{Bh}}}{{Bl{AhBj}}}}{{{n{Bh}}}{{Bl{BfBj}}}}{{{n{AnBh}}}{{Bl{AhBj}}}}{{{n{AnBh}}}{{Bl{BfBj}}}}{{}{{C`{Bn}}}}{{{j{c}}}c{}}{{{n{A`}}}Cb}`{{}B`}0{{}c{}}0``{Ah{{j{Aj}}}}{c{{Bl{e}}}{}{}}0{{}{{Bl{c}}}{}}0{nCd}0{{{n{AnAh}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnBf}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnAh}}{n{AnBh}}}{{Bl{AjBj}}}}{{{n{AnBf}}{n{AnBh}}}{{Bl{AjBj}}}}88`````````````````````````````````{{{f{}{{b{c}}{d{e}}}}hc}{{j{e}}}{}{}}{AlAl}000{n{{n{c}}}{}}0{{{n{An}}}{{n{Anc}}}{}}0`{{{n{{l{c}}}}{n{A`}}{n{A`}}hCf}{{j{Aj}}}Af}`{{{n{Ch}}}Ch}{{{n{Cj}}}Cj}{{n{n{Anc}}}Aj{}}0{nAj}0{{}Al}000``{{}Ch}{{}Cj}`{B`{{n{c}}}{}}0{B`{{n{Anc}}}{}}0`{B`Aj}0``````````````````{{{f{}{{b{c}}{d{e}}}}h}{{j{e}}}{}{}}0{{{n{Ch}}{n{AnBb}}}Bd}{{{n{Cj}}{n{AnBb}}}Bd}{cc{}}0{{{n{Bh}}}{{Bl{ChBj}}}}{{{n{Bh}}}{{Bl{CjBj}}}}{{{n{AnBh}}}{{Bl{ChBj}}}}{{{n{AnBh}}}{{Bl{CjBj}}}}{{}{{C`{Bn}}}}0{{{n{Cl}}{Cn{c}}{n{Cl}}}{{j{Aj}}}Af}{{}B`}0{{}c{}}0{{{n{{f{}{{b{c}}{d{e}}}}}}}D`{}{}}0````{{{n{{l{c}}}}{n{A`}}}{{j{{Ad{c{Ab{c}}}}}}}Af}{{{n{{f{}{{b{c}}{d{e}}}}}}h}{{j{c}}}{}{}}``````{nc{}}0{{{f{}{{b{c}}{d{e}}}}h}{{j{Aj}}}{}{}}0{c{{Bl{e}}}{}{}}0{{}{{Bl{c}}}{}}0{nCd}0`{{{n{AnCh}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnCj}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnCh}}{n{AnBh}}}{{Bl{AjBj}}}}{{{n{AnCj}}{n{AnBh}}}{{Bl{AjBj}}}}<<``````{{Dbhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{{{n{A`}}{n{A`}}}{{j{Aj}}}}{B`Aj}{{{n{Db}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{DbBj}}}}{{{n{AnBh}}}{{Bl{DbBj}}}}{{{C`{Cf}}CbCb{n{h}}Cl}{{j{Aj}}}}{{{n{A`}}}Cb}{{{C`{Cl}}CbCb{n{h}}Cl}{{j{Aj}}}}{{}B`}{{}c{}}{{{n{Db}}h}{{j{c}}}{}}{{{l{c}}Cb}{{j{Aj}}}Af}{{ClCb{C`{Cl}}{C`{Cl}}}{{j{Cl}}}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnDb}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnDb}}{n{AnBh}}}{{Bl{AjBj}}}}{{ClClClCb}{{j{Cl}}}}9{{}Aj}{{{l{c}}{n{h}}Cl}{{j{Aj}}}Af}`````````````````````{{Ddhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}`{{}Al}0{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Dd}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{DdBj}}}}{{{n{AnBh}}}{{Bl{DdBj}}}}{{}{{C`{Bn}}}}{{}B`}{{}c{}}`{{{n{Dd}}}D`}``{{{n{Dd}}h}{{j{c}}}{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnDd}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnDd}}{n{AnBh}}}{{Bl{AjBj}}}}7`{{Dfhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{{Dh{n{{Dj{c}}}}{n{Dl}}{n{Dl}}{n{Dn}}Ch{Ed{E`Eb}}}{{j{Aj}}}Af}{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Df}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{DfBj}}}}{{{n{AnBh}}}{{Bl{DfBj}}}}{{}{{C`{Bn}}}}{{{n{Df}}h}j}{{}B`}{{}c{}}{{{n{Df}}}D`}`{{{n{Df}}h}{{j{c}}}{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnDf}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnDf}}{n{AnBh}}}{{Bl{AjBj}}}}7`{{Efhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Ef}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{EfBj}}}}{{{n{AnBh}}}{{Bl{EfBj}}}}{{}{{C`{Bn}}}}{{}B`}{{}c{}}{{{n{Ef}}}D`}{{{n{Ef}}h}{{j{c}}}{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnEf}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnEf}}{n{AnBh}}}{{Bl{AjBj}}}}7`{{Ehhc}{{j{e}}}{}{}}{AlAl}0`{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0`{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Eh}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{EhBj}}}}{{{n{AnBh}}}{{Bl{EhBj}}}}{{}{{C`{Bn}}}}{{{n{Eh}}h}{{j{Aj}}}}{{}B`}{{}c{}}{{{n{Eh}}}D`}`{{{n{Eh}}h}{{j{c}}}{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}`{nCd}{{{n{AnEh}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnEh}}{n{AnBh}}}{{Bl{AjBj}}}}7`{{Ejhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{{{n{Cl}}ElElElElEl}{{j{Aj}}}}{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}`{{{n{Ej}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{EjBj}}}}{{{n{AnBh}}}{{Bl{EjBj}}}}{{}{{C`{Bn}}}}{{{n{Ej}}hEn{n{A`}}}j}{{}B`}{{}c{}}{{{n{Ej}}}D`}``{{{n{Ej}}h}{{j{c}}}{}}`{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnEj}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnEj}}{n{AnBh}}}{{Bl{AjBj}}}}7``````{{F`hc}{{j{e}}}{}{}}{AlAl}000{n{{n{c}}}{}}0{{{n{An}}}{{n{Anc}}}{}}0{{{n{Fb}}}Fb}{{n{n{Anc}}}Aj{}}{nAj}{{}Al}000{B`{{n{c}}}{}}0{B`{{n{Anc}}}{}}0{B`Aj}0`{{{n{F`}}{n{AnBb}}}Bd}{{{n{Fb}}{n{AnBb}}}Bd}{cc{}}0{{{n{Bh}}}{{Bl{F`Bj}}}}{{{n{Bh}}}{{Bl{FbBj}}}}{{{n{AnBh}}}{{Bl{F`Bj}}}}{{{n{AnBh}}}{{Bl{FbBj}}}}{{}{{C`{Bn}}}}{{{n{A`}}}Cb}{{}B`}0{{}c{}}0{{{n{Fb}}}Cl}0``{{{n{F`}}h}{{j{c}}}{}}11{nc{}}{c{{Bl{e}}}{}{}}{{{n{A`}}}{{Bl{Fbc}}}{}}1{{}{{Bl{c}}}{}}0{nCd}0{{{n{AnF`}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnFb}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnF`}}{n{AnBh}}}{{Bl{AjBj}}}}{{{n{AnFb}}{n{AnBh}}}{{Bl{AjBj}}}};;`{{Fdhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}`{{}Al}0`{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Cl}}ElElElEl}{{j{Aj}}}}``{{{n{Fd}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{FdBj}}}}{{{n{AnBh}}}{{Bl{FdBj}}}}{{}{{C`{Bn}}}}{{FdhEn{n{A`}}}j}{{}B`}`{{}c{}}{{h{n{An{Ff{c}}}}{n{{Dj{c}}}}En{n{A`}}}{{j{Aj}}}Af}`{{{n{Fd}}}D`}``{{{n{Fd}}h}{{j{c}}}{}}`{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnFd}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnFd}}{n{AnBh}}}{{Bl{AjBj}}}}8`{{Fhhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}`{{{n{Fh}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{FhBj}}}}{{{n{AnBh}}}{{Bl{FhBj}}}}{{}{{C`{Bn}}}}{{}B`}{{}c{}}{{{n{Fh}}}D`}``{{{n{Fh}}h}{{j{c}}}{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnFh}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnFh}}{n{AnBh}}}{{Bl{AjBj}}}}7``````````{{Fjhc}{{j{e}}}{}{}}{AlAl}000`{n{{n{c}}}{}}0{{{n{An}}}{{n{Anc}}}{}}0{{}Al}0`00`{B`{{n{c}}}{}}0{B`{{n{Anc}}}{}}0{B`Aj}0`{{{n{Fj}}{n{AnBb}}}Bd}{{{n{Fl}}{n{AnBb}}}Bd}{cc{}}0{{{n{Bh}}}{{Bl{FjBj}}}}{{{n{Bh}}}{{Bl{FlBj}}}}{{{n{AnBh}}}{{Bl{FjBj}}}}{{{n{AnBh}}}{{Bl{FlBj}}}}{{}{{C`{Bn}}}}{{Fjh{n{A`}}{n{A`}}}j}{{{n{A`}}}Cb}{{}B`}0{{}c{}}0{{{n{Fj}}}D`}```{{{n{Fj}}h}{{j{c}}}{}}```{c{{Bl{e}}}{}{}}0{{}{{Bl{c}}}{}}0{nCd}0{{{n{AnFj}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnFl}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnFj}}{n{AnBh}}}{{Bl{AjBj}}}}{{{n{AnFl}}{n{AnBh}}}{{Bl{AjBj}}}}`99````````{{Fnhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Fn}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{FnBj}}}}{{{n{AnBh}}}{{Bl{FnBj}}}}{{}{{C`{Bn}}}}`{{}B`}{{}c{}}```{{{n{Fn}}}D`}{{{n{Fn}}h}{{j{c}}}{}}```{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnFn}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnFn}}{n{AnBh}}}{{Bl{AjBj}}}}7`{{G`hc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{G`}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{G`Bj}}}}{{{n{AnBh}}}{{Bl{G`Bj}}}}{{}{{C`{Bn}}}}{{}B`}{{}c{}}{{{n{G`}}}D`}{{{n{G`}}h}{{j{c}}}{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnG`}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnG`}}{n{AnBh}}}{{Bl{AjBj}}}}7`{{Gbhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Gb}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{GbBj}}}}{{{n{AnBh}}}{{Bl{GbBj}}}}{{}{{C`{Bn}}}}{{}B`}{{}c{}}{{{n{Gb}}}D`}{{{n{Gb}}h}{{j{c}}}{}}``{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnGb}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnGb}}{n{AnBh}}}{{Bl{AjBj}}}}7`{{Gdhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0`{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Gd}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{GdBj}}}}{{{n{AnBh}}}{{Bl{GdBj}}}}{{}{{C`{Bn}}}}{{}B`}{{}c{}}{{{n{Gd}}}D`}`{{{n{Gd}}h}{{j{c}}}{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnGd}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnGd}}{n{AnBh}}}{{Bl{AjBj}}}}7`{{Gfhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Gf}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{GfBj}}}}{{{n{AnBh}}}{{Bl{GfBj}}}}{{}{{C`{Bn}}}}{{}B`}{{}c{}}{{{n{Gf}}}D`}```{{{n{Gf}}h}{{j{c}}}{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnGf}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnGf}}{n{AnBh}}}{{Bl{AjBj}}}}7`{{Ghhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Gh}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{GhBj}}}}{{{n{AnBh}}}{{Bl{GhBj}}}}{{}{{C`{Bn}}}}{{}B`}{{}c{}}{{{n{Gh}}}D`}{{{n{Gh}}h}{{j{c}}}{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnGh}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnGh}}{n{AnBh}}}{{Bl{AjBj}}}}7`{{Gjhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0`{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Gj}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{GjBj}}}}{{{n{AnBh}}}{{Bl{GjBj}}}}```{{}{{C`{Bn}}}}`{{}B`}{{}c{}}{{{n{Gj}}}D`}{{{n{Gj}}h}{{j{c}}}{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnGj}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnGj}}{n{AnBh}}}{{Bl{AjBj}}}}7{ClCl}{{{n{A`}}}{{j{ClGl}}}}{{{n{A`}}}{{j{AjGl}}}}0000``{{Gnhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Gn}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{GnBj}}}}{{{n{AnBh}}}{{Bl{GnBj}}}}{{}{{C`{Bn}}}}{{}B`}{{}c{}}{{{n{Gn}}}D`}`{{{n{Gn}}h}{{j{c}}}{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnGn}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnGn}}{n{AnBh}}}{{Bl{AjBj}}}}7`{{H`hc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0`{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}`{{{n{H`}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{H`Bj}}}}{{{n{AnBh}}}{{Bl{H`Bj}}}}{{}{{C`{Bn}}}}{{H`h}j}{{}B`}`{{}c{}}{{{n{H`}}}D`}`{{{n{H`}}h}{{j{c}}}{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnH`}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnH`}}{n{AnBh}}}{{Bl{AjBj}}}}7`{{Hbhc}{{j{e}}}{}{}}{AlAl}0{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{}Al}0{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{{{n{Hb}}{n{AnBb}}}Bd}{cc{}}{{{n{Bh}}}{{Bl{HbBj}}}}{{{n{AnBh}}}{{Bl{HbBj}}}}{{}{{C`{Bn}}}}{{}B`}{{}c{}}`{{{n{Hb}}}D`}{{{n{Hb}}h}{{j{c}}}{}}`{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}{{{n{AnHb}}{n{Bh}}}{{Bl{AjBj}}}}{{{n{AnHb}}{n{AnBh}}}{{Bl{AjBj}}}}7`````````````````````````````````````{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{{n{h}}}h}{{n{n{Anc}}}Aj{}}{nAj}{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{{{n{h}}}{{j{Dh}}}}{{{n{h}}}{{j{Cl}}}}0{{{n{h}}}{{j{{l{c}}}}}Af}{B`Aj}{cc{}}{{{n{h}}{n{{C`{Cl}}}}}{{j{Cl}}}}0{{{n{h}}{n{{C`{Cl}}}}}{{j{{l{c}}}}}Af}6`{{}B`}{{}c{}}{{{n{h}}}{{j{{Hf{{Hd{ClDh}}}}}}}}{{{C`{Dh}}{C`{Dh}}Cb}{{j{h}}}}{{{n{h}}}{{j{{Hh{c}}}}}Af};``{nc{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}7```{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{{{n{{Hj{ce}}}}}{{Hj{ce}}}HlHl}{{n{n{Anc}}}Aj{}}{nAj}{{}{{Hj{HnI`}}}}{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}````{B`Aj}{{{n{{Hj{ce}}}}{n{AnBb}}}BdIbIb}`{{{n{{Hj{Hnc}}}}{n{{Id{eg}}}}If{n{Ih}}}BdIj{IlIn}J`}{cc{}}{{}B`}{{{n{A`}}B`}{{j{Aj}}}}{{}c{}}`{nc{}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}4{{{Hj{ce}}Cb}{{Hj{ce}}}{}{}}0000{{{Hj{ce}}g}{{Hj{cg}}}{}{}{}}{{{Hj{ce}}}{{Hj{cAj}}}{}{}}```````{n{{n{c}}}{}}{{{n{An}}}{{n{Anc}}}{}}{Cb{{j{CbJb}}}}{B`{{n{c}}}{}}{B`{{n{Anc}}}{}}{B`Aj}{cc{}}{{}Dh}{{}{{j{{C`{Cl}}Jb}}}}{{}{{j{CfJb}}}}2{{}B`}{{}c{}}{{}{{j{AjJb}}}}4{{{n{Dl}}}{{j{CbJb}}}}{{}{{j{Cl}}}}{c{{Bl{e}}}{}{}}{{}{{Bl{c}}}{}}{nCd}3{{{n{Dl}}{n{Dl}}{n{Dl}}{n{A`}}}{{j{AjJb}}}}{Cb{{j{Jd}}}}8```````{{{n{A`}}B`}{{j{Aj}}}}`````````````````````````````````````````````","D":"AMj","p":[[17,"Input"],[17,"Output"],[10,"Command",251],[5,"Context",1115],[8,"Result",1267],[5,"PrivateKey",1268],[1,"reference"],[1,"str"],[6,"Plaintext",1269],[5,"Record",1270],[10,"Network",1271],[5,"CLI",172],[1,"unit"],[5,"Command",1272],[0,"mut"],[1,"usize"],[5,"Formatter",1273],[8,"Result",1273],[6,"Commands",172],[5,"ArgMatches",1274],[8,"Error",1275],[6,"Result",1276],[5,"Id",1277],[6,"Option",1278],[1,"bool"],[5,"TypeId",1279],[1,"u64"],[5,"BuildOptions",251],[5,"FeeOptions",251],[5,"String",1280],[6,"Transaction",1281],[5,"Span",1282],[6,"Account",372],[5,"LeoAdd",429],[5,"LeoBuild",459],[5,"PathBuf",1283],[5,"ProgramID",1284],[5,"Path",1283],[5,"Handler",1285],[5,"Symbol",1286],[5,"Stub",1287],[5,"IndexMap",1288],[5,"LeoClean",488],[5,"LeoDebug",514],[5,"Deploy",545],[1,"f64"],[6,"NetworkName",1289],[5,"LeoExample",578],[6,"ExampleVariant",578],[5,"LeoExecute",641],[5,"Process",1290],[5,"LeoNew",679],[5,"LeoQuery",708],[6,"QueryCommands",708],[5,"LeoBlock",784],[5,"LeoCommittee",817],[5,"LeoMempool",843],[5,"LeoPeers",871],[5,"LeoProgram",899],[5,"StateRoot",928],[5,"LeoTransaction",954],[6,"LeoError",1267],[5,"LeoRemove",992],[5,"LeoRun",1020],[5,"LeoUpdate",1051],[1,"tuple"],[5,"Vec",1291],[5,"Manifest",1292],[5,"Format",1147],[10,"Clone",1293],[5,"Full",1294],[5,"SystemTime",1295],[10,"Debug",1273],[5,"FmtContext",1296],[5,"Writer",1294],[5,"Event",1297],[10,"FormatTime",1295],[10,"Subscriber",1298],[10,"LookupSpan",1299],[10,"FormatFields",1294],[6,"CliError",1300],[6,"Status",1301],[15,"Verify",409],[15,"New",409],[15,"Import",409],[15,"Sign",409],[15,"Account",238],[15,"New",238],[15,"Example",238],[15,"Run",238],[15,"Execute",238],[15,"Deploy",238],[15,"Query",238],[15,"Build",238],[15,"Debug",238],[15,"Add",238],[15,"Remove",238],[15,"Clean",238],[15,"Update",238],[15,"Block",777],[15,"Transaction",777],[15,"Program",777],[15,"Stateroot",777],[15,"Committee",777],[15,"Mempool",777],[15,"Peers",777],[5,"Updater",1183]],"r":[[1,372],[2,251],[3,172],[4,251],[5,545],[6,251],[9,429],[10,459],[11,488],[12,514],[13,578],[14,641],[15,679],[16,708],[17,992],[18,1020],[19,1051],[25,251],[26,251],[31,251],[32,251],[42,1112],[43,251],[45,251],[66,251],[67,251],[72,172],[80,1112],[92,251],[99,251],[106,251],[111,251],[112,251],[113,172],[115,251],[116,1112],[139,372],[164,429],[169,459],[171,488],[251,372],[254,545],[257,429],[258,459],[259,488],[260,514],[261,578],[262,641],[263,679],[264,708],[265,992],[266,1020],[267,1051],[710,899],[1079,1115],[1083,514],[1088,545],[1094,578],[1095,578],[1102,641],[1214,1147],[1221,1147],[1223,679],[1229,899],[1230,708],[1234,708],[1243,708],[1251,899],[1255,992],[1258,1020],[1263,1051],[1266,1183]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAYEdAABAAAAFwAAABoAAgAeAC8ATwAUAGUAAQBoAAQAbgADAHMABAB7AAEAfwADAJQAAQCYAAMApgADAKsAAACtAAIAsQAAALMAHgDUAAkA4AABAOMAGQD/AAAAAgEKAA4BAQARATIARgEBAEoBBQBRAQEAVwEDAF0BBwBnAQ0AegEIAIQBAQCHAQUAjgELAJ0BAQChAQMArwELALwBAwDBAQoAzQEGANUBAwDaAQQA4AEIAOoBCgD2AQMA+wEHAAQCDAASAgQAGAIJACMCDAAxAgQANwILAEUCGwBjAgcAbQIUAIMCDwCUAgUAnAILAKkCCwC2AgMAuwIMAMkCHgDqAggA9QInAB4DBAAkAw0AMwMKAD8DAwBEAxMAWQMDAF4DFgB2AwMAewMIAIUDCgCRAwMAlgMKAKIDCgCuAwMAswMHALwDCwDJAwcA0gMOAOIDCwDvAwMA9AMIAP4DDAAMBAUAEwQIAB0ECgApBAMALwQBADIEBQA9BAMAQgQEAEkEBQBQBAsAXQQGAGgEAABvBAAAcgQAAHcEFwCQBAAAkwQFAKAECACqBAIAsgQAALgEAgC+BAcAxwQAAMkEBADQBBMA5QQCAOkEAQDsBAMA8wQAAA=="}],["leo_package",{"t":"JJCCCCCHCCCJFNNNNNNNNNNNNNNNCJFNNNNNNNNNNNNNNNNCJFNNNNNNNNNNHNNNNJCCCCJPPPGFPNNNNNNNNNNNNNNNNNNNNNONNONNNNNNNNNNNNNJFNNNNNNNNNNNONNNNNNNNNJFNNNNNNNNNNNONNNNNNNNNJFNNNNNNNNNNNNNNFNNNNNONNNNNNNNOOONNNNNONCCJFNNNNNNONNNNNNONNNNNNNNJFNNNNNNNNNNNNNNNNNNNCCJFNNNNNNNNNNNNNNNJFNNNNNNNNNNNNONNNNNNN","n":["LEO_FILE_EXTENSION","TEST_PRIVATE_KEY","build","imports","inputs","outputs","package","parse_file_paths","root","source","directory","BUILD_DIRECTORY_NAME","BuildDirectory","borrow","borrow_mut","create","deref","deref_mut","drop","from","init","into","open","remove","try_from","try_into","type_id","vzip","directory","IMPORTS_DIRECTORY_NAME","ImportsDirectory","borrow","borrow_mut","create","deref","deref_mut","drop","files","from","init","into","is_empty","remove","try_from","try_into","type_id","vzip","directory","INPUTS_DIRECTORY_NAME","InputsDirectory","borrow","borrow_mut","create","deref","deref_mut","drop","files","from","init","into","parse_file_paths","try_from","try_into","type_id","vzip","MAIN_ALEO_FILE_NAME","ast_snapshot","checksum","circuit","directory","AST_SNAPSHOT_FILE_EXTENSION","Canonicalization","ImportsResolved","Initial","Snapshot","SnapshotFile","TypeInference","borrow","","borrow_mut","","deref","","deref_mut","","deserialize","","drop","","exists_at","fmt","from","","init","","into","","new","package_name","read_from","remove","snapshot","snapshot_file_path","take_from_value","","to_smolstr","to_string","try_from","","try_into","","type_id","","vzip","","CHECKSUM_FILE_EXTENSION","ChecksumFile","borrow","borrow_mut","deref","deref_mut","deserialize","drop","exists_at","from","init","into","new","package_name","read_from","remove","setup_file_path","take_from_value","try_from","try_into","type_id","vzip","write_to","CIRCUIT_FILE_EXTENSION","CircuitFile","borrow","borrow_mut","deref","deref_mut","deserialize","drop","exists_at","from","init","into","new","package_name","read_from","remove","setup_file_path","take_from_value","try_from","try_into","type_id","vzip","write_to","OUTPUTS_DIRECTORY_NAME","OutputsDirectory","borrow","borrow_mut","create","deref","deref_mut","drop","from","init","into","remove","try_from","try_into","type_id","vzip","Package","borrow","borrow_mut","can_initialize","deref","deref_mut","description","deserialize","drop","from","init","initialize","into","is_aleo_name_valid","is_initialized","license","name","network","new","take_from_value","try_from","try_into","type_id","version","vzip","env","gitignore","ENV_FILENAME","Env","borrow","borrow_mut","deref","deref_mut","deserialize","drop","endpoint","exists_at","fmt","from","init","into","new","private_key","take_from_value","to_smolstr","to_string","try_from","try_into","type_id","vzip","write_to","GITIGNORE_FILENAME","Gitignore","borrow","borrow_mut","default","deref","deref_mut","deserialize","drop","exists_at","from","init","into","new","take_from_value","template","try_from","try_into","type_id","vzip","write_to","directory","main","SOURCE_DIRECTORY_NAME","SourceDirectory","borrow","borrow_mut","check_files","create","deref","deref_mut","drop","files","from","init","into","try_from","try_into","type_id","vzip","MAIN_FILENAME","MainFile","borrow","borrow_mut","deref","deref_mut","deserialize","drop","exists_at","filename","from","init","into","new","package_name","take_from_value","template","try_from","try_into","type_id","vzip","write_to"],"q":[[0,"leo_package"],[10,"leo_package::build"],[11,"leo_package::build::directory"],[28,"leo_package::imports"],[29,"leo_package::imports::directory"],[47,"leo_package::inputs"],[48,"leo_package::inputs::directory"],[65,"leo_package::outputs"],[70,"leo_package::outputs::ast_snapshot"],[115,"leo_package::outputs::checksum"],[138,"leo_package::outputs::circuit"],[161,"leo_package::outputs::directory"],[177,"leo_package::package"],[202,"leo_package::root"],[204,"leo_package::root::env"],[228,"leo_package::root::gitignore"],[249,"leo_package::source"],[251,"leo_package::source::directory"],[268,"leo_package::source::main"],[290,"std::fs"],[291,"std::path"],[292,"alloc::vec"],[293,"leo_errors::errors"],[294,"alloc::string"],[295,"core::result"],[296,"core::any"],[297,"serde::de"],[298,"core::fmt"],[299,"alloc::borrow"],[300,"serde_json::value"],[301,"smol_str"],[302,"leo_retriever::program_context::network_name"],[303,"snarkvm_console_network"],[304,"snarkvm_console_account::private_key"],[305,"core::option"]],"i":"`````````````Dd00000000000000```Df000000000000000```Dh000000000`0000``````Al00``00B`101010101001101010000000101110101010``Bn00000000000000000000``C`00000000000000000000``Dj0000000000000`Cb00000000000000000000000````Cf000000000000000000000``Cn000000000000000000````Dl00000000000000``Db0000000000000000000","f":"```````{{b{j{d{h{f}}}}}{{n{l}}}}`````{j{{j{c}}}{}}{{{j{d}}}{{j{dc}}}{}}{{{j{A`}}}{{n{f}}}}{Ab{{j{c}}}{}}{Ab{{j{dc}}}{}}{Abl}{cc{}}{{}Ab}{{}c{}}6{{{j{A`}}}{{n{Ad}}}}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{jAh}4```<;:987{{{j{A`}}}{{n{{h{f}}}}}}765{{{j{A`}}}{{n{Aj}}}}54326```>={{{j{A`}}}{{n{l}}}}<;:2987{{b{j{d{h{f}}}}}{{n{l}}}}6548````````````{j{{j{c}}}{}}0{{{j{d}}}{{j{dc}}}{}}0??>>{c{{Af{Al}}}An}{c{{Af{B`}}}An}??{{{j{B`}}{j{A`}}}Aj}{{{j{Al}}{j{dBb}}}Bd}{cc{}}0{{}Ab}0{{}c{}}0{{{j{Bf}}Al}B`}`{{{j{B`}}{j{A`}}}{{n{Ad}}}}{{{j{B`}}{j{A`}}}{{n{Aj}}}}`{{{j{B`}}{j{A`}}}{{Bh{A`}}}}{{{j{dBj}}{j{Bf}}}{{Af{c}}}{}}0{jBl}{jAd}{c{{Af{e}}}{}{}}0{{}{{Af{c}}}{}}0{jAh}0::``{j{{j{c}}}{}}{{{j{d}}}{{j{dc}}}{}}{Ab{{j{c}}}{}}{Ab{{j{dc}}}{}}{c{{Af{Bn}}}An}{Abl}{{{j{Bn}}{j{A`}}}Aj}{cc{}}{{}Ab}{{}c{}}{{{j{Bf}}}Bn}`{{{j{Bn}}{j{A`}}}{{n{Ad}}}}{{{j{Bn}}{j{A`}}}{{n{Aj}}}}{{{j{Bn}}{j{A`}}}{{Bh{A`}}}}{{{j{dBj}}{j{Bf}}}{{Af{c}}}{}}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{jAh}8{{{j{Bn}}{j{A`}}Ad}{{n{l}}}}``{j{{j{c}}}{}}{{{j{d}}}{{j{dc}}}{}}{Ab{{j{c}}}{}}{Ab{{j{dc}}}{}}{c{{Af{C`}}}An}{Abl}{{{j{C`}}{j{A`}}}Aj}{cc{}}{{}Ab}{{}c{}}{{{j{Bf}}}C`}`{{{j{C`}}{j{A`}}}{{n{Ad}}}}{{{j{C`}}{j{A`}}}{{n{Aj}}}}{{{j{C`}}{j{A`}}}{{Bh{A`}}}}{{{j{dBj}}{j{Bf}}}{{Af{c}}}{}}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{jAh}8{{{j{C`}}{j{A`}}Ad}{{n{l}}}}``{j{{j{c}}}{}}{{{j{d}}}{{j{dc}}}{}}{{{j{A`}}}{{n{f}}}}{Ab{{j{c}}}{}}{Ab{{j{dc}}}{}}{Abl}{cc{}}{{}Ab}{{}c{}}{{{j{A`}}}{{n{Ad}}}}=<;1`98{{{j{Bf}}{j{A`}}}Aj}76`{c{{Af{Cb}}}An}654{{{j{Bf}}{j{A`}}Ad}{{n{l}}}}4{{{j{Bf}}}Aj}3```{{{j{Bf}}Cd}{{n{Cb}}}}{{{j{dBj}}{j{Bf}}}{{Af{c}}}{}}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{jAh}`:````{j{{j{c}}}{}}{{{j{d}}}{{j{dc}}}{}}{Ab{{j{c}}}{}}{Ab{{j{dc}}}{}}{c{{Af{{Cf{e}}}}}AnCh}{Abl}`{{{j{A`}}}Aj}{{{j{{Cf{c}}}}{j{dBb}}}BdCh}{cc{}}{{}Ab}{{}c{}}{{{Cl{{Cj{c}}}}Ad}{{n{{Cf{c}}}}}Ch}`?{jBl}{jAd}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{jAh}6{{{Cf{c}}{j{A`}}}{{n{l}}}Ch}``{j{{j{c}}}{}}{{{j{d}}}{{j{dc}}}{}}{{}Cn}{Ab{{j{c}}}{}}{Ab{{j{dc}}}{}}{c{{Af{Cn}}}An}{Abl}{{{j{A`}}}Aj}{cc{}}{{}Ab}{{}c{}}8{{{j{dBj}}{j{Bf}}}{{Af{c}}}{}}{{{j{Cn}}}Ad}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{jAh}5{{Cn{j{A`}}}{{n{l}}}}````{j{{j{c}}}{}}{{{j{d}}}{{j{dc}}}{}}{{{j{{D`{f}}}}}{{n{l}}}}{{{j{A`}}}{{n{l}}}}{Ab{{j{c}}}{}}{Ab{{j{dc}}}{}}{Abl}{{{j{A`}}}{{n{{h{f}}}}}}{cc{}}{{}Ab}{{}c{}}>=<0``:965{c{{Af{Db}}}An}5{{{j{A`}}}Aj}{{}Ad}543{{{j{Bf}}}Db}`{{{j{dBj}}{j{Bf}}}{{Af{c}}}{}}{{{j{Db}}}Ad}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{jAh}9{{Db{j{A`}}}{{n{l}}}}","D":"Gj","p":[[5,"ReadDir",290],[0,"mut"],[5,"PathBuf",291],[5,"Vec",292],[1,"reference"],[1,"unit"],[8,"Result",293],[5,"Path",291],[1,"usize"],[5,"String",294],[6,"Result",295],[5,"TypeId",296],[1,"bool"],[6,"Snapshot",70],[10,"Deserializer",297],[5,"SnapshotFile",70],[5,"Formatter",298],[8,"Result",298],[1,"str"],[6,"Cow",299],[6,"Value",300],[5,"SmolStr",301],[5,"ChecksumFile",115],[5,"CircuitFile",138],[5,"Package",177],[6,"NetworkName",302],[5,"Env",204],[10,"Network",303],[5,"PrivateKey",304],[6,"Option",305],[5,"Gitignore",228],[1,"slice"],[5,"MainFile",268],[5,"BuildDirectory",11],[5,"ImportsDirectory",29],[5,"InputsDirectory",48],[5,"OutputsDirectory",161],[5,"SourceDirectory",251]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAOUAKAABAA4AEQACABUAAAAZAAgAIwACACgAAAAsAAgANgACADsAAAA9AAUARgAEAE0ADgBeAAEAYgABAGYAFgB+AAAAgAABAIQABQCLAAgAlQAAAJcAAQCbAAUAogADAKcAAgCrAAAArgAGALYABAC8AAAAwQAJAM0ACgDZAAAA2wATAPAAAADyAAgA/AADAAIBAgAHAQAACQENABgBAAAaAQgA"}],["leo_parser",{"t":"SHCCCCCHHHCCSFNNNNNNNNNONNNNNNNNNNNNNONNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONONNNNNNSHSSECCHHFNNNNNNNNNNHHNNNNNHNONNNNONNNNPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPGPPPPPPPPPPPPPPPPPPPPPPPPPPPPSPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPGPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["KEYWORD_TOKENS","parse_ast","parser","tokenizer","context","expression","file","parse","parse_expression","parse_statement","statement","type_","DUMMY_EOF","ParserContext","bin_expr","borrow","borrow_mut","bump","check","check_identifier","check_int","deref","deref_mut","disallow_struct_construction","drop","eat","eat_any","eat_bin_op","eat_group_partial","eat_identifier","eat_whole_number","emit_err","emit_warning","expect","expect_any","expect_identifier","from","handler","has_next","init","into","look_ahead","mk_ident_prev","new","node_builder","parse_additive_expression","parse_annotation","parse_array_expression","parse_assert_statement","parse_assign_statement","parse_associated_access_expression","parse_bin_expr","parse_bitwise_and_expression","parse_bitwise_exclusive_or_expression","parse_bitwise_inclusive_or_expression","parse_block","parse_boolean_and_expression","parse_boolean_or_expression","parse_bracket_comma_list","parse_cast_expression","parse_conditional_expression","parse_conditional_statement","parse_console_statement","parse_const_declaration_statement","parse_definition_statement","parse_equality_expression","parse_exponential_expression","parse_expr_tuple","parse_expression","parse_external_resource","parse_function","parse_import","parse_input","parse_list","parse_loop_statement","parse_mapping","parse_member_variable_declaration","parse_method_call_expression","parse_mode","parse_multiplicative_expression","parse_ordering_expression","parse_output","parse_paren_comma_list","parse_postfix_expression","parse_primary_expression","parse_primitive_type","parse_program","parse_program_scope","parse_return_statement","parse_shift_expression","parse_statement","parse_struct","parse_struct_init_expression","parse_struct_member","parse_struct_members","parse_tuple_expression","parse_type","parse_typed_ident","parse_unary_expression","peek_group_coordinate","peek_is_left_par","phantom","prev_token","program_name","token","token_to_int_type","tokens","try_from","try_into","type_id","unexpected","unexpected_item","vzip","INT_TYPES","assert_no_whitespace","ASSIGN_TOKENS","TYPE_TOKENS","KEYWORD_TOKENS","lexer","token","tokenize","tokenize_iter","SpannedToken","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","dummy","eat_identifier","ensure_no_bidi_override","fmt","","from","init","into","is_bidi_override","serialize","span","take_from_value","to_owned","to_smolstr","to_string","token","try_from","try_into","type_id","vzip","Add","AddAssign","Address","AddressLit","Aleo","And","AndAssign","Arrow","As","Assert","AssertEq","AssertNeq","Assign","Async","At","BigArrow","BitAnd","BitAndAssign","BitOr","BitOrAssign","BitXor","BitXorAssign","Block","Bool","Brace","Bracket","Colon","Comma","CommentBlock","CommentLine","Console","Const","Constant","Delimiter","Div","DivAssign","Dot","DotDot","DoubleColon","Else","Eof","Eq","False","Field","Fn","For","Function","Future","Group","Gt","GtEq","I128","I16","I32","I64","I8","Identifier","If","Import","In","Inline","Integer","KEYWORD_TOKENS","LeftCurly","LeftParen","LeftSquare","Leo","Let","Lt","LtEq","Mapping","Mul","MulAssign","Network","Not","NotEq","Or","OrAssign","Parenthesis","Pow","PowAssign","Private","Program","Public","Question","Record","Rem","RemAssign","Return","RightCurly","RightParen","RightSquare","Scalar","SelfLower","Semicolon","Shl","ShlAssign","Shr","ShrAssign","Signature","StaticString","String","Struct","Sub","SubAssign","Token","Transition","True","U128","U16","U32","U64","U8","Underscore","WhiteSpace","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","deref","","deref_mut","","deserialize","drop","","eat","eat_integer","eq","equivalent","","","","fmt","","from","","init","","into","","is_keyword","keyword_to_symbol","open_close_pair","serialize","take_from_value","to_owned","","to_smolstr","to_string","try_from","","try_into","","type_id","","vzip",""],"q":[[0,"leo_parser"],[4,"leo_parser::parser"],[12,"leo_parser::parser::context"],[113,"leo_parser::parser::expression"],[115,"leo_parser::parser::statement"],[116,"leo_parser::parser::type_"],[117,"leo_parser::tokenizer"],[122,"leo_parser::tokenizer::lexer"],[152,"leo_parser::tokenizer::token"],[316,"leo_errors::emitter"],[317,"leo_ast::common::node_builder"],[318,"leo_span::span"],[319,"leo_ast"],[320,"leo_errors::errors"],[321,"leo_ast::program"],[322,"leo_ast::expressions"],[323,"leo_ast::statement"],[324,"leo_ast::expressions::binary"],[325,"snarkvm_console_network"],[326,"leo_ast::common::identifier"],[327,"core::option"],[328,"leo_ast::groups::group_literal"],[329,"leo_ast::common::positive_number"],[330,"leo_errors::errors::parser::parser_errors"],[331,"leo_errors::errors::parser::parser_warnings"],[332,"core::ops::function"],[333,"leo_span::symbol"],[334,"alloc::vec"],[335,"leo_ast::functions::annotation"],[336,"leo_ast::statement::block"],[337,"leo_ast::statement::conditional"],[338,"leo_ast::statement::console::console_statement"],[339,"leo_ast::statement::const_"],[340,"leo_ast::statement::definition"],[341,"leo_ast::functions"],[342,"leo_ast::functions::input"],[343,"leo_ast::statement::iteration"],[344,"leo_ast::mapping"],[345,"leo_ast::struct::member"],[346,"leo_ast::functions::mode"],[347,"leo_ast::functions::output"],[348,"leo_ast::types::type_"],[349,"leo_ast::program::program_scope"],[350,"leo_ast::statement::return_"],[351,"leo_ast::struct"],[352,"leo_ast::expressions::struct_init"],[353,"leo_ast::groups::group_coordinate"],[354,"leo_ast::types::integer_type"],[355,"core::result"],[356,"core::any"],[357,"core::fmt"],[358,"core::iter::traits::iterator"],[359,"serde::de"],[360,"core::iter::adapters::peekable"],[361,"alloc::string"],[362,"serde::ser"],[363,"serde_json::value"],[364,"smol_str"]],"i":"``````````````Aj00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000``````````Ch000000000``00000`00000000000B`00000000000000000000000Ed01111111`1111111111111111111111111111`111111111111111011111111111111111111111111`1111111111010101010101011011111111110101011011101110101010","f":"`{{{d{b}}{d{f}}{d{h}}j}{{n{l}}}}`````{{{d{b}}{d{f}}{d{h}}j}{{n{A`}}}}{{{d{b}}{d{f}}{d{h}}j}{{n{Ab}}}}{{{d{b}}{d{f}}{d{h}}j}{{n{Ad}}}}````{{{d{f}}AbAbAf}Ab}{d{{d{c}}}{}}{{{d{Ah}}}{{d{Ahc}}}{}}{{{d{Ah{Aj{c}}}}}AlAn}{{{d{{Aj{c}}}}{d{B`}}}BbAn}{{{d{{Aj{c}}}}{d{Bd}}}AlAn}{{{d{{Aj{c}}}}}BbAn}{Bf{{d{c}}}{}}{Bf{{d{Ahc}}}{}}`{BfAl}{{{d{Ah{Aj{c}}}}{d{B`}}}BbAn}{{{d{Ah{Aj{c}}}}{d{{Bh{B`}}}}}BbAn}{{{d{Ah{Aj{c}}}}{d{{Bh{B`}}}}}{{Bj{Af}}}An}{{{d{Ah{Aj{c}}}}}{{Bj{{n{Bl}}}}}An}{{{d{Ah{Aj{c}}}}}{{Bj{Bd}}}An}{{{d{Ah{Aj{c}}}}}{{n{{Cb{BnC`}}}}}An}{{{d{{Aj{c}}}}Cd}AlAn}{{{d{{Aj{c}}}}Cf}AlAn}{{{d{Ah{Aj{c}}}}{d{B`}}}{{n{C`}}}An}{{{d{Ah{Aj{c}}}}{d{{Bh{B`}}}}}{{n{C`}}}An}{{{d{Ah{Aj{c}}}}}{{n{Bd}}}An}{cc{}}`?{{}Bf}{{}c{}}{{{d{{Aj{c}}}}Bfg}eAn{}{{Cl{{d{Ch}}}{{Cj{e}}}}}}{{{d{{Aj{c}}}}Cn}BdAn}{{{d{b}}{d{f}}{D`{Ch}}}{{Aj{c}}}An}`{{{d{Ah{Aj{c}}}}}{{n{Ab}}}An}{{{d{Ah{Aj{c}}}}}{{n{Db}}}An}1{{{d{Ah{Aj{c}}}}}{{n{Ad}}}An}0{{{d{Ah{Aj{c}}}}Ab}{{n{Ab}}}An}{{{d{Ah{Aj{c}}}}{d{{Bh{B`}}}}e}{{n{Ab}}}An{{Dd{{d{Ah{Aj{c}}}}}{{Cj{{n{Ab}}}}}}}}444{{{d{Ah{Aj{c}}}}}{{n{Df}}}An}55{{{d{Ah{Aj{c}}}}g}{{n{{Cb{{D`{e}}BbC`}}}}}An{}{{Dd{{d{Ah{Aj{c}}}}}{{Cj{{n{{Bj{e}}}}}}}}}}66{{{d{Ah{Aj{c}}}}}{{n{Dh}}}An}{{{d{Ah{Aj{c}}}}}{{n{Dj}}}An}{{{d{Ah{Aj{c}}}}}{{n{Dl}}}An}{{{d{Ah{Aj{c}}}}}{{n{Dn}}}An}::{{{d{Ah{Aj{c}}}}}{{n{{Cb{{D`{Ab}}BbC`}}}}}An};{{{d{Ah{Aj{c}}}}AbC`}{{n{Ab}}}An}{{{d{Ah{Aj{c}}}}}{{n{{Cb{CnE`}}}}}An}{{{d{Ah{Aj{c}}}}}{{n{{Cb{Cn{Cb{A`C`}}}}}}}An}{{{d{Ah{Aj{c}}}}}{{n{Eb}}}An}{{{d{Ah{Aj{c}}}}Ed{Bj{B`}}g}{{n{{Cb{{D`{e}}BbC`}}}}}An{}{{Dd{{d{Ah{Aj{c}}}}}{{Cj{{n{{Bj{e}}}}}}}}}}{{{d{Ah{Aj{c}}}}}{{n{Ef}}}An}{{{d{Ah{Aj{c}}}}}{{n{{Cb{CnEh}}}}}An}{{{d{Ah{Aj{c}}}}}{{n{Ej}}}An}{{{d{Ah{Aj{c}}}}AbBd}{{n{Ab}}}An}{{{d{Ah{Aj{c}}}}}{{n{El}}}An}{{{d{Ah{Aj{c}}}}}{{n{Ab}}}An}0{{{d{Ah{Aj{c}}}}}{{n{En}}}An}{{{d{Ah{Aj{c}}}}g}{{n{{Cb{{D`{e}}BbC`}}}}}An{}{{Dd{{d{Ah{Aj{c}}}}}{{Cj{{n{{Bj{e}}}}}}}}}}22{{{d{Ah{Aj{c}}}}}{{n{{Cb{F`C`}}}}}An}{{{d{Ah{Aj{c}}}}}{{n{A`}}}An}{{{d{Ah{Aj{c}}}}}{{n{Fb}}}An}{{{d{Ah{Aj{c}}}}}{{n{Fd}}}An}6{{{d{Ah{Aj{c}}}}}{{n{Ad}}}An}{{{d{Ah{Aj{c}}}}}{{n{{Cb{CnFf}}}}}An}{{{d{Ah{Aj{c}}}}Bd}{{n{Ab}}}An}{{{d{Ah{Aj{c}}}}}{{n{Fh}}}An}{{{d{Ah{Aj{c}}}}}{{n{{Cb{{D`{Ej}}C`}}}}}An};8{{{d{Ah{Aj{c}}}}}{{n{{Cb{BdF`C`}}}}}An}<{{{d{{Aj{c}}}}{d{AhBf}}}{{Bj{Fj}}}An}{{{d{{Aj{c}}}}}BbAn}````{{{d{B`}}}{{Bj{Fl}}}}`{c{{Fn{e}}}{}{}}{{}{{Fn{c}}}{}}{dG`}{{{d{{Aj{c}}}}e}{{n{g}}}AnGb{}}{{{d{Ch}}{d{{Bh{B`}}}}}Cd}{{}c{}}`{{C`C`{d{h}}{d{h}}}{{n{Al}}}}`````{{{d{h}}j}{{n{{D`{Ch}}}}}}{{{d{h}}j}{{`{{Gf{}{{Gd{{n{Ch}}}}}}}}}}`{d{{d{c}}}{}}{{{d{Ah}}}{{d{Ahc}}}{}}{{{d{Ch}}}Ch}{{d{d{Ahc}}}Al{}}{dAl}{Bf{{d{c}}}{}}{Bf{{d{Ahc}}}{}}{c{{Fn{Ch}}}Gh}{BfAl}{{}Ch}{{{d{Ah{Gj{c}}}}}{{Bj{Gl}}}{{Gf{}{{Gd{Gn}}}}}}{{{d{h}}}{{n{Al}}}}{{{d{Ch}}{d{AhH`}}}Hb}0{cc{}}{{}Bf}{{}c{}}{GnBb}{{{d{Ch}}c}FnHd}`{{{d{AhHf}}{d{h}}}{{Fn{c}}}{}}{dc{}}{dHh}{dGl}`{c{{Fn{e}}}{}{}}{{}{{Fn{c}}}{}}{dG`}9```````````````````````````````````````````````````````````````````````````````````````````````````````````````````{d{{d{c}}}{}}0{{{d{Ah}}}{{d{Ahc}}}{}}0{{{d{B`}}}B`}{{{d{Ed}}}Ed}{{d{d{Ahc}}}Al{}}0{dAl}0{Bf{{d{c}}}{}}0{Bf{{d{Ahc}}}{}}0{c{{Fn{B`}}}Gh}{BfAl}0{{{d{h}}}{{n{{Cb{BfB`}}}}}}{{{d{Ah{Gj{c}}}}}{{n{{Cb{BfB`}}}}}{{Gf{}{{Gd{Gn}}}}}}{{{d{B`}}{d{B`}}}Bb}{{d{d{c}}}Bb{}}000{{{d{B`}}{d{AhH`}}}Hb}0{cc{}}0{{}Bf}0{{}c{}}0{{{d{B`}}}Bb}{{{d{B`}}}{{Bj{Cn}}}}{Ed{{Cb{B`B`}}}}{{{d{B`}}c}FnHd}{{{d{AhHf}}{d{h}}}{{Fn{c}}}{}}{dc{}}0{dHh}{dGl}{c{{Fn{e}}}{}{}}0{{}{{Fn{c}}}{}}0{dG`}0;;","D":"Nj","p":[[5,"Handler",316],[1,"reference"],[5,"NodeBuilder",317],[1,"str"],[5,"BytePos",318],[5,"Ast",319],[8,"Result",320],[5,"Program",321],[6,"Expression",322],[6,"Statement",323],[6,"BinaryOperation",324],[0,"mut"],[5,"ParserContext",12],[1,"unit"],[10,"Network",325],[6,"Token",152],[1,"bool"],[5,"Identifier",326],[1,"usize"],[1,"slice"],[6,"Option",327],[5,"GroupTuple",328],[5,"NonNegativeNumber",329],[5,"Span",318],[1,"tuple"],[6,"ParserError",330],[6,"ParserWarning",331],[5,"SpannedToken",122],[17,"Output"],[10,"FnOnce",332],[5,"Symbol",333],[5,"Vec",334],[5,"Annotation",335],[10,"FnMut",332],[5,"Block",336],[5,"ConditionalStatement",337],[5,"ConsoleStatement",338],[5,"ConstDeclaration",339],[5,"DefinitionStatement",340],[5,"Function",341],[5,"Input",342],[6,"Delimiter",152],[5,"IterationStatement",343],[5,"Mapping",344],[5,"Member",345],[6,"Mode",346],[5,"Output",347],[6,"Type",348],[5,"ProgramScope",349],[5,"ReturnStatement",350],[5,"Composite",351],[5,"StructVariableInitializer",352],[6,"GroupCoordinate",353],[6,"IntegerType",354],[6,"Result",355],[5,"TypeId",356],[10,"Display",357],[17,"Item"],[10,"Iterator",358],[10,"Deserializer",359],[5,"Peekable",360],[5,"String",361],[1,"char"],[5,"Formatter",357],[8,"Result",357],[10,"Serializer",362],[6,"Value",363],[5,"SmolStr",364]],"r":[[0,152],[117,152]],"b":[[135,"impl-Display-for-SpannedToken"],[136,"impl-Debug-for-SpannedToken"],[291,"impl-Debug-for-Token"],[292,"impl-Display-for-Token"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAMcAFgAFAAIACQADABAAAQAWAAEAGQAAACgAAABeAAAAZgAAAGwAAgBwAAgAewAJAIgAAQCLAAAAjgAiALMABgC7ABsA2AAOAOgAGQADARkAHwEGACgBAQAvAQ0A"}],["leo_passes",{"t":"CCCCCCCCCCCCCCCCCFONNOOONNNNONONNNOOOOOONNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSECCCCCCCCFFNNNNNNNNNNONNNNNNNNNNNNNNONNNNNNNNNNNNNNNNFNNNNNNNONNNNNNNNNNNNNONOONNNNNNNIPFGIKINNNNNNNNNNNNNOOOONNNNNNNNNNNNNNOOOONNNNNNNNNNFNNNNNNNNNNNNNNNNONNNNNONONNNNNNFNNNNNNNNNNONNNNFNNNNNNNNNNNNNNNNNNNCONNNNNNNNNNNNNONNOONONNNNNNNNNCONFONNNNNNNNNNONNOONONONNNNNNONPPPFGNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNONNNNIKFNNNNNOONOONNNOONNNNNNNNNNNNNNNNFNNNNNNNNNNNNNONNNNNNNCCCCFNNNNNNNNNOONONNNNNNNNNNNNNNNNONCCCCFONNNNNNNNNONONNNNNNNNNNNNONONCCCCPPFGPGPPONNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNONOONNNNNNNNNNNNONONNNNNNNNNNNNNNONNNNOOCCCCCFONNNNNNNNNONNNNNNNNNONNNNFONNONNNNNNNONOONNNNNNNNNNONNNONCCCCCGPPKFNNNNOONNNNNNONNNNNNNNNNNNNNNNNNFNNOONNNNNNNNNONNONONNNNNNNNNNOONNNONNNRRKMCCCCCCFNNONNONNNNNNNONNNOOONNNOONNNNNNFNNNNNNONNNNNONNNOONNNNPPPFPPGPPNNNNNNNNNNNNNNNNNNHONNNNNNNNNNNONNNNNNNNCCCCFONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONONONONNNONNCFNNNNNNNONNONOOONNNNNNNNNNNNCCCCCHSSSSSSSSSFSNNNNNNNNNNNNNNNNNNNNNNNNONNONNNNNNNNNNNNNNNNNNONNNNNOOOONNNOHONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNONNNNOOOONNNOOOONNONNNON","n":["code_generation","common","dead_code_elimination","destructuring","flattening","function_inlining","loop_unrolling","pass","static_analysis","static_single_assignment","symbol_table_creation","type_checking","generator","visit_expressions","visit_program","visit_statements","visit_type","CodeGenerator","_call_graph","borrow","borrow_mut","composite_mapping","conditional_depth","current_function","deref","deref_mut","do_pass","drop","finalize_caller","from","global_mapping","init","into","new","next_label","next_register","program","program_id","struct_graph","symbol_table","try_from","try_into","type_id","type_table","variable_mapping","variant","visit_access","visit_array","visit_array_access","visit_assert","visit_assign","visit_associated_constant","visit_associated_function","visit_binary","visit_block","visit_call","visit_cast","visit_conditional","visit_console","visit_definition","visit_err","visit_expression","visit_expression_statement","visit_function","visit_identifier","visit_iteration","visit_locator","visit_mapping","visit_member_access","visit_program","visit_record","visit_return","visit_statement","visit_struct","visit_struct_init","visit_struct_or_record","visit_ternary","visit_tuple","visit_type","visit_type_with_visibility","visit_unary","visit_unit","visit_value","vzip","EXPECT_STR","ConditionalTreeNode","assigner","constant_propagation_table","graph","rename_table","replacer","symbol_table","tree_node","type_table","Assigner","AssignerInner","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","counter","default","","deref","","deref_mut","","drop","","fmt","","from","","init","","inner","into","","simple_assign_statement","","to_owned","","try_from","","try_into","","type_id","","unique_symbol","","vzip","","ConstantPropagationTable","borrow","borrow_mut","clone","clone_into","clone_to_uninit","constant_in_local_scope","constant_in_parent_scope","constants","default","deref","deref_mut","deserialize","drop","fmt","from","init","insert_block","insert_constant","into","lookup_constant","lookup_scope_by_index","parent","scope_index","","scopes","serialize","take_from_value","to_owned","try_from","try_into","type_id","vzip","CallGraph","CycleDetected","DiGraph","DiGraphError","ImportGraph","Node","StructGraph","add_edge","borrow","","borrow_mut","","contains_cycle_from","contains_node","deref","","deref_mut","","drop","","edges","","","","eq","equivalent","","","","fmt","","from","","init","","into","","new","nodes","","","","post_order","retain_nodes","try_from","","try_into","","type_id","","vzip","","RenameTable","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","drop","eq","equivalent","","","","fmt","from","ids","init","into","local_names","lookup","lookup_id","names","new","parent","to_owned","try_from","try_into","type_id","update","vzip","Replacer","borrow","borrow_mut","deref","deref_mut","drop","from","init","into","new","reconstruct_identifier","replace","try_from","try_into","type_id","vzip","SymbolTable","attach_finalize","borrow","borrow_mut","check_eq_struct","check_shadowing","check_shadowing_impl","clone","clone_into","clone_to_uninit","default","deref","deref_mut","deserialize","drop","eq","fmt","from","from_json_file","from_json_string","function_symbol","functions","init","insert_block","insert_fn","insert_futures","insert_struct","insert_variable","into","lookup_fn_symbol","lookup_scope_by_index","lookup_struct","lookup_variable","lookup_variable_in_current_scope","new_function_symbol","parent","remove_variable_from_current_scope","scope_index","","scopes","serialize","structs","take_from_value","to_json_file","to_json_file_without_keys","to_json_string","to_json_value","to_owned","try_from","try_into","type_id","variable_symbol","variables","vzip","FunctionSymbol","_span","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","finalize","fmt","from","future_inputs","id","init","input","into","output_type","serialize","take_from_value","to_owned","try_from","try_into","type_id","variant","vzip","Const","Input","Mut","VariableSymbol","VariableType","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","declaration","deref","","deref_mut","","deserialize","","drop","","eq","","equivalent","","","","","","","","fmt","","","","from","","init","","into","","serialize","","span","take_from_value","","to_owned","","to_smolstr","","to_string","","try_from","","try_into","","type_","type_id","","vzip","","ConditionalTreeNode","Node","TreeNode","borrow","borrow_mut","clone","clone_into","clone_to_uninit","counter","","create_child","depth","","deref","deref_mut","drop","elements","","eq","equivalent","","","","fmt","from","init","into","new","remove_element","to_owned","try_from","try_into","type_id","vzip","TypeTable","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","drop","fmt","from","get","init","inner","insert","into","to_owned","try_from","try_into","type_id","vzip","dead_code_eliminator","eliminate_expression","eliminate_program","eliminate_statement","DeadCodeEliminator","borrow","borrow_mut","deref","deref_mut","do_pass","drop","from","init","into","is_async","is_necessary","new","node_builder","reconstruct_assert","reconstruct_assign","reconstruct_associated_function","reconstruct_block","reconstruct_conditional","reconstruct_console","reconstruct_definition","reconstruct_expression_statement","reconstruct_function","reconstruct_identifier","reconstruct_iteration","reconstruct_return","reconstruct_struct_init","try_from","try_into","type_id","used_variables","vzip","destructure_expression","destructure_program","destructure_statement","destructurer","Destructurer","assigner","borrow","borrow_mut","deref","deref_mut","do_pass","drop","from","init","into","is_async","new","node_builder","reconstruct_assign","reconstruct_block","reconstruct_conditional","reconstruct_console","reconstruct_definition","reconstruct_function","reconstruct_iteration","reconstruct_return","reconstruct_tuple_access","simple_assign_statement","try_from","try_into","tuples","type_id","type_table","vzip","flatten_expression","flatten_program","flatten_statement","flattener","Constructed","","Flattener","Guard","None","ReturnGuard","Unconstructed","","assigner","borrow","","","borrow_mut","","","clone","","clone_into","","clone_to_uninit","","condition_stack","construct_early_return_guard","construct_guard","deref","","","deref_mut","","","do_pass","drop","","","fold_guards","fold_returns","from","","","identifier","init","","","into","","","is_async","new","node_builder","program","reconstruct_assert","reconstruct_assign","reconstruct_block","reconstruct_conditional","reconstruct_console","reconstruct_definition","reconstruct_function","reconstruct_iteration","reconstruct_program_scope","reconstruct_return","reconstruct_struct_init","reconstruct_ternary","returns","simple_assign_statement","symbol_table","ternary_array","ternary_struct","ternary_tuple","to_owned","","try_from","","","try_into","","","type_id","","","type_table","unique_simple_assign_statement","vzip","","","any_return","plain","assignment_renamer","function_inliner","inline_expression","inline_program","inline_statement","AssignmentRenamer","assigner","borrow","borrow_mut","clear","deref","deref_mut","drop","from","init","into","is_lhs","load","new","reconstruct_assign","reconstruct_conditional","reconstruct_console","reconstruct_definition","reconstruct_identifier","reconstruct_iteration","reconstruct_struct_init","rename_table","try_from","try_into","type_id","vzip","FunctionInliner","assignment_renamer","borrow","borrow_mut","call_graph","deref","deref_mut","do_pass","drop","from","init","into","is_async","new","node_builder","program","reconstruct_assign","reconstruct_block","reconstruct_call","reconstruct_conditional","reconstruct_console","reconstruct_definition","reconstruct_expression_statement","reconstruct_function","reconstruct_iteration","reconstruct_program_scope","reconstructed_functions","try_from","try_into","type_id","type_table","vzip","range_iterator","unroll_expression","unroll_program","unroll_statement","unroller","Clusivity","Exclusive","Inclusive","LoopBound","RangeIterator","borrow","","borrow_mut","","clusivity","current","deref","","deref_mut","","drop","","end","from","","init","","into","","into_iter","new","next","progress_with","try_from","","try_into","","type_id","","vzip","","Unroller","borrow","borrow_mut","constant_propagation_table","current_program","current_scope_index","deref","deref_mut","do_pass","drop","emit_err","enter_scope","exit_scope","from","handler","init","into","is_unrolling","new","node_builder","reconstruct_array_access","reconstruct_block","reconstruct_const","reconstruct_definition","reconstruct_function","reconstruct_function_stub","reconstruct_identifier","reconstruct_iteration","reconstruct_program_scope","reconstruct_stub","scope_index","symbol_table","try_from","try_into","type_id","type_table","unroll_iteration_statement","unroll_single_iteration","vzip","Input","Output","Pass","do_pass","analyze_expression","analyze_program","analyze_statement","analyzer","await_checker","future_checker","StaticAnalyzer","assert_future_await","assert_simple_async_transition_call","await_checker","borrow","borrow_mut","current_program","deref","deref_mut","do_pass","drop","emit_err","emit_warning","from","handler","init","into","new","non_async_external_call_seen","phantom","symbol_table","try_from","try_into","type_id","type_table","variant","visit_access","visit_call","visit_conditional","visit_function","visit_program_scope","vzip","AwaitChecker","borrow","borrow_mut","create_then_scope","deref","deref_mut","drop","enabled","exit_statement_scope","exit_then_scope","from","init","into","max_depth","new","remove","set_futures","static_to_await","to_await","try_from","try_into","type_id","vzip","Await","Definition","FunctionArgument","FutureChecker","LastTupleLiteral","Misc","Position","Return","TupleAccess","borrow","","borrow_mut","","clone","clone_into","clone_to_uninit","default","deref","","deref_mut","","drop","","emit_err","fmt","from","","future_check_function","handler","init","","into","","to_owned","try_from","","try_into","","type_id","","type_table","visit_access","visit_call","visit_definition","visit_expression","visit_return","visit_tuple","vzip","","rename_expression","rename_program","rename_statement","static_single_assigner","StaticSingleAssigner","assigner","borrow","borrow_mut","consume_access","consume_array","consume_assert","consume_assign","consume_binary","consume_block","consume_call","consume_cast","consume_conditional","consume_console","consume_const","consume_definition","consume_expression_statement","consume_function","consume_identifier","consume_iteration","consume_literal","consume_locator","consume_program","consume_program_scope","consume_return","consume_struct","consume_struct_init","consume_ternary","consume_tuple","consume_unary","consume_unit","deref","deref_mut","do_pass","drop","from","init","into","is_lhs","new","node_builder","pop","program","push","rename_table","simple_assign_statement","symbol_table","try_from","try_into","type_id","type_table","unique_simple_assign_statement","vzip","creator","SymbolTableCreator","borrow","borrow_mut","deref","deref_mut","do_pass","drop","from","handler","init","into","is_stub","new","program_name","structs","symbol_table","try_from","try_into","type_id","visit_function","visit_function_stub","visit_import","visit_mapping","visit_program_scope","visit_struct","visit_struct_stub","visit_stub","vzip","check_expressions","check_program","check_statements","checker","scope_state","return_incorrect_type","ADDRESS_TYPE","BOOLEAN_TYPE","FIELD_TYPE","GROUP_TYPE","INT_TYPES","MAGNITUDE_TYPES","SCALAR_TYPE","SIGNATURE_TYPE","SIGNED_INT_TYPES","TypeChecker","UNSIGNED_INT_TYPES","assert_address_type","assert_and_return_type","assert_array_type","assert_bool_int_type","assert_bool_type","assert_castable_type","assert_field_group_int_type","assert_field_group_scalar_int_type","assert_field_group_signed_int_type","assert_field_group_type","assert_field_int_type","assert_field_scalar_int_type","assert_field_type","assert_group_type","assert_int_type","assert_magnitude_type","assert_mapping_type","assert_member_is_not_record","assert_scalar_type","assert_signature_type","assert_signed_int_type","assert_type","assert_type_is_valid","assert_unsigned_int_type","async_function_input_types","borrow","borrow_mut","call_graph","check_access_allowed","check_core_function_call","check_eq_types","check_expected_struct","check_function_signature","check_type","create_child_scope","deref","deref_mut","do_pass","drop","emit_err","emit_warning","enter_scope","exit_scope","from","get_core_constant","get_core_function_call","handler","init","insert_variable","into","lookup_struct","new","phantom","scope_state","struct_graph","symbol_table","try_from","try_into","type_id","type_table","types_to_string","used_structs","visit_access","visit_array","visit_assert","visit_assign","visit_binary","visit_block","visit_call","visit_cast","visit_conditional","visit_console","visit_const","visit_definition","visit_err","visit_expression","visit_expression_statement","visit_function","visit_function_stub","visit_identifier","visit_iteration","visit_literal","visit_locator","visit_mapping","visit_program","visit_program_scope","visit_return","visit_statement","visit_struct","visit_struct_init","visit_struct_stub","visit_stub","visit_ternary","visit_tuple","visit_unary","visit_unit","vzip","ScopeState","borrow","borrow_mut","call_location","deref","deref_mut","drop","from","function","futures","has_called_finalize","has_return","init","initialize_function_state","into","is_call","is_conditional","is_return","is_stub","location","new","program_name","try_from","try_into","type_id","variant","vzip"],"q":[[0,"leo_passes"],[12,"leo_passes::code_generation"],[17,"leo_passes::code_generation::generator"],[84,"leo_passes::code_generation::visit_program"],[85,"leo_passes::common"],[94,"leo_passes::common::assigner"],[138,"leo_passes::common::constant_propagation_table"],[171,"leo_passes::common::graph"],[223,"leo_passes::common::rename_table"],[255,"leo_passes::common::replacer"],[271,"leo_passes::common::symbol_table"],[325,"leo_passes::common::symbol_table::function_symbol"],[354,"leo_passes::common::symbol_table::variable_symbol"],[418,"leo_passes::common::tree_node"],[452,"leo_passes::common::type_table"],[474,"leo_passes::dead_code_elimination"],[478,"leo_passes::dead_code_elimination::dead_code_eliminator"],[510,"leo_passes::destructuring"],[514,"leo_passes::destructuring::destructurer"],[544,"leo_passes::flattening"],[548,"leo_passes::flattening::flattener"],[632,"leo_passes::flattening::flattener::ReturnGuard"],[634,"leo_passes::function_inlining"],[639,"leo_passes::function_inlining::assignment_renamer"],[665,"leo_passes::function_inlining::function_inliner"],[697,"leo_passes::loop_unrolling"],[702,"leo_passes::loop_unrolling::range_iterator"],[738,"leo_passes::loop_unrolling::unroller"],[777,"leo_passes::pass"],[781,"leo_passes::static_analysis"],[787,"leo_passes::static_analysis::analyzer"],[819,"leo_passes::static_analysis::await_checker"],[842,"leo_passes::static_analysis::future_checker"],[891,"leo_passes::static_single_assignment"],[895,"leo_passes::static_single_assignment::static_single_assigner"],[948,"leo_passes::symbol_table_creation"],[949,"leo_passes::symbol_table_creation::creator"],[977,"leo_passes::type_checking"],[982,"leo_passes::type_checking::check_expressions"],[983,"leo_passes::type_checking::checker"],[1091,"leo_passes::type_checking::scope_state"],[1118,"leo_ast::program"],[1119,"core::result"],[1120,"core::any"],[1121,"leo_ast::expressions::access"],[1122,"alloc::string"],[1123,"leo_ast::expressions::array"],[1124,"leo_ast::access::array_access"],[1125,"leo_ast::statement::assert"],[1126,"leo_ast::statement::assign"],[1127,"leo_ast::access::associated_constant_access"],[1128,"leo_ast::access::associated_function_access"],[1129,"leo_ast::expressions::binary"],[1130,"leo_ast::statement::block"],[1131,"leo_ast::expressions::call"],[1132,"leo_ast::expressions::cast"],[1133,"leo_ast::statement::conditional"],[1134,"leo_ast::statement::console::console_statement"],[1135,"leo_ast::statement::definition"],[1136,"leo_ast::expressions::err"],[1137,"leo_ast::expressions"],[1138,"leo_ast::statement::expression"],[1139,"leo_ast::functions"],[1140,"leo_ast::common::identifier"],[1141,"leo_ast::statement::iteration"],[1142,"leo_ast::expressions::locator"],[1143,"leo_ast::mapping"],[1144,"leo_ast::access::member_access"],[1145,"leo_ast::struct"],[1146,"leo_ast::statement::return_"],[1147,"leo_ast::statement"],[1148,"leo_ast::expressions::struct_init"],[1149,"leo_ast::expressions::ternary"],[1150,"leo_ast::expressions::tuple"],[1151,"leo_ast::types::type_"],[1152,"leo_ast::functions::mode"],[1153,"leo_ast::expressions::unary"],[1154,"leo_ast::expressions::unit"],[1155,"leo_ast::expressions::literal"],[1156,"core::fmt"],[1157,"leo_ast::common::node"],[1158,"leo_span::symbol"],[1159,"serde::de"],[1160,"leo_errors::errors"],[1161,"core::option"],[1162,"core::cell"],[1163,"serde::ser"],[1164,"serde_json::value"],[1165,"indexmap::set"],[1166,"core::cmp"],[1167,"core::iter::traits::iterator"],[1168,"alloc::boxed"],[1169,"core::ops::function"],[1170,"leo_ast::common::location"],[1171,"leo_span::span"],[1172,"std::path"],[1173,"alloc::vec"],[1174,"smol_str"],[1175,"core::clone"],[1176,"leo_ast::common::node_builder"],[1177,"leo_ast::access::tuple_access"],[1178,"leo_ast::program::program_scope"],[1179,"leo_ast::types::array"],[1180,"leo_ast::types::tuple"],[1181,"indicatif::progress_bar"],[1182,"indicatif::iter"],[1183,"leo_errors::errors::loop_unroller::loop_unroller_errors"],[1184,"leo_errors::emitter"],[1185,"leo_ast::statement::const_"],[1186,"leo_ast::stub::function_stub"],[1187,"leo_ast::stub"],[1188,"snarkvm_console_network"],[1189,"leo_errors::errors::static_analyzer::static_analyzer_error"],[1190,"leo_errors::errors::static_analyzer::static_analyzer_warning"],[1191,"leo_ast::types::mapping"],[1192,"leo_ast::functions::core_function"],[1193,"leo_errors::errors::type_checker::type_checker_error"],[1194,"leo_errors::errors::type_checker::type_checker_warning"],[1195,"leo_ast::types::core_constant"],[1196,"leo_ast::functions::variant"]],"i":"``````````````````Ad00000000000000000000000000000000000000000000000000000000000000000````````````FbFd1010101001010101010101011010101010101010`G`0000000000000000000000000000000`Hj`````Hb101000101010nA`A@f33333343434343321033343434343`Hn000000000000000000000000000000`If00000000000000`j000000000000000000`000000000000000000000000000000`00`Jf000000000000000000000000000Jj00``0Jd101010100101010101011110000110010101010010101010101001010```Jn0000Nl1101111011111111111111111`l00000000000000000000`````Kf000000000000000000000000000000`````Kh0000000000000000000000000000````KlKn``0`10L`021021212121000021021002100021202102100000000000000000000002102102102100021A@h0``````Lh000000000000000000000000`Lj000000000000000000000000000000``````Ll0``0Ln10001010100101010000010101010`Mf0000000000000000000000000000000000000A@j0`0```````Nb000000000000000000000000000000`Nj000000000000000000000Nn00`00`00O`10111110101010101`001011010101000000001`````Ob000000000000000000000000000000000000000000000000000``Od00000000000000000000000000`````````````````Of00000000000000000000000000000000000000000000000000000000000`000000000000000000000000000000000000`A@b0000000000000000000000000","f":"```````````````````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}```{f{{b{c}}}{}}{f{{b{dc}}}{}}{ce{}{}}{fh}`{cc{}}`{{}f}{{}c{}}{{{b{j}}{b{l}}{b{n}}{b{A`}}{b{Ab}}}Ad}``````{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}```{{{b{dAd}}{b{Aj}}}{{An{AlAl}}}}{{{b{dAd}}{b{B`}}}{{An{AlAl}}}}{{{b{dAd}}{b{Bb}}}{{An{AlAl}}}}{{{b{dAd}}{b{Bd}}}Al}{{{b{dAd}}{b{Bf}}}Al}{{{b{dAd}}{b{Bh}}}{{An{AlAl}}}}{{{b{dAd}}{b{Bj}}}{{An{AlAl}}}}{{{b{dAd}}{b{Bl}}}{{An{AlAl}}}}{{{b{dAd}}{b{Bn}}}Al}{{{b{dAd}}{b{C`}}}{{An{AlAl}}}}{{{b{dAd}}{b{Cb}}}{{An{AlAl}}}}{{{b{dAd}}{b{Cd}}}Al}{{{b{dAd}}{b{Cf}}}Al}{{{b{dAd}}{b{Ch}}}Al}{{{b{dAd}}{b{Cj}}}{{An{AlAl}}}}{{{b{dAd}}{b{Cl}}}{{An{AlAl}}}}{{{b{dAd}}{b{Cn}}}Al}{{{b{dAd}}{b{D`}}}Al}{{{b{dAd}}{b{Db}}}{{An{AlAl}}}}{{{b{dAd}}{b{Dd}}}Al}{{{b{dAd}}{b{Df}}}{{An{AlAl}}}}{{{b{dAd}}{b{Dh}}}Al}{{{b{dAd}}{b{Dj}}}{{An{AlAl}}}}{{{b{dAd}}{b{Ab}}}Al}{{{b{dAd}}{b{Dl}}}Al}{{{b{dAd}}{b{Dn}}}Al}{{{b{dAd}}{b{E`}}}Al}2{{{b{dAd}}{b{Eb}}}{{An{AlAl}}}}3{{{b{dAd}}{b{Ed}}}{{An{AlAl}}}}{{{b{dAd}}{b{Ef}}}{{An{AlAl}}}}{{{b{Eh}}}Al}{{{b{Ad}}{b{Eh}}Ej}Al}{{{b{dAd}}{b{El}}}{{An{AlAl}}}}{{{b{dAd}}{b{En}}}{{An{AlAl}}}}{{{b{dAd}}{b{F`}}}{{An{AlAl}}}}{{}c{}}````````````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{Fb}}}Fb}{{{b{Fd}}}Fd}{{b{b{dc}}}h{}}0{bh}0`{{}Fb}{{}Fd}{f{{b{c}}}{}}0{f{{b{dc}}}{}}0{fh}0{{{b{Fb}}{b{dFf}}}Fh}{{{b{Fd}}{b{dFf}}}Fh}{cc{}}0{{}f}0`??{{{b{Fb}}DbClFj}E`}{{{b{dFd}}DbClFj}E`}{bc{}}0{c{{Af{e}}}{}{}}0{{}{{Af{c}}}{}}0{bAh}0{{{b{Fb}}ce}FlFnFn}{{{b{dFd}}ce}FlFnFn}{{}c{}}0`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{G`}}}G`}{{b{b{dc}}}h{}}{bh}{{{b{G`}}Fl}Gb}0`{{}G`}{f{{b{c}}}{}}{f{{b{dc}}}{}}{c{{Af{G`}}}Gd}{fh}{{{b{G`}}{b{dFf}}}Fh}{cc{}}{{}f}{{{b{dG`}}}f}{{{b{dG`}}FlCl}{{Gf{h}}}}{{}c{}}{{{b{G`}}Fl}{{Gh{{b{Cl}}}}}}{{{b{G`}}f}{{Gh{{b{{Gj{G`}}}}}}}}`4``{{{b{G`}}c}AfGl}{{{b{dGn}}{b{H`}}}{{Af{c}}}{}}{bc{}}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}8```````{{{b{d{Hb{c}}}}cc}hHd}{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{{Hb{c}}}}c{b{d{Hf{c}}}}{b{d{Hf{c}}}}}{{Gh{c}}}Hd}{{{b{{Hb{c}}}}c}GbHd}{f{{b{c}}}{}}0{f{{b{dc}}}{}}0{fh}0````{{{b{{Hb{c}}}}{b{{Hb{c}}}}}Gb{HhHd}}{{b{b{c}}}Gb{}}000{{{b{{Hj{c}}}}{b{dFf}}}Fh{HlHd}}{{{b{{Hb{c}}}}{b{dFf}}}Fh{HlHd}}{cc{}}0{{}f}0{{}c{}}0{{{Hf{c}}}{{Hb{c}}}Hd}````{{{b{{Hb{c}}}}}{{Af{{Hf{c}}{Hj{c}}}}}Hd}{{{b{d{Hb{c}}}}{b{{Hf{c}}}}}hHd}{c{{Af{e}}}{}{}}0{{}{{Af{c}}}{}}0{bAh}066`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Hn}}}Hn}{{b{b{dc}}}h{}}{bh}{{}Hn}{f{{b{c}}}{}}{f{{b{dc}}}{}}{fh}{{{b{Hn}}{b{Hn}}}Gb}{{b{b{c}}}Gb{}}000{{{b{Hn}}{b{dFf}}}Fh}{cc{}}`{{}f}{{}c{}}{{{b{Hn}}}{{`{{Ib{}{{I`{{b{Fl}}}}}}}}}}{{{b{Hn}}Fl}{{Gh{{b{Fl}}}}}}{{{b{Hn}}{b{Fl}}}{{Gh{{b{Fj}}}}}}`{{{Gh{{Id{Hn}}}}}Hn}`{bc{}}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}{{{b{dHn}}FlFlFj}h}9`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{f{{b{c}}}{}}{f{{b{dc}}}{}}{fh}{cc{}}{{}f}{{}c{}}{c{{If{c}}}{{Ij{{b{Db}}}{{Ih{Cl}}}}}}{{{b{d{If{c}}}}Db}{{An{Cle}}}{{Ij{{b{Db}}}{{Ih{Cl}}}}}{}}`=<;2`{{{b{dj}}IlIl}{{Gf{h}}}}:9{{{b{j}}{b{Dl}}{b{Dl}}}Gb}{{{b{j}}{b{Il}}{Gh{Fl}}GbIn}{{Gf{h}}}}{{{b{j}}{b{Il}}GbIn}{{Gf{h}}}}{{{b{j}}}j}{{b{b{dc}}}h{}}{bh}{{}j}?>{c{{Af{j}}}Gd}>{{{b{j}}{b{j}}}Gb}{{{b{j}}{b{dFf}}}Fh}?{J`{{Gf{j}}}}{{{b{H`}}}{{Gf{j}}}}``{{}f}{{{b{dj}}}f}{{{b{dj}}Il{b{D`}}}{{Gf{h}}}}{{{b{dj}}FlFl{Jb{Il}}}{{Gf{h}}}}{{{b{dj}}Il{b{Dl}}}{{Gf{h}}}}{{{b{dj}}Il{Gh{Fl}}Jd}{{Gf{h}}}}{{}c{}}{{{b{j}}Il}{{Gh{{b{Jf}}}}}}{{{b{j}}f}{{Gh{{b{{Gj{j}}}}}}}}{{{b{j}}Il{Gh{Fl}}}{{Gh{{b{Dl}}}}}}{{{b{j}}Il}{{Gh{{b{Jd}}}}}}0{{f{b{D`}}}Jf}`{{{b{dj}}Il}h};``{{{b{j}}c}AfGl}`{{{b{dGn}}{b{H`}}}{{Af{c}}}{}}{{{b{j}}J`{b{H`}}}{{Gf{h}}}}{{{b{j}}J`{b{H`}}{b{{Jh{{b{H`}}}}}}}{{Gf{h}}}}{{{b{j}}}{{Gf{Al}}}}{{{b{j}}}{{Gf{Gn}}}}{bc{}}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}``{{}c{}}``{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Jf}}}Jf}{{b{b{dc}}}h{}}{bh}{f{{b{c}}}{}}{f{{b{dc}}}{}}{c{{Af{Jf}}}Gd}{fh}{{{b{Jf}}{b{Jf}}}Gb}`{{{b{Jf}}{b{dFf}}}Fh}{cc{}}``{{}f}`=`{{{b{Jf}}c}AfGl}{{{b{dGn}}{b{H`}}}{{Af{c}}}{}}{bc{}}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}`{{}c{}}`````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{Jj}}}Jj}{{{b{Jd}}}Jd}{{b{b{dc}}}h{}}0{bh}0`{f{{b{c}}}{}}0{f{{b{dc}}}{}}0{c{{Af{Jj}}}Gd}{c{{Af{Jd}}}Gd}{fh}0{{{b{Jj}}{b{Jj}}}Gb}{{{b{Jd}}{b{Jd}}}Gb}{{b{b{c}}}Gb{}}0000000{{{b{Jj}}{b{dFf}}}Fh}0{{{b{Jd}}{b{dFf}}}Fh}0{cc{}}0{{}f}0{{}c{}}0{{{b{Jj}}c}AfGl}{{{b{Jd}}c}AfGl}`{{{b{dGn}}{b{H`}}}{{Af{c}}}{}}0{bc{}}0{bJl}0{bAl}0{c{{Af{e}}}{}{}}0{{}{{Af{c}}}{}}0`{bAh}099```{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{{Jn{c}}}}}{{Jn{c}}}{K`Kb}}{{b{b{dc}}}h{}}{bh}``{{{b{d{Jn{c}}}}}{{Jn{c}}}Kb}``{f{{b{c}}}{}}{f{{b{dc}}}{}}{fh}``{{{b{{Jn{c}}}}{b{{Jn{c}}}}}Gb{HhKb}}{{b{b{c}}}Gb{}}000{{{b{{Jn{c}}}}{b{dFf}}}Fh{HlKb}}{cc{}}{{}f}{{}c{}}{{{Hf{c}}}{{Jn{c}}}Kb}{{{b{d{Jn{c}}}}{b{c}}}GbKb}{bc{}}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}6`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{l}}}l}{{b{b{dc}}}h{}}{bh}{{}l}{f{{b{c}}}{}}{f{{b{dc}}}{}}{fh}{{{b{l}}{b{dFf}}}Fh}{cc{}}{{{b{l}}{b{Fj}}}{{Gh{Eh}}}}{{}f}`{{{b{l}}FjEh}h}{{}c{}}{bc{}}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}4`````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}>={ce{}{}}=;97``{{{b{Kd}}}Kf}`{{{b{dKf}}Bd}{{An{E`c}}}{}}{{{b{dKf}}Bf}{{An{E`c}}}{}}{{{b{dKf}}Bj}{{An{Clc}}}{}}{{{b{dKf}}Bn}{{An{Bnc}}}{}}{{{b{dKf}}Cd}{{An{E`c}}}{}}{{{b{dKf}}Cf}{{An{E`c}}}{}}{{{b{dKf}}Ch}{{An{E`c}}}{}}{{{b{dKf}}Cn}{{An{E`c}}}{}}{{{b{dKf}}D`}D`}{{{b{dKf}}Db}{{An{Clc}}}{}}{{{b{dKf}}Dd}{{An{E`c}}}{}}{{{b{dKf}}Dn}{{An{E`c}}}{}}{{{b{dKf}}Eb}{{An{Clc}}}{}}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}`{{}c{}}``````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{f{{b{c}}}{}}{f{{b{dc}}}{}}{ce{}{}}{fh}{cc{}}{{}f}8`{{{b{l}}{b{Kd}}{b{Fb}}}Kh}`{{{b{dKh}}Bf}{{An{E`c}}}{}}{{{b{dKh}}Bn}{{An{Bnc}}}{}}{{{b{dKh}}Cd}{{An{E`c}}}{}}{{{b{dKh}}Cf}{{An{E`c}}}{}}{{{b{dKh}}Ch}{{An{E`c}}}{}}{{{b{dKh}}D`}D`}{{{b{dKh}}Dd}{{An{E`c}}}{}}{{{b{dKh}}Dn}{{An{E`c}}}{}}{{{b{dKh}}Kj}{{An{Clc}}}{}}{{{b{dKh}}DbCl}E`}{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}`{bAh}`{{}c{}}`````````````{b{{b{c}}}{}}00{{{b{d}}}{{b{dc}}}{}}00{{{b{Kl}}}Kl}{{{b{Kn}}}Kn}{{b{b{dc}}}h{}}0{bh}0`{{{b{dL`}}}{{Gh{{An{Db{Jb{E`}}}}}}}}0{f{{b{c}}}{}}00{f{{b{dc}}}{}}00{ce{}{}}{fh}00{{{b{dL`}}{b{H`}}{Jb{{An{{Gh{Cl}}Cl}}}}}{{An{Cl{Jb{E`}}}}}}{{{b{dL`}}{b{dBn}}{Jb{{An{{Gh{Cl}}Dn}}}}}h}{cc{}}00{KlDb}{{}f}00{{}c{}}00`{{{b{j}}{b{l}}{b{Kd}}{b{Fb}}}L`}``{{{b{dL`}}Bd}{{An{E`c}}}{}}{{{b{dL`}}Bf}{{An{E`c}}}{}}{{{b{dL`}}Bn}{{An{Bnc}}}{}}{{{b{dL`}}Cd}{{An{E`c}}}{}}{{{b{dL`}}Cf}{{An{E`c}}}{}}{{{b{dL`}}Ch}{{An{E`c}}}{}}{{{b{dL`}}D`}D`}{{{b{dL`}}Dd}{{An{E`c}}}{}}{{{b{dL`}}Lb}Lb}{{{b{dL`}}Dn}{{An{E`c}}}{}}{{{b{dL`}}Eb}{{An{Clc}}}{}}{{{b{dL`}}Ed}{{An{Clc}}}{}}`{{{b{dL`}}DbCl}E`}`{{{b{dL`}}{b{Ld}}{b{Cl}}{b{Db}}{b{Db}}}{{An{Cl{Jb{E`}}}}}}{{{b{dL`}}{b{Dl}}{b{Cl}}{b{Db}}{b{Db}}}{{An{Cl{Jb{E`}}}}}}{{{b{dL`}}{b{Lf}}{b{Cl}}{b{Db}}{b{Db}}}{{An{Cl{Jb{E`}}}}}}{bc{}}0{c{{Af{e}}}{}{}}00{{}{{Af{c}}}{}}00{bAh}00`{{{b{dL`}}Cl}{{An{DbE`}}}}{{}c{}}00`````````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{dLh}}}h}{f{{b{c}}}{}}{f{{b{dc}}}{}}{fh}{cc{}}{{}f}8`{{{b{dLh}}c}h{{Ib{}{{I`{{An{FlFlFj}}}}}}}}{{{b{Fb}}}Lh}{{{b{dLh}}Bf}{{An{E`c}}}{}}{{{b{dLh}}Cd}{{An{E`c}}}{}}{{{b{dLh}}Cf}{{An{E`c}}}{}}{{{b{dLh}}Ch}{{An{E`c}}}{}}{{{b{dLh}}Db}{{An{Clc}}}{}}{{{b{dLh}}Dd}{{An{E`c}}}{}}{{{b{dLh}}Eb}{{An{Clc}}}{}}`{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}{{}c{}}``{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}`{f{{b{c}}}{}}{f{{b{dc}}}{}}{ce{}{}}{fh}{cc{}}{{}f}8`{{{b{Kd}}{b{A`}}{b{Fb}}{b{l}}}Lj}``{{{b{dLj}}Bf}{{An{E`c}}}{}}{{{b{dLj}}Bn}{{An{Bnc}}}{}}{{{b{dLj}}C`}{{An{Clc}}}{}}{{{b{dLj}}Cd}{{An{E`c}}}{}}{{{b{dLj}}Cf}{{An{E`c}}}{}}{{{b{dLj}}Ch}{{An{E`c}}}{}}{{{b{dLj}}Cn}{{An{E`c}}}{}}{{{b{dLj}}D`}D`}{{{b{dLj}}Dd}{{An{E`c}}}{}}{{{b{dLj}}Lb}Lb}`{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}`{{}c{}}``````````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0``{f{{b{c}}}{}}0{f{{b{dc}}}{}}0{fh}0`{cc{}}0{{}f}0777{{ccLl}{{Ln{c}}}M`}{{{b{d{Ln{c}}}}}{{Gh{e}}}M`{}}{Mb{{Md{c}}}{}}==<<;;::`98``{{{b{dMf}}}f}87{ce{}{}}7{{{b{Mf}}Mh}h}{{{b{dMf}}f}f}{{{b{dMf}}f}h}9`8?`{{j{b{l}}{b{Mj}}{b{Kd}}}Mf}`{{{b{dMf}}Bb}{{An{Clc}}}{}}{{{b{dMf}}Bn}{{An{Bnc}}}{}}{{{b{dMf}}Ml}{{An{E`c}}}{}}{{{b{dMf}}Ch}{{An{E`c}}}{}}{{{b{dMf}}D`}D`}{{{b{dMf}}Mn}Mn}{{{b{dMf}}Db}{{An{Clc}}}{}}{{{b{dMf}}Dd}{{An{E`c}}}{}}{{{b{dMf}}Lb}Lb}{{{b{dMf}}N`}N`}``{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}`{{{b{dMf}}Dd}E`}{{{b{dMf}}{b{Dd}}c}E`M`}{{}c{}}```{ce{}{}}```````{{{b{d{Nb{c}}}}{b{{Gh{{b{Cl}}}}}}In}hNd}{{{b{{Nb{c}}}}FlFlIn}hNd}`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}`{f{{b{c}}}{}}{f{{b{dc}}}{}}6{fh}{{{b{{Nb{c}}}}Nf}hNd}{{{b{{Nb{c}}}}Nh}hNd}{cc{}}`{{}f}<{{{b{j}}{b{l}}{b{Mj}}fGb}{{Nb{c}}}Nd}```{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}``{{{b{d{Nb{c}}}}{b{Aj}}{b{e}}}gNd{}{}}{{{b{d{Nb{c}}}}{b{C`}}{b{e}}}gNd{}{}}{{{b{d{Nb{c}}}}{b{Cd}}}hNd}{{{b{d{Nb{c}}}}{b{D`}}}hNd}{{{b{d{Nb{c}}}}{b{Lb}}}hNd}{{}c{}}`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{dNj}}GbIn}{{Af{{Jb{Nl}}Nh}}}}{f{{b{c}}}{}}{f{{b{dc}}}{}}{fh}`{{{b{dNj}}Gb{Jb{Nl}}}h}{{{b{dNj}}Gb{Jb{Nl}}}{{Jb{Nl}}}}{cc{}}{{}f}:`{{fGb}Nj}{{{b{dNj}}{b{Db}}}Gb}{{{b{dNj}}{Hf{Fl}}}h}``{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}{{}c{}}`````````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{Nn}}}Nn}{{b{b{dc}}}h{}}{bh}{{}Nn}{f{{b{c}}}{}}0{f{{b{dc}}}{}}0{fh}0{{{b{O`}}Nf}h}{{{b{Nn}}{b{dFf}}}Fh}{cc{}}0{{{b{D`}}{b{l}}{b{Mj}}}h}`{{}f}0>>{bc{}}{c{{Af{e}}}{}{}}0{{}{{Af{c}}}{}}0{bAh}0`{{{b{dO`}}{b{Aj}}{b{c}}}e{}{}}{{{b{dO`}}{b{C`}}{b{c}}}e{}{}}{{{b{dO`}}{b{Ch}}}h}{{{b{dO`}}{b{Cl}}{b{c}}}e{}{}}{{{b{dO`}}{b{Dn}}}h}{{{b{dO`}}{b{Ef}}{b{c}}}e{}{}}{{}c{}}0``````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{dOb}}Aj}c{}}{{{b{dOb}}B`}c{}}{{{b{dOb}}Bd}c{}}{{{b{dOb}}Bf}c{}}{{{b{dOb}}Bl}c{}}{{{b{dOb}}Bn}c{}}{{{b{dOb}}C`}c{}}{{{b{dOb}}Cb}c{}}{{{b{dOb}}Cd}c{}}{{{b{dOb}}Cf}c{}}{{{b{dOb}}Ml}c{}}{{{b{dOb}}Ch}c{}}{{{b{dOb}}Cn}c{}}{{{b{dOb}}D`}c{}}{{{b{dOb}}Db}c{}}{{{b{dOb}}Dd}c{}}{{{b{dOb}}F`}c{}}{{{b{dOb}}Df}c{}}{{{b{dOb}}Ab}c{}}{{{b{dOb}}Lb}c{}}{{{b{dOb}}Dn}c{}}{{{b{dOb}}Dl}c{}}{{{b{dOb}}Eb}c{}}{{{b{dOb}}Ed}c{}}{{{b{dOb}}Ef}c{}}{{{b{dOb}}El}c{}}{{{b{dOb}}En}c{}}{f{{b{c}}}{}}{f{{b{dc}}}{}}{ce{}{}}{fh}{cc{}}{{}f}{{}c{}}`{{{b{Kd}}{b{j}}{b{l}}{b{Fb}}}Ob}`{{{b{dOb}}}Hn}`{{{b{dOb}}}h}`{{{b{dOb}}DbCl}E`}`{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}`{{{b{dOb}}Cl}{{An{DbE`}}}}8``{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{f{{b{c}}}{}}{f{{b{dc}}}{}}{ce{}{}}{fh}{cc{}}`{{}f}{{}c{}}`{{{b{Mj}}}Od}```=<;{{{b{dOd}}{b{D`}}}h}{{{b{dOd}}{b{Mn}}}h}{{{b{dOd}}{b{Ab}}}h}{{{b{dOd}}{b{Dh}}}h}{{{b{dOd}}{b{Lb}}}h}{{{b{dOd}}{b{Dl}}}h}0{{{b{dOd}}{b{N`}}}h}8`````{{{Gh{Eh}}{Gh{Eh}}{b{{Gh{Eh}}}}}{{Gh{Eh}}}}```````````{{{b{{Of{c}}}}{b{{Gh{Eh}}}}In}hNd}{{{b{d{Of{c}}}}Eh{b{{Gh{Eh}}}}In}EhNd}11111111111111{{{b{{Of{c}}}}{b{{Gh{Eh}}}}In}{{Gh{Oh}}}Nd}{{{b{d{Of{c}}}}InFl{b{Eh}}}hNd}333{{{b{d{Of{c}}}}{b{{Gh{Eh}}}}{b{Eh}}In}hNd}{{{b{d{Of{c}}}}{b{Eh}}In}GbNd}5`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}`{{{b{d{Of{c}}}}{b{H`}}GbIn}hNd}{{{b{d{Of{c}}}}Oj{b{{Jh{{An{{Gh{Eh}}In}}}}}}In}{{Gh{Eh}}}Nd}{{{b{{Of{c}}}}{b{{Gh{Eh}}}}{b{{Gh{Eh}}}}In}hNd}{{{b{d{Of{c}}}}{b{Dl}}{b{{Gh{Eh}}}}In}EhNd}{{{b{d{Of{c}}}}{b{D`}}}hNd}{{{b{{Of{c}}}}eAl{b{{Gh{Eh}}}}In}hNd{{Ij{{b{Eh}}}{{Ih{Gb}}}}}}{{{b{d{Of{c}}}}}fNd}{f{{b{c}}}{}}{f{{b{dc}}}{}}{ce{}{}}{fh}{{{b{{Of{c}}}}Ol}hNd}{{{b{{Of{c}}}}On}hNd}{{{b{d{Of{c}}}}f}hNd}0{cc{}}{{{b{{Of{c}}}}{b{Eh}}{b{Db}}}{{Gh{A@`}}}Nd}{{{b{{Of{c}}}}{b{Db}}{b{Db}}}{{Gh{Oj}}}Nd}`{{}f}{{{b{d{Of{c}}}}{Gh{Eh}}{b{Db}}EhIn}hNd}{{}c{}}{{{b{d{Of{c}}}}{Gh{Fl}}Fl}{{Gh{Dl}}}Nd}{{j{b{l}}{b{Mj}}}{{Of{c}}}Nd}````{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}`{{{b{{Jh{Eh}}}}}Al}`{{{b{d{Of{c}}}}{b{Aj}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{B`}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{Bd}}}hNd}{{{b{d{Of{c}}}}{b{Bf}}}hNd}{{{b{d{Of{c}}}}{b{Bl}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{Bn}}}hNd}{{{b{d{Of{c}}}}{b{C`}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{Cb}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{Cd}}}hNd}{{{b{d{Of{c}}}}{b{Cf}}}hNd}{{{b{d{Of{c}}}}{b{Ml}}}hNd}{{{b{d{Of{c}}}}{b{Ch}}}hNd}{{{b{d{Of{c}}}}{b{Cj}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{Cl}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{Cn}}}hNd}{{{b{d{Of{c}}}}{b{D`}}}hNd}{{{b{d{Of{c}}}}{b{Mn}}}hNd}{{{b{d{Of{c}}}}{b{Db}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{Dd}}}hNd}{{{b{d{Of{c}}}}{b{F`}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{Df}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{Dh}}}hNd}{{{b{d{Of{c}}}}{b{Ab}}}hNd}{{{b{d{Of{c}}}}{b{Lb}}}hNd}{{{b{d{Of{c}}}}{b{Dn}}}hNd}{{{b{d{Of{c}}}}{b{E`}}}hNd}{{{b{d{Of{c}}}}{b{Dl}}}hNd}{{{b{d{Of{c}}}}{b{Eb}}{b{e}}}gNd{}{}}1{{{b{d{Of{c}}}}{b{N`}}}hNd}{{{b{d{Of{c}}}}{b{Ed}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{Ef}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{El}}{b{e}}}gNd{}{}}{{{b{d{Of{c}}}}{b{En}}{b{e}}}gNd{}{}}{{}c{}}`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}`{f{{b{c}}}{}}{f{{b{dc}}}{}}{fh}{cc{}}````{{}f}{{{b{dA@b}}A@d}h}8````{{{b{A@b}}}Il}{{}A@b}`{c{{Af{e}}}{}{}}{{}{{Af{c}}}{}}{bAh}`=","D":"CCl","p":[[1,"reference"],[0,"mut"],[1,"usize"],[1,"unit"],[5,"SymbolTable",271],[5,"TypeTable",452],[8,"StructGraph",171],[8,"CallGraph",171],[5,"Program",1118],[5,"CodeGenerator",17],[6,"Result",1119],[5,"TypeId",1120],[6,"AccessExpression",1121],[5,"String",1122],[1,"tuple"],[5,"ArrayExpression",1123],[5,"ArrayAccess",1124],[5,"AssertStatement",1125],[5,"AssignStatement",1126],[5,"AssociatedConstant",1127],[5,"AssociatedFunction",1128],[5,"BinaryExpression",1129],[5,"Block",1130],[5,"CallExpression",1131],[5,"CastExpression",1132],[5,"ConditionalStatement",1133],[5,"ConsoleStatement",1134],[5,"DefinitionStatement",1135],[5,"ErrExpression",1136],[6,"Expression",1137],[5,"ExpressionStatement",1138],[5,"Function",1139],[5,"Identifier",1140],[5,"IterationStatement",1141],[5,"LocatorExpression",1142],[5,"Mapping",1143],[5,"MemberAccess",1144],[5,"Composite",1145],[5,"ReturnStatement",1146],[6,"Statement",1147],[5,"StructExpression",1148],[5,"TernaryExpression",1149],[5,"TupleExpression",1150],[6,"Type",1151],[6,"Mode",1152],[5,"UnaryExpression",1153],[5,"UnitExpression",1154],[6,"Literal",1155],[5,"Assigner",94],[5,"AssignerInner",94],[5,"Formatter",1156],[8,"Result",1156],[8,"NodeID",1157],[5,"Symbol",1158],[10,"Display",1156],[5,"ConstantPropagationTable",138],[1,"bool"],[10,"Deserializer",1159],[8,"Result",1160],[6,"Option",1161],[5,"RefCell",1162],[10,"Serializer",1163],[6,"Value",1164],[1,"str"],[5,"DiGraph",171],[10,"Node",171],[5,"IndexSet",1165],[10,"PartialEq",1166],[6,"DiGraphError",171],[10,"Debug",1156],[5,"RenameTable",223],[17,"Item"],[10,"Iterator",1167],[5,"Box",1168],[5,"Replacer",255],[17,"Output"],[10,"Fn",1169],[5,"Location",1170],[5,"Span",1171],[5,"PathBuf",1172],[5,"Vec",1173],[5,"VariableSymbol",354],[5,"FunctionSymbol",325],[1,"slice"],[6,"VariableType",354],[5,"SmolStr",1174],[5,"TreeNode",418],[10,"Clone",1175],[10,"Node",418],[5,"NodeBuilder",1176],[5,"DeadCodeEliminator",478],[5,"Destructurer",514],[5,"TupleAccess",1177],[6,"Guard",548],[6,"ReturnGuard",548],[5,"Flattener",548],[5,"ProgramScope",1178],[5,"ArrayType",1179],[5,"TupleType",1180],[5,"AssignmentRenamer",639],[5,"FunctionInliner",665],[6,"Clusivity",702],[5,"RangeIterator",702],[10,"LoopBound",702],[5,"ProgressBar",1181],[5,"ProgressBarIter",1182],[5,"Unroller",738],[6,"LoopUnrollerError",1183],[5,"Handler",1184],[5,"ConstDeclaration",1185],[5,"FunctionStub",1186],[5,"Stub",1187],[5,"StaticAnalyzer",787],[10,"Network",1188],[6,"StaticAnalyzerError",1189],[6,"StaticAnalyzerWarning",1190],[5,"AwaitChecker",819],[8,"ConditionalTreeNode",418],[6,"Position",842],[5,"FutureChecker",842],[5,"StaticSingleAssigner",895],[5,"SymbolTableCreator",949],[5,"TypeChecker",983],[5,"MappingType",1191],[6,"CoreFunction",1192],[6,"TypeCheckerError",1193],[6,"TypeCheckerWarning",1194],[6,"CoreConstant",1195],[5,"ScopeState",1091],[6,"Variant",1196],[8,"ImportGraph",171],[15,"Constructed",632],[10,"Pass",777]],"r":[[85,418]],"b":[[388,"impl-Debug-for-VariableType"],[389,"impl-Display-for-VariableType"],[390,"impl-Display-for-VariableSymbol"],[391,"impl-Debug-for-VariableSymbol"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAMACjQABAAEABwACAAsABwAUAAEAGQADACAAAAApAAIALwAvAGEACQBsAAkAeAABAH8ABwCJAAcAlAAFAJsAAAClAAYAtAAEALoABQDEAAYAzQABANgABwDhAA4A8gAAAPoAAwD/AAAAAQEEAAcBAAAJAQcAEgEBABYBCgAkAQAAJgEAADIBAAA4AQAAOgEBAD8BBABFAQAASAEJAFMBAABXAQAAWwEFAGIBAwBoAQkAcwEVAIsBAQCPAQEAkgELAJ8BAwCmAQQAsAECALUBBQC8AQAAwAEEAMYBCQDSAQAA1gEPAOcBAADtAQAA9QEAAPgBAAD6AQIA/gEFAAUCBQAMAgAADwIAABICBQAbAgEAHgIAACACBAAnAgAAKgIAAC4CCwA9AgkATAIDAFQCAABbAgEAXgIAAGYCDQB2AgIAewIEAIECAgCFAgIAiQIAAIsCAACVAgUAnAIBAJ8CAwCkAgAArAIAALECAACzAgAAtQICALkCBQDAAgEAxAIMANMCAQDXAg4A6QIDAPICAAD1AgAA9wIJAAMDAgAJAwIADgMGABgDAQAbAwMAIwMAACcDAAApAwIALgMIADgDAgA/AwAARwMcAGcDAgBsAxQAggMBAI4DAACTAwAAlgMBAJ4DBACkAwAArQMAAK8DAgC0AwEAtwMDALwDAAC/AwAAwgMAAMYDHAD8AwEA/wMAAAYEAwASBAAAFwQAABsEAgAfBAAAIQQlAEgEAgBQBAAAWgQCAF4EAAA="}],["leo_retriever",{"t":"CCEFNNNNNNNNNONNNNONOCNNNNNNNONONNCNOCCNONOCNNONONONNNNNFNNNNNNNNNNNNNNNNNNNNONONONNONNNNNNNPPGPNNNNNNNNNNNNNNNNNNNNNNNNNNFNNONNNONNNNNNNNNONOONONNNNNNNFNNNNNNNONNNONNNNNNNONNONNNNNNNNONNPPGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNONNNOHNNNNONONNOONHHNNNHNN","n":["program_context","retriever","Location","ProgramContext","add_checksum","add_compiled_file_path","add_dependencies","add_full_path","add_post_order","add_stub","borrow","borrow_mut","checksum","","clone","clone_into","clone_to_uninit","compiled_file_path","","dependencies","","dependency","deref","deref_mut","drop","fmt","from","","full_name","","full_path","","init","into","location","","","lock_file_entry","manifest","name","","network","","network_name","new_main","path","","post_order","","stub","","to_owned","try_from","try_into","type_id","vzip","Dependency","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","from","hash","init","into","location","","name","","network","","new","path","","serialize","take_from_value","to_owned","try_from","try_into","type_id","vzip","Git","Local","Location","Network","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","from","hash","init","into","serialize","take_from_value","to_owned","try_from","try_into","type_id","vzip","LockFileEntry","borrow","borrow_mut","checksum","clone","clone_into","clone_to_uninit","dependencies","deref","deref_mut","deserialize","drop","fmt","from","","init","into","location","name","","network","path","","serialize","take_from_value","to_owned","try_from","try_into","type_id","vzip","Manifest","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","dependencies","","deref","deref_mut","description","","deserialize","drop","fmt","from","init","into","license","","new","program","","read_from_dir","serialize","take_from_value","to_owned","try_from","try_into","type_id","version","","vzip","write_to_dir","CanaryV0","MainnetV0","NetworkName","TestnetV0","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","eq","equivalent","","","","fmt","","from","hash","id","init","into","serialize","take_from_value","to_owned","to_smolstr","to_string","try_from","","","try_into","type_id","vzip","Retriever","borrow","borrow_mut","contexts","deref","deref_mut","drop","endpoint","fetch_from_network","from","get_context","init","into","name","new","phantom","prepare_local","process_local","project_path","registry_path","retrieve","retrieve_from_network","retrieve_local","try_from","try_into","type_id","verify_valid_program","vzip","write_lock_file"],"q":[[0,"leo_retriever"],[2,"leo_retriever::program_context"],[56,"leo_retriever::program_context::dependency"],[92,"leo_retriever::program_context::location"],[122,"leo_retriever::program_context::lock_file_entry"],[152,"leo_retriever::program_context::manifest"],[187,"leo_retriever::program_context::network_name"],[223,"leo_retriever::retriever"],[252,"std::path"],[253,"leo_span::symbol"],[254,"alloc::vec"],[255,"indexmap::set"],[256,"leo_ast::stub"],[257,"alloc::string"],[258,"core::fmt"],[259,"core::result"],[260,"core::any"],[261,"serde::de"],[262,"core::hash"],[263,"core::option"],[264,"serde::ser"],[265,"serde_json::value"],[266,"leo_errors::errors::package::package_errors"],[267,"smol_str"],[268,"leo_errors::errors"],[269,"leo_errors::errors::utils::util_errors"],[270,"snarkvm_console_network"],[271,"indexmap::map"]],"i":"````d0000000000000000`000000000000`00``0000`000000000000`B`0000000000000000000000000000000000Bb0`000000000000000000000000000`Cf0000000000000000000000000000`Ch000000000000000000000000000000000Bd0`000000000000000000000000000000000`Dd000000`000000000000``000`00","f":"````{{{f{bd}}}h}{{{f{bd}}{f{j}}}h}{{{f{bd}}{n{l}}}h}1{{{f{bd}}{A`{l}}}h}{{{f{bd}}Ab}Ad}{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{d}}}{{f{Af}}}}`{{{f{d}}}d}{{f{f{bc}}}h{}}{fh}{{{f{d}}}{{f{Ah}}}}`{{{f{d}}}{{n{l}}}}``{Aj{{f{c}}}{}}{Aj{{f{bc}}}{}}{Ajh}{{{f{d}}{f{bAl}}}An}{B`d}{cc{}};`7`{{}Aj}{{}c{}}`{{{f{d}}}{{f{Bb}}}}```{{{f{d}}}{{f{l}}}}`{{{f{d}}}{{f{Bd}}}}``{{lAh{n{B`}}}d}=`{{{f{d}}}{{f{{A`{l}}}}}}`{{{f{d}}}{{f{Ab}}}}`{fc{}}{c{{Bf{e}}}{}{}}{{}{{Bf{c}}}{}}{fBh}:`{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{B`}}}B`}{{f{f{bc}}}h{}}{fh}{Aj{{f{c}}}{}}{Aj{{f{bc}}}{}}{c{{Bf{B`}}}Bj}{Ajh}{{{f{B`}}{f{B`}}}Ad}{{f{f{c}}}Ad{}}000{{{f{B`}}{f{bAl}}}An}{cc{}}{{{f{B`}}{f{bc}}}hBl}{{}Aj}{{}c{}}{{{f{B`}}}{{f{Bb}}}}`{{{f{B`}}}{{f{Af}}}}`{{{f{B`}}}{{f{{Bn{Bd}}}}}}`{{AfBb{Bn{Bd}}{Bn{Ah}}}B`}{{{f{B`}}}{{f{{Bn{Ah}}}}}}`{{{f{B`}}c}BfC`}{{{f{bCb}}{f{Cd}}}{{Bf{c}}}{}}{fc{}}{c{{Bf{e}}}{}{}}{{}{{Bf{c}}}{}}{fBh};````{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{Bb}}}Bb}{{f{f{bc}}}h{}}{fh}{Aj{{f{c}}}{}}{Aj{{f{bc}}}{}}{c{{Bf{Bb}}}Bj}{Ajh}{{{f{Bb}}{f{Bb}}}Ad}{{f{f{c}}}Ad{}}000{{{f{Bb}}{f{bAl}}}An}{cc{}}{{{f{Bb}}{f{bc}}}hBl}{{}Aj}{{}c{}}{{{f{Bb}}c}BfC`}{{{f{bCb}}{f{Cd}}}{{Bf{c}}}{}}{fc{}}{c{{Bf{e}}}{}{}}{{}{{Bf{c}}}{}}{fBh}6`{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}`{{{f{Cf}}}Cf}{{f{f{bc}}}h{}}{fh}`{Aj{{f{c}}}{}}{Aj{{f{bc}}}{}}{c{{Bf{Cf}}}Bj}{Ajh}{{{f{Cf}}{f{bAl}}}An}{cc{}}{{{f{d}}}Cf}{{}Aj}{{}c{}}`{{{f{Cf}}}{{f{Cd}}}}``{{{f{Cf}}}{{Bn{{f{Ah}}}}}}`{{{f{Cf}}c}BfC`}{{{f{bCb}}{f{Cd}}}{{Bf{c}}}{}}{fc{}}{c{{Bf{e}}}{}{}}{{}{{Bf{c}}}{}}{fBh}8`{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{Ch}}}Ch}{{f{f{bc}}}h{}}{fh}{{{f{Cd}}}Ch}{{{f{Ch}}}{{f{{Bn{{n{B`}}}}}}}}`{Aj{{f{c}}}{}}{Aj{{f{bc}}}{}}{{{f{Ch}}}{{f{Af}}}}`{c{{Bf{Ch}}}Bj}{Ajh}{{{f{Ch}}{f{bAl}}}An}{cc{}}{{}Aj}{{}c{}}6`{{{f{Cd}}{f{Cd}}{f{Cd}}{f{Cd}}{Bn{{n{B`}}}}}Ch}7`{{{f{j}}}{{Bf{ChCj}}}}{{{f{Ch}}c}BfC`}{{{f{bCb}}{f{Cd}}}{{Bf{c}}}{}}{fc{}}{c{{Bf{e}}}{}{}}{{}{{Bf{c}}}{}}{fBh}>`8{{{f{Ch}}{f{j}}}{{Bf{hCj}}}}````{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{Bd}}}Bd}{{f{f{bc}}}h{}}{fh}{Aj{{f{c}}}{}}{Aj{{f{bc}}}{}}{c{{Bf{Bd}}}Bj}{Ajh}{{{f{Bd}}{f{Bd}}}Ad}{{f{f{c}}}Ad{}}000{{{f{Bd}}{f{bAl}}}An}0{cc{}}{{{f{Bd}}{f{bc}}}hBl}{{{f{Bd}}}Cl}{{}Aj}{{}c{}}{{{f{Bd}}c}BfC`}{{{f{bCb}}{f{Cd}}}{{Bf{c}}}{}}{fc{}}{fCn}{fAf}{c{{Bf{e}}}{}{}}{Af{{Bf{BdD`}}}}{{{f{Cd}}}{{Bf{BdD`}}}}{{}{{Bf{c}}}{}}{fBh}:`{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}`{Aj{{f{c}}}{}}{Aj{{f{bc}}}{}}{Ajh}`{{{f{Cd}}}{{Bf{AfDb}}}}{cc{}}{{{f{{Dd{c}}}}{f{l}}}{{f{d}}}Df}{{}Aj}{{}c{}}`{{l{f{Ah}}{f{j}}Af}{{Bf{{Dd{c}}Db}}}Df}`{{{f{b{Dd{c}}}}l}{{Bf{{Dj{Ah{Dh{lAb}}}}Db}}}Df}{{{f{b{Dd{c}}}}lAd}{{Bf{hDb}}}Df}``{{{f{b{Dd{c}}}}}{{Bf{{n{l}}Db}}}Df}{{{f{j}}{f{j}}{f{Af}}{f{Af}}}{{Bf{{Dj{Ab{n{B`}}}}Db}}}}{{{f{Af}}{f{Ah}}}{{Bf{{n{B`}}Db}}}}{c{{Bf{e}}}{}{}}{{}{{Bf{c}}}{}}{fBh}{{{f{Cd}}{f{Cd}}}{{Bf{hDb}}}}:{{{f{{Dd{c}}}}{f{l}}}{{Bf{hDb}}}Df}","D":"Al","p":[[0,"mut"],[5,"ProgramContext",2],[1,"reference"],[1,"unit"],[5,"Path",252],[5,"Symbol",253],[5,"Vec",254],[5,"IndexSet",255],[5,"Stub",256],[1,"bool"],[5,"String",257],[5,"PathBuf",252],[1,"usize"],[5,"Formatter",258],[8,"Result",258],[5,"Dependency",56],[6,"Location",92],[6,"NetworkName",187],[6,"Result",259],[5,"TypeId",260],[10,"Deserializer",261],[10,"Hasher",262],[6,"Option",263],[10,"Serializer",264],[6,"Value",265],[1,"str"],[5,"LockFileEntry",122],[5,"Manifest",152],[6,"PackageError",266],[1,"u16"],[5,"SmolStr",267],[6,"LeoError",268],[6,"UtilError",269],[5,"Retriever",223],[10,"Network",270],[5,"IndexMap",271],[1,"tuple"]],"r":[[2,92]],"b":[[205,"impl-Debug-for-NetworkName"],[206,"impl-Display-for-NetworkName"],[218,"impl-TryFrom%3CString%3E-for-NetworkName"],[219,"impl-TryFrom%3C%26str%3E-for-NetworkName"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAO4ADwAAABsAHQAEACMAJQBKAAEATQAiAHEAAQB0ABMAiQABAIwAHACqAAAArAAjANEAAgDVABMA6gABAO0ADwA="}],["leo_span",{"t":"EECCCECPGFFPFFFFHNNNNNNNNNNNNNNNONNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNHONOOONNNOONNHHOHOOONNOONNNNNNNNNNNNNNNNNNNNNNNNNOFFKFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNMNNNNOQNNNNNNNONNNNNNNNNNNMNNMNNNNNNNNNNNFNNNNHNNNNNNHNNNNFGFPSJFPFNNNNNNNNNNNNNNNNNNQHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNOOQCOQNNNNNNNNNNNNNNNNNHSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS","n":["Span","Symbol","source_map","span","span_json","sym","symbol","Custom","FileName","LineCol","MultiByteChar","Real","SourceFile","SourceMap","SourceMapInner","SpanLocation","analyze_source_file","borrow","","","","","","","borrow_mut","","","","","","","bytepos_to_file_charpos","bytes","clone","","clone_into","","clone_to_uninit","","col","col_start","col_stop","contents_of_span","","default","","deref","","","","","","","deref_mut","","","","","","","drop","","","","","","","dummy","end_pos","eq","equivalent","","","find_line_col","find_source_file","find_source_file_index","fmt","","from","","","","","","","init","","","","","","","inner","into","","","","","","","is_not_test_framework","line","line_contents_of_span","line_start","line_stop","lines","load_file","lookup_file_pos","lookup_line","multibyte_chars","name","new","new_source","normalize_newlines","normalize_src","pos","remove_bom","source_file","","source_files","span_to_location","span_to_string","src","start_pos","to_owned","","to_string","try_allocate_address_space","try_from","","","","","","","try_into","","","","","","","type_id","","","","","","","used_address_space","BytePos","CharPos","Pos","Span","add","","","","borrow","","","borrow_mut","","","clone","","","clone_into","","","clone_to_uninit","","","cmp","","compare","","default","","deref","","","deref_mut","","","deserialize","","drop","","","dummy","eq","","","equivalent","","","","","","","","","fmt","","","","from","","","from_u32","","","from_usize","","","hash","","hi","impl_pos","init","","","into","","","is_dummy","lo","new","partial_cmp","","serialize","","sub","","to_owned","","","to_string","to_u32","","","to_usize","","","try_from","","","try_into","","","type_id","","","SpanMapVisitor","borrow","borrow_mut","deref","deref_mut","deserialize","drop","expecting","fmt","from","init","into","serialize","try_from","try_into","type_id","visit_map","InnerInterner","InternedStr","Interner","Owned","PRE_DEFINED","SESSION_GLOBALS","SessionGlobals","Static","Symbol","as_str","as_u32","borrow","","","","","","borrow_mut","","","","","clone","clone_into","clone_to_uninit","cmp","compare","consts","create_session_if_not_set_then","default","deref","","","","","","deref_mut","","","","","deserialize","drop","","","","","eq","","equivalent","","","","","","fmt","","from","","","","","get","hash","","init","","","","","inner","intern","","into","","","","","new","partial_cmp","prefill","prefilled","serde_from_symbol","serde_to_symbol","serialize","set","source_map","strings","sym","symbol_interner","symbols","to_owned","to_string","try_from","","","","","try_into","","","","","type_id","","","","","with_session_globals","As","Await","BHP1024","BHP256","BHP512","BHP768","ChaCha","CheatCode","Const","Else","False","Fn","For","Future","GEN","If","In","Keccak256","Keccak384","Keccak512","Let","Mapping","Mod","Mut","Pedersen128","Pedersen64","Poseidon2","Poseidon4","Poseidon8","Return","SHA3_256","SHA3_384","SHA3_512","SelfLower","SelfUpper","Star","Struct","True","Type","_nonce","abs","abs_wrapped","add","add_wrapped","address","aleo","and","assert","assert_eq","assert_neq","block","bool","caller","commit_to_address","commit_to_field","commit_to_group","console","constant","contains","decrement","div","div_wrapped","double","eq","field","function","get","get_or_use","group","gt","gte","hash_to_address","hash_to_field","hash_to_group","hash_to_i128","hash_to_i16","hash_to_i32","hash_to_i64","hash_to_i8","hash_to_scalar","hash_to_u128","hash_to_u16","hash_to_u32","hash_to_u64","hash_to_u8","height","i128","i16","i32","i64","i8","id","import","increment","inline","input","inv","leo","lt","lte","main","mapping","mul","mul_wrapped","nand","neg","neq","network","nor","not","or","owner","pow","pow_wrapped","print_mapping","private","program","public","rand_address","rand_bool","rand_field","rand_group","rand_i128","rand_i16","rand_i32","rand_i64","rand_i8","rand_scalar","rand_u128","rand_u16","rand_u32","rand_u64","rand_u8","record","rem","rem_wrapped","remove","scalar","set","set_block_height","shl","shl_wrapped","shr","shr_wrapped","signature","signer","square","square_root","string","stub","sub","sub_wrapped","to_x_coordinate","to_y_coordinate","transition","u128","u16","u32","u64","u8","verify","xor"],"q":[[0,"leo_span"],[7,"leo_span::source_map"],[150,"leo_span::span"],[254,"leo_span::span_json"],[271,"leo_span::symbol"],[380,"leo_span::symbol::sym"],[542,"alloc::vec"],[543,"alloc::string"],[544,"core::option"],[545,"alloc::rc"],[546,"core::fmt"],[547,"std::path"],[548,"std::io::error"],[549,"core::result"],[550,"core::any"],[551,"core::cmp"],[552,"serde::de"],[553,"core::hash"],[554,"serde::ser"],[555,"core::ops::function"],[556,"core::num::nonzero"]],"i":"```````Ad```0`````A`BdBhAlB`5j5432160506060603445221543216054321605432160450000222605432160543216025432160`324452555552``0`431225560615432160543216054321601````Ah0fAb2102102102102101010212102102121022102221110002210210Cn21021323`3213213332132213213021021321321321`Dd000`000000`0000```Eb```0`Dj0DlEjEd3442103433333``2210344210343210343433344433210340342103400321034330033312``2`33210342103421034```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````","f":"````````````````{{{d{b}}f}{{l{{h{f}}{h{j}}}}}}{d{{d{c}}}{}}000000{{{d{n}}}{{d{nc}}}{}}000000{{{d{A`}}f}Ab}`{{{d{Ad}}}Ad}{{{d{j}}}j}{{d{d{nc}}}Af{}}0{dAf}0```{{{d{A`}}Ah}Aj}{{{d{Al}}Ah}{{An{Aj}}}}{{}Al}{{}B`}{Bb{{d{c}}}{}}000000{Bb{{d{nc}}}{}}000000{BbAf}000000{{}Bd}`{{{d{j}}{d{j}}}Bf}{{d{d{c}}}Bf{}}00{{{d{Al}}f}{{An{Bh}}}}{{{d{Al}}f}{{An{{Bj{A`}}}}}}{{{d{Al}}f}{{An{Bb}}}}{{{d{Ad}}{d{nBl}}}Bn}{{{d{j}}{d{nBl}}}Bn}{cc{}}000000{{}Bb}000000`{{}c{}}000000{{}Bf}`{{{d{Al}}Ah}{{An{Aj}}}}```{{{d{Al}}{d{C`}}}{{Cb{{Bj{A`}}}}}}{{{d{A`}}f}{{l{BbAb}}}}{{{d{A`}}f}{{An{Bb}}}}``{{AdAjf}A`}{{{d{Al}}{d{b}}Ad}{{Bj{A`}}}}{{{d{nAj}}}Af}0`0```{{{d{Al}}Ah}{{An{Bd}}}}{{{d{Al}}Ah}Aj}``{dc{}}0{dAj}{{{d{nB`}}Cd}{{An{f}}}}{c{{Cf{e}}}{}{}}000000{{}{{Cf{c}}}{}}000000{dCh}000000`````{{{d{Ah}}{d{Ah}}}Ah}{{AhAh}Ah}{{ff}f}{{AbAb}Ab}{d{{d{c}}}{}}00{{{d{n}}}{{d{nc}}}{}}00{{{d{Ah}}}Ah}{{{d{f}}}f}{{{d{Ab}}}Ab}{{d{d{nc}}}Af{}}00{dAf}00{{{d{f}}{d{f}}}Cj}{{{d{Ab}}{d{Ab}}}Cj}{{d{d{c}}}Cj{}}0{{}Ah}{{}f}{Bb{{d{c}}}{}}00{Bb{{d{nc}}}{}}00{c{{Cf{Ah}}}Cl}{c{{Cf{f}}}Cl}{BbAf}006{{{d{Ah}}{d{Ah}}}Bf}{{{d{f}}{d{f}}}Bf}{{{d{Ab}}{d{Ab}}}Bf}{{d{d{c}}}Bf{}}00000000{{{d{Ah}}{d{nBl}}}Bn}0{{{d{f}}{d{nBl}}}Bn}{{{d{Ab}}{d{nBl}}}Bn}{cc{}}00{CdCn}{Cdf}{CdAb}{BbCn}{Bbf}{BbAb}{{{d{Ah}}{d{nc}}}AfD`}{{{d{f}}{d{nc}}}AfD`}``{{}Bb}00{{}c{}}00{{{d{Ah}}}Bf}`{{ff}Ah}{{{d{f}}{d{f}}}{{An{Cj}}}}{{{d{Ab}}{d{Ab}}}{{An{Cj}}}}{{{d{Ah}}c}CfDb}{{{d{f}}c}CfDb}{{ff}f}{{AbAb}Ab}{dc{}}00{dAj}{{{d{Cn}}}Cd}{{{d{f}}}Cd}{{{d{Ab}}}Cd}{{{d{Cn}}}Bb}{{{d{f}}}Bb}{{{d{Ab}}}Bb}{c{{Cf{e}}}{}{}}00{{}{{Cf{c}}}{}}00{dCh}00`{d{{d{c}}}{}}{{{d{n}}}{{d{nc}}}{}}{Bb{{d{c}}}{}}{Bb{{d{nc}}}{}}{c{{Cf{Ah}}}Cl}{BbAf}{{{d{Dd}}{d{nBl}}}Bn}{{d{d{nBl}}}{{Cf{AfDf}}}}{cc{}}{{}Bb}{{}c{}}{{{d{Ah}}c}CfDb}>=<{{Ddc}{{Cf{e}}}Dh{}}`````````{{Dj{d{Dl}}e}c{}{{E`{{d{b}}}{{Dn{c}}}}}}{DjCd}>>>>>{{{d{Eb}}}{{d{b}}}}>>>>>{{{d{Dj}}}Dj}{{d{d{nc}}}Af{}}{dAf}{{{d{Dj}}{d{Dj}}}Cj}{{d{d{c}}}Cj{}}`{ec{}{{E`{{d{Dl}}}{{Dn{c}}}}}}{{}Dl}{Bb{{d{c}}}{}}000{{{d{Eb}}}{{d{c}}}{}}1{Bb{{d{nc}}}{}}0000{c{{Cf{Dj}}}Cl}{BbAf}0000{{{d{Dj}}{d{Dj}}}Bf}{{{d{Eb}}{d{Eb}}}Bf}{{d{d{c}}}Bf{}}00000{{{d{Dj}}{d{nBl}}}Bn}0{cc{}}0000{{{d{Ed}}Dje}c{}{{E`{{d{b}}}{{Dn{c}}}}}}{{{d{Dj}}{d{nc}}}AfD`}{{{d{Eb}}{d{nc}}}AfD`}{{}Bb}0000`{{{d{Ed}}{d{b}}}Dj}{{{d{b}}}Dj}{{}c{}}0000{CdDj}{{{d{Dj}}{d{Dj}}}{{An{Cj}}}}{{{d{{Ef{{d{b}}}}}}}Ed}{{}Ed}{{{d{Eh}}c}CfDb}{c{{Cf{Eh}}}Cl}{{{d{Dj}}c}CfDb}``````{dc{}}{dAj}{c{{Cf{e}}}{}{}}0000{{}{{Cf{c}}}{}}0000{dCh}0000{ec{}{{E`{{d{Dl}}}{{Dn{c}}}}}}``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````","D":"Nj","p":[[1,"str"],[1,"reference"],[5,"BytePos",150],[5,"Vec",542],[5,"MultiByteChar",7],[1,"tuple"],[0,"mut"],[5,"SourceFile",7],[5,"CharPos",150],[6,"FileName",7],[1,"unit"],[5,"Span",150],[5,"String",543],[5,"SourceMap",7],[6,"Option",544],[5,"SourceMapInner",7],[1,"usize"],[5,"SpanLocation",7],[1,"bool"],[5,"LineCol",7],[5,"Rc",545],[5,"Formatter",546],[8,"Result",546],[5,"Path",547],[8,"Result",548],[1,"u32"],[6,"Result",549],[5,"TypeId",550],[6,"Ordering",551],[10,"Deserializer",552],[10,"Pos",150],[10,"Hasher",553],[10,"Serializer",554],[5,"SpanMapVisitor",254],[5,"Error",546],[10,"MapAccess",552],[5,"Symbol",271],[5,"SessionGlobals",271],[17,"Output"],[10,"FnOnce",555],[6,"InternedStr",271],[5,"Interner",271],[1,"slice"],[8,"NonZeroU32",556],[5,"InnerInterner",271]],"r":[[0,150],[1,271],[5,271]],"b":[[154,"impl-Add-for-%26Span"],[155,"impl-Add-for-Span"],[203,"impl-Debug-for-Span"],[204,"impl-Display-for-Span"],[326,"impl-Display-for-Symbol"],[327,"impl-Debug-for-Symbol"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAKkBHwAAAAIABgABABIADQAiAAUAKQABAC0AFgBGAAMATQABAFYABgBoAAEAdgAAAH0AAgCBABQAnQAhAMAADwDTAAcA3QACAOYAGAAAAQMABQECAAkBAAAMAQMAFAEBABsBDwAtARsATwEHAF8BAABiAQIAaAEAAGsBEAB9AaEA"}],["leo_test_framework",{"t":"CCCCCPPPPPGFPPNNNNNNNNNNHONNNNNNNNONHNNNNNNOOOOOOOOOOOOOOOOHHHFNNNNNNNNNONNNOONNNNNPPKSGKFFPNNNNNNNNNOONNNNNNNNNNNNNOONNNNHNNNNNNHNNONMOONMMHHHONNNNNNNNNNPPPFGNNNNNNNNNNNNNNNNNNNNNNOOHNNNNNNNNONNNNNNNNNN","n":["error","fetch","output","runner","test","FailedAndShouldntHave","MismatchedTestExpectationLength","MissingTestConfig","Panicked","PassedAndShouldntHave","TestError","TestFailure","UnexpectedError","UnexpectedOutput","borrow","","borrow_mut","","deref","","deref_mut","","drop","","emit_errors","errors","fmt","","from","","init","","into","","path","to_string","toml_to_string","try_from","","try_into","","type_id","","error","","expected","","index","","","","","output","","test","","","","","find_tests","split_tests_one_line","split_tests_two_line","TestExpectation","borrow","borrow_mut","clone","clone_into","clone_to_uninit","deref","deref_mut","deserialize","drop","expectation","from","init","into","namespace","outputs","serialize","to_owned","try_from","try_into","type_id","ContinuousLines","Line","Namespace","PROGRAM_DELIMITER","ParseType","Runner","Test","TestCases","Whole","borrow","","","borrow_mut","","","clone","clone_into","clone_to_uninit","config","content","deref","","","deref_mut","","","drop","","","eq","equivalent","","","expectation_category","fail_categories","fmt","from","","","get_benches","init","","","into","","","is_env_var_set","load_expectations","load_tests","name","new","parse_type","path","path_prefix","process_tests","resolve_namespace","run_test","run_tests","set_hook","take_hook","tests","to_owned","try_from","","","try_into","","","type_id","","","Fail","Pass","Skip","TestConfig","TestExpectationMode","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","deref","","deref_mut","","deserialize","","drop","","eq","equivalent","","","expectation","extra","extract_test_config","fmt","","from","","init","","into","","namespace","serialize","","to_owned","","try_from","","try_into","","type_id",""],"q":[[0,"leo_test_framework"],[5,"leo_test_framework::error"],[43,"leo_test_framework::error::TestError"],[59,"leo_test_framework::fetch"],[62,"leo_test_framework::output"],[83,"leo_test_framework::runner"],[154,"leo_test_framework::test"],[203,"toml::value"],[204,"alloc::string"],[205,"core::result"],[206,"core::option"],[207,"core::fmt"],[208,"core::any"],[209,"std::path"],[210,"core::iter::traits::iterator"],[211,"alloc::vec"],[212,"serde::de"],[213,"serde::ser"],[214,"core::ops::function"],[215,"alloc::boxed"],[216,"std::sync::mutex"],[217,"alloc::sync"]],"i":"`````Af0000``00Dl101010101`01101010101`010101DnE`EbEd31Ef312142031````Bj0000000000000000000C`0``````0DdCd2102222111021021022222002102`102102`0010Cl211D`1```24324324324Ab00``0Cf1010101010101010111100`1010101001010101010","f":"``````````````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{f{{b{c}}}{}}0{f{{b{dc}}}{}}0{fh}0{{{b{j}}{b{{A`{{A`{ln}}n}}}}{b{Ab}}{Ad{l}}f}{{Ad{Af}}}}`{{{b{Af}}{b{dAh}}}Aj}0{cc{}}0{{}f}0{{}c{}}0`{bn}{{{b{l}}}n}{c{{A`{e}}}{}{}}0{{}{{A`{c}}}{}}0{bAl}0````````````````{{{b{An}}}{{`{{Bf{}{{B`{{Bd{Bbn}}}}}}}}}}{{{b{j}}}{{Bh{{b{j}}}}}}{{{b{j}}}{{Bh{n}}}}`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Bj}}}Bj}{{b{b{dc}}}h{}}{bh}{f{{b{c}}}{}}{f{{b{dc}}}{}}{c{{A`{Bj}}}Bl}{fh}`{cc{}}{{}f}{{}c{}}``{{{b{Bj}}c}A`Bn}{bc{}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{bAl}`````````{b{{b{c}}}{}}00{{{b{d}}}{{b{dc}}}{}}00{{{b{C`}}}C`}{{b{b{dc}}}h{}}{bh}``{f{{b{c}}}{}}00{f{{b{dc}}}{}}00???{{{b{C`}}{b{C`}}}Cb}{{b{b{c}}}Cb{}}00``{{{b{C`}}{b{dAh}}}Aj}{cc{}}00{{}{{Bh{{Bd{nn}}}}}}{{}f}00{{}c{}}00{{{b{j}}}Cb}{{{b{Cd}}{b{An}}}{{Bd{Bb{Ad{Bj}}}}}}{{{b{dCd}}c}{{Bh{Cf}}}{{Cj{{b{Cf}}}{{Ch{Cb}}}}}}`{{{b{j}}c}{{Bd{Cd{Bh{Cf}}}}}{{Cj{{b{Cf}}}{{Ch{Cb}}}}}}{{{b{Cl}}}C`}``{{{b{dCd}}{Bh{Cf}}e}{{Bh{c}}}{}{{Cn{{b{dCd}}{Bd{{b{An}}{b{j}}{b{j}}Cf}}}{{Ch{c}}}}}}{{{b{D`}}{b{j}}}{{Ad{{Db{Cl}}}}}}{{{b{Cl}}Dd}{{A`{ln}}}}{{{b{c}}{b{j}}}hD`}{{}{{Dh{{Df{{Ad{n}}}}}}}}{{{A`{{A`{ln}}{Db{Dj}}}}{Dh{{Df{{Ad{n}}}}}}}{{A`{{A`{ln}}n}}}}`{bc{}}{c{{A`{e}}}{}{}}00{{}{{A`{c}}}{}}00{bAl}00`````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{Ab}}}Ab}{{{b{Cf}}}Cf}{{b{b{dc}}}h{}}0{bh}0{f{{b{c}}}{}}0{f{{b{dc}}}{}}0{c{{A`{Ab}}}Bl}{c{{A`{Cf}}}Bl}{fh}0{{{b{Ab}}{b{Ab}}}Cb}{{b{b{c}}}Cb{}}00``{{{b{j}}}{{Ad{Cf}}}}{{{b{Ab}}{b{dAh}}}Aj}{{{b{Cf}}{b{dAh}}}Aj}{cc{}}0{{}f}0{{}c{}}0`{{{b{Ab}}c}A`Bn}{{{b{Cf}}c}A`Bn}{bc{}}0{c{{A`{e}}}{}{}}0{{}{{A`{c}}}{}}0{bAl}0","D":"Bl","p":[[1,"reference"],[0,"mut"],[1,"usize"],[1,"unit"],[1,"str"],[6,"Value",203],[5,"String",204],[6,"Result",205],[6,"TestExpectationMode",154],[6,"Option",206],[6,"TestError",5],[5,"Formatter",207],[8,"Result",207],[5,"TypeId",208],[5,"Path",209],[17,"Item"],[5,"PathBuf",209],[1,"tuple"],[10,"Iterator",210],[5,"Vec",211],[5,"TestExpectation",62],[10,"Deserializer",212],[10,"Serializer",213],[6,"ParseType",83],[1,"bool"],[5,"TestCases",83],[5,"TestConfig",154],[17,"Output"],[10,"Fn",214],[10,"Namespace",83],[10,"FnMut",214],[10,"Runner",83],[5,"Box",215],[5,"Test",83],[5,"Mutex",216],[5,"Arc",217],[10,"Any",208],[5,"TestFailure",5],[15,"Panicked",43],[15,"FailedAndShouldntHave",43],[15,"UnexpectedOutput",43],[15,"UnexpectedError",43],[15,"PassedAndShouldntHave",43]],"r":[],"b":[[26,"impl-Debug-for-TestError"],[27,"impl-Display-for-TestError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAALUACwABABsAHwABACMAAQAmACMASwAAAE0AKgB8AAIAggAYAJ4AHAC9AAEAwQAKAA=="}]]')); if (typeof exports !== 'undefined') exports.searchIndex = searchIndex; else if (window.initSearch) window.initSearch(searchIndex); -//{"start":39,"fragment_lengths":[165,184,1194,80628,7457,674,31849,33551,8110,11407,37061,7610,9651,5344]} \ No newline at end of file +//{"start":39,"fragment_lengths":[165,184,1194,80696,7457,674,32647,15678,34742,8133,11512,37061,7610,9707,5344]} \ No newline at end of file diff --git a/search.desc/leo_errors/leo_errors-desc-0-.js b/search.desc/leo_errors/leo_errors-desc-0-.js index 441b39a244..4992bdcc0b 100644 --- a/search.desc/leo_errors/leo_errors-desc-0-.js +++ b/search.desc/leo_errors/leo_errors-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("leo_errors", 0, "leo-errors\nContains the common functionalities for defining errors.\nA macro that given an enum, exit code mask, error code …\nContains traits and types for channels through which …\nContains the errors and warnings for the Leo language.\nThis module contains a backtraced error and its methods.\nThis module contains a formatted error and its methods.\nThis module contains the macros for making errors easily.\nThis module contains traits for making errors easily.\nBacktraced compiler output type undefined value x –> …\nThe indent for an error message.\nThe backtrace representing where the error occurred in Leo.\nThe error exit code.\nThe error leading digits identifier.\nIs this Backtrace a warning or error?\nGets a unique error identifier.\nGets the backtraced error exit code.\nReturns the argument unchanged.\nThe error help message if it exists.\nCalls U::from(self).\nThe error message.\nCreates a backtraced error from a backtrace.\nThe characters representing the type of error.\nGets a unique warning identifier.\nFormatted compiler error type undefined value x –> …\nThe backtrace to track where the Leo error originated.\nReturns an error identifier.\nCalls the backtraces error exit code.\nReturns the argument unchanged.\nCalls U::from(self).\nCreates a backtraced error from a span and a backtrace.\nThe formatted error span information.\nReturns an warning identifier.\nMessageCode trait that all Errors should implement.\nThe LeoErrorCode which has a default code identifier of 037\nReturns the messages’s exit code mask, as to avoid …\nReturns the prefixed error identifier.\nReturns the error’s exit code for the program.\nReturns if the message is an error or warning.\nReturns the message’s code type for the program.\nReturns the prefixed warning identifier.\nA buffer of Ts.\nAn Emitter that collects into a list.\nTypes that are sinks for compiler errors.\nA buffer of LeoErrors.\nA handler deals with errors and other compiler output.\nContains the actual data for Handler. Modelled this way to …\nA trivial Emitter using the standard error.\nA buffer of LeoWarnings.\nEmit the error err.\nEmit the error err.\nEmit the error err.\nEmit the warning.\nEmit the error err.\nEmit the error err.\nThe sink through which errors will be emitted.\nThe number of errors thus far.\nNumber of errors emitted thus far.\nExtend handler with error given res = Err(error).\nExtracts all the errors collected in this emitter.\nExtracts all the errors collected in this emitter.\nEmits the error err. This will immediately abort …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nDid we have any errors thus far?\nThe inner handler. RefCell is used here to avoid &mut all …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nExtract the underlying list of Ts.\nTracks last emitted error.\nGets the last emitted error’s exit code.\nLast entry to the buffer.\nGets the last emitted error’s exit code if it exists. …\nExit code of the last emitted error.\nConstruct a Handler using the given emitter.\nReturns a new buffered emitter.\nConstruct a Handler that will append to buf.\nPush x to the buffer.\nNumber of warnings emitted thus far.\nThe number of warnings thus far.\nRuns logic provided a handler that collects all errors …\nAnyhow errors.\nRepresents an AST Error in a Leo Error.\nRepresents a CLI Error in a Leo Error.\nRepresents a Compiler Error in a Leo Error.\nContains the error value\nRepresents a Flatten Error in a Leo Error.\nPurely for just exiting with the correct status code and …\nThe LeoError type that contains all sub error types. This …\nThe LeoWarning type that contains all sub warning types. …\nRepresents a Loop Unroller Error in a Leo Error.\nContains the success value\nRepresents a Package Error in a Leo Error.\nRepresents a Parser Error in a Leo Error.\nRepresents an Parser Warning in a Leo Warning.\nA global result type for all Leo crates, that defaults the …\nRepresents a Static Analyzer Error in a Leo Error.\nRepresents a Static Analyzer Warning in a Leo Warning.\nRepresents a Type Checker Error in a Leo Error.\nRepresents a Type Checker Warning in a Leo Warning.\nRepresents a Utils Error in a Leo Error.\nContains the AST error definitions.\nContains the CLI error definitions.\nContains the Compiler error definitions.\nImplement error code for each type of Error.\nImplement warning code for each type of Warning.\nImplement exit code for each type of Error.\nContains the Flattener error definitions.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nContains the Loop Unroller error definitions.\nContains the Package error definitions.\nContains the Parser error definitions.\nContains the Static Analyzer error definitions.\nContains the Type Checker error definitions.\nContains the Utils error definitions.\nThis module contains the AST error definitions.\nAstError enum that represents all the errors for the …\nFor when the AST fails to be represented as a JSON string.\nFor when the AST fails to be represented as a JSON value.\nFor when the symbol table fails to be represented as a …\nFor when the symbol table fails to be represented as a …\nFor when the AST fails to create the AST JSON file.\nFor when the symbol table fails to create the symbol table …\nFor when the a JSON files fails to be represented as an …\nFor when the a JSON string fails to be represented as an …\nFor when the a JSON string fails to be represented as an …\nFor when the AST fails to write the AST JSON file.\nFor when the symbol table fails to write the symbol table …\nReturns the argument unchanged.\nCalls U::from(self).\nFor when a user shadows a function.\nFor when a user shadows a record.\nFor when a user shadows a struct.\nFor when a user shadows a variable.\nThis module contains the CLI error definitions.\nCliError enum that represents all the errors for the …\nFor when the CLI is given invalid user input.\nFor when the CLI experiences an IO error.\nFor when the CLI fails to run something\nFor when the CLI could not fetch the versions.\nFor when the CLI fails to enable ansi support.\nReturns the argument unchanged.\nCalls U::from(self).\nFor when the CLI has an old release version.\nFor when the CLI fails to self update.\nFor when the CLI fails to self update.\nThis module contains the Compiler error definitions.\nCompilerError enum that represents all the errors for the …\nFor when the compiler can’t read a file from the …\nReturns the argument unchanged.\nFor when a user tries to assign to a struct static member.\nCalls U::from(self).\nThis module contains the Flattener error definitions.\nCliError enum that represents all the errors for the …\nFor when a constant operation would cause an overflow.\nReturns the argument unchanged.\nCalls U::from(self).\nFor when a loop uses a negative value.\nGenerates the type name of a value.\nFor when a u128 value cannot be converted into an i128.\nFor when a constant operation would cause an overflow.\nThis module contains the Input error definitions.\nLoopUnrollerError enum that represents all the errors for …\nReturns the argument unchanged.\nCalls U::from(self).\nThis module contains the Package error definitions.\nPackageError enum that represents all the errors for the …\nFor when opening a directory failed.\nFor when creating a directory failed.\nFor when creating the inputs directory failed.\nFor when creating the source directory failed.\nFor when getting a input file entry failed.\nFor when getting the input file type failed.\nFor when getting a Leo file entry failed.\nFor when getting the source file extension failed.\nFor when the package failed to initialize.\nFor when reading the checksum file failed.\nFor when reading the struct file failed.\nFor when file could not be read.\nFor when reading the input file failed.\nFor when reading the input directory failed.\nFor when reading the snapshot file failed.\nFor when removing the checksum file failed.\nFor when removing the struct file failed.\nFor when removing a directory failed.\nFor when removing the snapshot file failed.\nReturns the argument unchanged.\nCalls U::from(self).\nFor when getting the input file has an invalid file type.\nFor when the Leo file has an invalid extension.\nFor when the package has an invalid name.\nFor when the checksum file has an IO error.\nFor when the struct file has an IO error.\nFor when the environment file has an IO error.\nFor when the gitignore file has an IO error.\nFor when the input file has an IO error.\nFor when the main file has an IO error.\nThis module contains the Parser error definitions.\nThis module contains the Parser warning definitions.\nParserError enum that represents all the errors for the …\nEnforce that cannot use import in program scope\nFor when the parser encountered a member declaration not …\nWhen the lexer could not lex some text.\nReturns the argument unchanged.\nWhen the user tries to pass an implicit value.\nFor when a user specified more than one mode on a …\nCalls U::from(self).\nFor when the parser encountered an invalid address literal.\nFor when the parser encountered an empty import list.\nParsed an unknown method call on the type of an expression.\nFor when the lexer encountered a bidi override character\nWhen a block comment is not closed before end of file.\nWhen a block comment is empty.\nWhen more input was expected but not found.\nWhen an integer is started with a leading zero.\nWhen a hex number is provided.\nWhen a string is not properly closed.\nFor when the parser encountered a mix of commas and …\nFor when the parser encountered an unexpected spread in an …\nEnforce that tuple index must not have leading 0, or …\nFor when the parser encountered an unexpected list of …\nFor when the parser encountered an unexpected End of File.\nFor when the parser encountered an unexpected identifier.\nFor when the parser encountered an unexpected statement.\nFor when the parser encountered an unexpected string.\nFor when the parser encountered an unexpected token.\nFor when the parser encountered an unexpected whitespace.\nParserWarning enum that represents all the warnings for …\nFor when a user used const on a parameter or input instead …\nFor when a keyword is deprecated but could be used as a …\nReturns the argument unchanged.\nCalls U::from(self).\nThis module contains the static analysis error definitions.\nStaticAnalyzer enum that represents all the errors for …\nReturns the argument unchanged.\nCalls U::from(self).\nParserWarning enum that represents all the warnings for …\nReturns the argument unchanged.\nCalls U::from(self).\nThis module contains the Input error definitions.\nInputError enum that represents all the errors for the …\nFor when the user tries to assign to a const input.\nFor when the user tries to assign to a const input.\nFor when a struct is created with the same name as a core …\nFor when the type checker cannot determine the type of an …\nAttempted to define more that one record variable with the …\nAttempted to define more that one struct member with the …\nFor when one of the following types was expected.\nReturns the argument unchanged.\nFor when a function doesn’t have a return statement.\nFor when the user tries calls a function with the …\nFor when the user tries initialize a struct with the …\nCalls U::from(self).\nFor when the parser encountered an invalid assignment …\nA call to an invalid associated constant is made e.g., …\nFor when an invalid field of block is called.\nFor when an invalid core constant is called.\nFor when an invalid core function is used.\nAn invalid access call is made e.g., `SHA256::hash()\nFor when an integer is not in a valid range.\nAttempted to access an invalid struct variable.\nFor when the user is missing a struct member during …\nFor when the user tries to assign to a const input.\nAttempted to access an invalid struct.\nFor when the user tries to return a unknown variable.\nParserWarning enum that represents all the warnings for …\nReturns the argument unchanged.\nCalls U::from(self).\nThis module contains the Input error definitions.\nInputError enum that represents all the errors for the …\nReturns the argument unchanged.\nCalls U::from(self).") \ No newline at end of file +searchState.loadedDescShard("leo_errors", 0, "leo-errors\nContains the common functionalities for defining errors.\nA macro that given an enum, exit code mask, error code …\nContains traits and types for channels through which …\nContains the errors and warnings for the Leo language.\nThis module contains a backtraced error and its methods.\nThis module contains a formatted error and its methods.\nThis module contains the macros for making errors easily.\nThis module contains traits for making errors easily.\nBacktraced compiler output type undefined value x –> …\nThe indent for an error message.\nThe backtrace representing where the error occurred in Leo.\nThe error exit code.\nThe error leading digits identifier.\nIs this Backtrace a warning or error?\nGets a unique error identifier.\nGets the backtraced error exit code.\nReturns the argument unchanged.\nThe error help message if it exists.\nCalls U::from(self).\nThe error message.\nCreates a backtraced error from a backtrace.\nThe characters representing the type of error.\nGets a unique warning identifier.\nFormatted compiler error type undefined value x –> …\nThe backtrace to track where the Leo error originated.\nReturns an error identifier.\nCalls the backtraces error exit code.\nReturns the argument unchanged.\nCalls U::from(self).\nCreates a backtraced error from a span and a backtrace.\nThe formatted error span information.\nReturns an warning identifier.\nMessageCode trait that all Errors should implement.\nThe LeoErrorCode which has a default code identifier of 037\nReturns the messages’s exit code mask, as to avoid …\nReturns the prefixed error identifier.\nReturns the error’s exit code for the program.\nReturns if the message is an error or warning.\nReturns the message’s code type for the program.\nReturns the prefixed warning identifier.\nA buffer of Ts.\nAn Emitter that collects into a list.\nTypes that are sinks for compiler errors.\nA buffer of LeoErrors.\nA handler deals with errors and other compiler output.\nContains the actual data for Handler. Modelled this way to …\nA trivial Emitter using the standard error.\nA buffer of LeoWarnings.\nEmit the error err.\nEmit the error err.\nEmit the error err.\nEmit the warning.\nEmit the error err.\nEmit the error err.\nThe sink through which errors will be emitted.\nThe number of errors thus far.\nNumber of errors emitted thus far.\nExtend handler with error given res = Err(error).\nExtracts all the errors collected in this emitter.\nExtracts all the errors collected in this emitter.\nEmits the error err. This will immediately abort …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nDid we have any errors thus far?\nThe inner handler. RefCell is used here to avoid &mut all …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nExtract the underlying list of Ts.\nTracks last emitted error.\nGets the last emitted error’s exit code.\nLast entry to the buffer.\nGets the last emitted error’s exit code if it exists. …\nExit code of the last emitted error.\nConstruct a Handler using the given emitter.\nReturns a new buffered emitter.\nConstruct a Handler that will append to buf.\nPush x to the buffer.\nNumber of warnings emitted thus far.\nThe number of warnings thus far.\nRuns logic provided a handler that collects all errors …\nAnyhow errors.\nRepresents an AST Error in a Leo Error.\nRepresents a CLI Error in a Leo Error.\nRepresents a Compiler Error in a Leo Error.\nContains the error value\nRepresents a Flatten Error in a Leo Error.\nPurely for just exiting with the correct status code and …\nThe LeoError type that contains all sub error types. This …\nThe LeoWarning type that contains all sub warning types. …\nRepresents a Loop Unroller Error in a Leo Error.\nContains the success value\nRepresents a Package Error in a Leo Error.\nRepresents a Parser Error in a Leo Error.\nRepresents an Parser Warning in a Leo Warning.\nA global result type for all Leo crates, that defaults the …\nRepresents a Static Analyzer Error in a Leo Error.\nRepresents a Static Analyzer Warning in a Leo Warning.\nRepresents a Type Checker Error in a Leo Error.\nRepresents a Type Checker Warning in a Leo Warning.\nRepresents a Utils Error in a Leo Error.\nContains the AST error definitions.\nContains the CLI error definitions.\nContains the Compiler error definitions.\nImplement error code for each type of Error.\nImplement warning code for each type of Warning.\nImplement exit code for each type of Error.\nContains the Flattener error definitions.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nContains the Loop Unroller error definitions.\nContains the Package error definitions.\nContains the Parser error definitions.\nContains the Static Analyzer error definitions.\nContains the Type Checker error definitions.\nContains the Utils error definitions.\nThis module contains the AST error definitions.\nAstError enum that represents all the errors for the …\nFor when the AST fails to be represented as a JSON string.\nFor when the AST fails to be represented as a JSON value.\nFor when the symbol table fails to be represented as a …\nFor when the symbol table fails to be represented as a …\nFor when the AST fails to create the AST JSON file.\nFor when the symbol table fails to create the symbol table …\nFor when the a JSON files fails to be represented as an …\nFor when the a JSON string fails to be represented as an …\nFor when the a JSON string fails to be represented as an …\nFor when the AST fails to write the AST JSON file.\nFor when the symbol table fails to write the symbol table …\nReturns the argument unchanged.\nCalls U::from(self).\nFor when a user shadows a function.\nFor when a user shadows a record.\nFor when a user shadows a struct.\nFor when a user shadows a variable.\nThis module contains the CLI error definitions.\nCliError enum that represents all the errors for the …\nFor when the CLI is given invalid user input.\nFor when the CLI experiences an IO error.\nFor when the CLI fails to run something\nFor when the CLI could not fetch the versions.\nFor when the CLI fails to enable ansi support.\nReturns the argument unchanged.\nCalls U::from(self).\nFor when the CLI has an old release version.\nFor when the CLI fails to self update.\nFor when the CLI fails to self update.\nThis module contains the Compiler error definitions.\nCompilerError enum that represents all the errors for the …\nFor when the compiler can’t read a file from the …\nReturns the argument unchanged.\nFor when a user tries to assign to a struct static member.\nCalls U::from(self).\nThis module contains the Flattener error definitions.\nCliError enum that represents all the errors for the …\nFor when a constant operation would cause an overflow.\nReturns the argument unchanged.\nCalls U::from(self).\nFor when a loop uses a negative value.\nGenerates the type name of a value.\nFor when a u128 value cannot be converted into an i128.\nFor when a constant operation would cause an overflow.\nRepresents the interpreter halting, which should not be …\nReturns the argument unchanged.\nCalls U::from(self).\nUser visible message.\nOptional Span where the halt occurred.\nThis module contains the Input error definitions.\nLoopUnrollerError enum that represents all the errors for …\nReturns the argument unchanged.\nCalls U::from(self).\nThis module contains the Package error definitions.\nPackageError enum that represents all the errors for the …\nFor when opening a directory failed.\nFor when creating a directory failed.\nFor when creating the inputs directory failed.\nFor when creating the source directory failed.\nFor when getting a input file entry failed.\nFor when getting the input file type failed.\nFor when getting a Leo file entry failed.\nFor when getting the source file extension failed.\nFor when the package failed to initialize.\nFor when reading the checksum file failed.\nFor when reading the struct file failed.\nFor when file could not be read.\nFor when reading the input file failed.\nFor when reading the input directory failed.\nFor when reading the snapshot file failed.\nFor when removing the checksum file failed.\nFor when removing the struct file failed.\nFor when removing a directory failed.\nFor when removing the snapshot file failed.\nReturns the argument unchanged.\nCalls U::from(self).\nFor when getting the input file has an invalid file type.\nFor when the Leo file has an invalid extension.\nFor when the package has an invalid name.\nFor when the checksum file has an IO error.\nFor when the struct file has an IO error.\nFor when the environment file has an IO error.\nFor when the gitignore file has an IO error.\nFor when the input file has an IO error.\nFor when the main file has an IO error.\nThis module contains the Parser error definitions.\nThis module contains the Parser warning definitions.\nParserError enum that represents all the errors for the …\nEnforce that cannot use import in program scope\nFor when the parser encountered a member declaration not …\nWhen the lexer could not lex some text.\nReturns the argument unchanged.\nWhen the user tries to pass an implicit value.\nFor when a user specified more than one mode on a …\nCalls U::from(self).\nFor when the parser encountered an invalid address literal.\nFor when the parser encountered an empty import list.\nParsed an unknown method call on the type of an expression.\nFor when the lexer encountered a bidi override character\nWhen a block comment is not closed before end of file.\nWhen a block comment is empty.\nWhen more input was expected but not found.\nWhen an integer is started with a leading zero.\nWhen a hex number is provided.\nWhen a string is not properly closed.\nFor when the parser encountered a mix of commas and …\nFor when the parser encountered an unexpected spread in an …\nEnforce that tuple index must not have leading 0, or …\nFor when the parser encountered an unexpected list of …\nFor when the parser encountered an unexpected End of File.\nFor when the parser encountered an unexpected identifier.\nFor when the parser encountered an unexpected statement.\nFor when the parser encountered an unexpected string.\nFor when the parser encountered an unexpected token.\nFor when the parser encountered an unexpected whitespace.\nParserWarning enum that represents all the warnings for …\nFor when a user used const on a parameter or input instead …\nFor when a keyword is deprecated but could be used as a …\nReturns the argument unchanged.\nCalls U::from(self).\nThis module contains the static analysis error definitions.\nStaticAnalyzer enum that represents all the errors for …\nReturns the argument unchanged.\nCalls U::from(self).\nParserWarning enum that represents all the warnings for …\nReturns the argument unchanged.\nCalls U::from(self).\nThis module contains the Input error definitions.\nInputError enum that represents all the errors for the …\nFor when the user tries to assign to a const input.\nFor when the user tries to assign to a const input.\nFor when a struct is created with the same name as a core …\nFor when the type checker cannot determine the type of an …\nAttempted to define more that one record variable with the …\nAttempted to define more that one struct member with the …\nFor when one of the following types was expected.\nReturns the argument unchanged.\nFor when a function doesn’t have a return statement.\nFor when the user tries calls a function with the …\nFor when the user tries initialize a struct with the …\nCalls U::from(self).\nFor when the parser encountered an invalid assignment …\nA call to an invalid associated constant is made e.g., …\nFor when an invalid field of block is called.\nFor when an invalid core constant is called.\nFor when an invalid core function is used.\nAn invalid access call is made e.g., `SHA256::hash()\nFor when an integer is not in a valid range.\nAttempted to access an invalid struct variable.\nFor when the user is missing a struct member during …\nFor when the user tries to assign to a const input.\nAttempted to access an invalid struct.\nFor when the user tries to return a unknown variable.\nParserWarning enum that represents all the warnings for …\nReturns the argument unchanged.\nCalls U::from(self).\nThis module contains the Input error definitions.\nInputError enum that represents all the errors for the …\nReturns the argument unchanged.\nCalls U::from(self).") \ No newline at end of file diff --git a/search.desc/leo_interpreter/leo_interpreter-desc-0-.js b/search.desc/leo_interpreter/leo_interpreter-desc-0-.js new file mode 100644 index 0000000000..2bae2c9b74 --- /dev/null +++ b/search.desc/leo_interpreter/leo_interpreter-desc-0-.js @@ -0,0 +1 @@ +searchState.loadedDescShard("leo_interpreter", 0, "Load all the Leo source files indicated and open the …\nA Leo block.\nA stack of contexts, building with the function call stack.\nTracks the current execution state - a cursor into the …\nA Leo construct to be evauated.\nA Leo expression.\nA frame of execution, keeping track of the Element next to …\nNames associated to values in a function being executed.\nGlobal values - such as mappings, functions, etc - are …\nA Leo statement.\nEvaluate a binary operation.\nEvaluate a unary operation.\nHas this element completely finished running?\nStack of execution frames, with the one currently to be …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nAll functions (or transitions or inlines) in any program …\nGet the future accumulated by awaiting futures in the …\nConsts are stored here.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nAre we currently in an async function?\nreally_async indicates we should really delay execution of …\nStep over the current Element.\nExecute one step of the current element.\nFor each struct type, we only need to remember the names …\nIf the element was an expression, here’s its value.\nStack of values from evaluated expressions.\nExecute the whole step of the current Element.\nReturns the argument unchanged.\nCalls U::from(self).\nContains the state of interpretation, in the form of the …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns false if there was no saved cursor to restore.\nReturns true if any watchpoints changed.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns the argument unchanged.\nCalls U::from(self).\nA Leo value of any type.\nConvert to the given type if possible under Aleo casting …\nAre the values equal, according to SnarkVM?\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the group generator.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nDoesn’t correspond to Aleo’s shl, because it does not …") \ No newline at end of file diff --git a/search.desc/leo_lang/leo_lang-desc-0-.js b/search.desc/leo_lang/leo_lang-desc-0-.js index 60ed90e4ec..290b0fb162 100644 --- a/search.desc/leo_lang/leo_lang-desc-0-.js +++ b/search.desc/leo_lang/leo_lang-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("leo_lang", 0, "Table of Contents\nCommands to manage Aleo accounts.\nCompiler Options wrapper for Build command. Also used by …\nCLI Arguments entry point - includes global parameters and …\nBase trait for the Leo CLI, see methods and their …\nDeploys an Aleo program.\nOn Chain Execution Options to set preferences for keys, …\nDerive an Aleo account from a private key.\nIf the current command requires running another command …\nAdd a new on-chain or local dependency to the current …\nCompile and build program command.\nClean outputs folder command\nInitialize a new Leo example.\nBuild, Prove and Run Leo program with inputs\nCreate new Leo project\nQuery live data from the Aleo network.\nRemove a dependency from the current package.\nBuild, Prove and Run Leo program with inputs\nUpdate Leo to the latest version\nGenerates a new Aleo account\nDefines the output of this command, which may be used as …\nSign a message using your Aleo private key.\nVerify a message from an Aleo address.\nRuns the main operation of this command. This function is …\nLists all available versions of Leo\nParses the record string. If the string is a ciphertext, …\nRuns the prelude and returns the Input of the current …\nSuppress outputs to terminal\nRun command with custom build arguments.\nAddress to use for verification\nPrint sensitive information (such as private key) …\nPrint sensitive information (such as private key) …\nMessage (Aleo value) to sign\nMessage (Aleo value) to verify the signature against\nPrivate key plaintext\nSpecify the account private key of the node\nSpecify the path to a file containing the account private …\nWhen enabled, parses the message as bytes instead of Aleo …\nWhen enabled, parses the message as bytes instead of Aleo …\nSeed the RNG with a numeric value.\nSignature to verify\nWrite the private key to the .env file.\nWrite the private key to the .env file.\nCommands to manage Aleo accounts.\nDerive an Aleo account from a private key.\nGenerates a new Aleo account\nSign a message using your Aleo private key.\nVerify a message from an Aleo address.\nAddress to use for verification\nPrint sensitive information (such as private key) …\nPrint sensitive information (such as private key) …\nMessage (Aleo value) to sign\nMessage (Aleo value) to verify the signature against\nPrivate key plaintext\nSpecify the account private key of the node\nSpecify the path to a file containing the account private …\nWhen enabled, parses the message as bytes instead of Aleo …\nWhen enabled, parses the message as bytes instead of Aleo …\nSeed the RNG with a numeric value.\nSignature to verify\nWrite the private key to the .env file.\nWrite the private key to the .env file.\nAdd a new on-chain or local dependency to the current …\nCompile and build program command.\nClean outputs folder command\nCLI Arguments entry point - includes global parameters and …\nLeo compiler and package manager\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nRun command with custom build arguments.\nCompiler Options wrapper for Build command. Also used by …\nBase trait for the Leo CLI, see methods and their …\nOn Chain Execution Options to set preferences for keys, …\nIf the current command requires running another command …\nDefines the output of this command, which may be used as …\nRuns the main operation of this command. This function is …\nA wrapper around the apply method. This function sets up …\nA wrapper around the apply method. This function sets up …\nReturns the argument unchanged.\nReturns the argument unchanged.\nDetermine if the transaction should be broadcast or …\nCalls U::from(self).\nCalls U::from(self).\nAdds a span to the logger via tracing::span. Because of …\nAdds a span to the logger via tracing::span. Because of …\nParses the record string. If the string is a ciphertext, …\nRuns the prelude and returns the Input of the current …\nExecutes command but empty the result. Comes in handy …\nExecutes command but empty the result. Comes in handy …\nCommands to manage Aleo accounts.\nDerive an Aleo account from a private key.\nGenerates a new Aleo account\nSign a message using your Aleo private key.\nVerify a message from an Aleo address.\nPrint the string to an alternate screen, so that the …\nReturns the argument unchanged.\nCalls U::from(self).\nAddress to use for verification\nPrint sensitive information (such as private key) …\nPrint sensitive information (such as private key) …\nMessage (Aleo value) to sign\nMessage (Aleo value) to verify the signature against\nPrivate key plaintext\nSpecify the account private key of the node\nSpecify the path to a file containing the account private …\nWhen enabled, parses the message as bytes instead of Aleo …\nWhen enabled, parses the message as bytes instead of Aleo …\nSeed the RNG with a numeric value.\nSignature to verify\nWrite the private key to the .env file.\nWrite the private key to the .env file.\nAdd a new on-chain or local dependency to the current …\nReturns the argument unchanged.\nCalls U::from(self).\nCompile and build program command.\nCompiles a Leo file in the src/ directory.\nReturns the argument unchanged.\nCalls U::from(self).\nClean outputs folder command\nReturns the argument unchanged.\nCalls U::from(self).\nDeploys an Aleo program.\nReturns the argument unchanged.\nCalls U::from(self).\nThe example programs that can be generated.\nInitialize a new Leo example.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nBuild, Prove and Run Leo program with inputs\nReturns the argument unchanged.\nCalls U::from(self).\nA helper function to recursively load the program and all …\nCreate new Leo project\nReturns the argument unchanged.\nCalls U::from(self).\nQuery live data from the Aleo network.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nReturns the argument unchanged.\nCalls U::from(self).\nQuery the committee.\nReturns the argument unchanged.\nCalls U::from(self).\nReturns the argument unchanged.\nCalls U::from(self).\nReturns the argument unchanged.\nCalls U::from(self).\nQuery program source code and live mapping values.\nReturns the argument unchanged.\nCalls U::from(self).\nQuery the latest stateroot.\nReturns the argument unchanged.\nCalls U::from(self).\nQuery transaction information.\nReturns the argument unchanged.\nCalls U::from(self).\nRemove a dependency from the current package.\nReturns the argument unchanged.\nCalls U::from(self).\nBuild, Prove and Run Leo program with inputs\nReturns the argument unchanged.\nCalls U::from(self).\nUpdate Leo to the latest version\nReturns the argument unchanged.\nCalls U::from(self).\nLists all available versions of Leo\nSuppress outputs to terminal\nProject context, manifest, current directory etc All the …\nPath to use for the Aleo registry, None when default\nPath at which the command is called, None when default\nRecursive flag.\nDeploys an Aleo program.\nThe example programs that can be generated.\nInitialize a new Leo example.\nBuild, Prove and Run Leo program with inputs\nProject context, manifest, current directory etc All the …\nReturns the path to the Leo package.\nReturns the endpoint from the .env file specified in the …\nReturns the network from the .env file specified in the …\nReturns the private key from the .env file specified in …\nReturns the argument unchanged.\nReturns the endpoint to interact with the network. If the …\nReturns the network name. If the --network options is not …\nReturns the private key. If the --private-key options is …\nReturns the path to the Aleo registry directory.\nPath to use for the Aleo registry, None when default\nCalls U::from(self).\nReturns a post ordering of the local dependencies. Found …\nReturns the package name as a String. Opens the manifest …\nReturns the path of the parent directory to the Leo …\nPath at which the command is called, None when default\nRecursive flag.\nReturns the argument unchanged.\nInitialize logger with custom format and verbosity.\nCalls U::from(self).\nEnable ANSI terminal colors for formatted output.\nSets whether or not an event’s level is displayed.\nSets whether or not an event’s target is displayed.\nSets whether or not the thread ID of the current thread is …\nSets whether or not the name of the current thread is …\nUse the given timer for log message timestamps.\nDo not emit timestamps with log messages.\nCheck for updates, respecting the update interval. …\nReturns the argument unchanged.\nGet the cache directory for Leo.\nGenerate the CLI message if a new version is available.\nGets the current system time as seconds since the Unix …\nGet the path to the file storing the latest version …\nCalls U::from(self).\nDisplay the CLI message if a new version is available.\nRead the latest version from the version file.\nDetermines if an update check should be performed based on …\nShow all available releases for leo.\nCheck if there is an available update for leo and return …\nUpdates the check files with the latest version …\nUpdate leo to the latest release.\nInitialize logger with custom format and verbosity.\nCreate new Leo project\nQuery program source code and live mapping values.\nQuery live data from the Aleo network.\nQuery program source code and live mapping values.\nRemove a dependency from the current package.\nBuild, Prove and Run Leo program with inputs\nUpdate Leo to the latest version\nLists all available versions of Leo\nSuppress outputs to terminal") \ No newline at end of file +searchState.loadedDescShard("leo_lang", 0, "Table of Contents\nCommands to manage Aleo accounts.\nCompiler Options wrapper for Build command. Also used by …\nCLI Arguments entry point - includes global parameters and …\nBase trait for the Leo CLI, see methods and their …\nDeploys an Aleo program.\nOn Chain Execution Options to set preferences for keys, …\nDerive an Aleo account from a private key.\nIf the current command requires running another command …\nAdd a new on-chain or local dependency to the current …\nCompile and build program command.\nClean outputs folder command\nDebugs an Aleo program through the interpreter.\nInitialize a new Leo example.\nBuild, Prove and Run Leo program with inputs\nCreate new Leo project\nQuery live data from the Aleo network.\nRemove a dependency from the current package.\nBuild, Prove and Run Leo program with inputs\nUpdate Leo to the latest version\nGenerates a new Aleo account\nDefines the output of this command, which may be used as …\nSign a message using your Aleo private key.\nVerify a message from an Aleo address.\nRuns the main operation of this command. This function is …\nLists all available versions of Leo\nParses the record string. If the string is a ciphertext, …\nRuns the prelude and returns the Input of the current …\nSuppress outputs to terminal\nRun command with custom build arguments.\nAddress to use for verification\nPrint sensitive information (such as private key) …\nPrint sensitive information (such as private key) …\nMessage (Aleo value) to sign\nMessage (Aleo value) to verify the signature against\nPrivate key plaintext\nSpecify the account private key of the node\nSpecify the path to a file containing the account private …\nWhen enabled, parses the message as bytes instead of Aleo …\nWhen enabled, parses the message as bytes instead of Aleo …\nSeed the RNG with a numeric value.\nSignature to verify\nWrite the private key to the .env file.\nWrite the private key to the .env file.\nCommands to manage Aleo accounts.\nDerive an Aleo account from a private key.\nGenerates a new Aleo account\nSign a message using your Aleo private key.\nVerify a message from an Aleo address.\nAddress to use for verification\nPrint sensitive information (such as private key) …\nPrint sensitive information (such as private key) …\nMessage (Aleo value) to sign\nMessage (Aleo value) to verify the signature against\nPrivate key plaintext\nSpecify the account private key of the node\nSpecify the path to a file containing the account private …\nWhen enabled, parses the message as bytes instead of Aleo …\nWhen enabled, parses the message as bytes instead of Aleo …\nSeed the RNG with a numeric value.\nSignature to verify\nWrite the private key to the .env file.\nWrite the private key to the .env file.\nAdd a new on-chain or local dependency to the current …\nCompile and build program command.\nClean outputs folder command\nCLI Arguments entry point - includes global parameters and …\nLeo compiler and package manager\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nRun command with custom build arguments.\nCompiler Options wrapper for Build command. Also used by …\nBase trait for the Leo CLI, see methods and their …\nOn Chain Execution Options to set preferences for keys, …\nIf the current command requires running another command …\nDefines the output of this command, which may be used as …\nRuns the main operation of this command. This function is …\nA wrapper around the apply method. This function sets up …\nA wrapper around the apply method. This function sets up …\nReturns the argument unchanged.\nReturns the argument unchanged.\nDetermine if the transaction should be broadcast or …\nCalls U::from(self).\nCalls U::from(self).\nAdds a span to the logger via tracing::span. Because of …\nAdds a span to the logger via tracing::span. Because of …\nParses the record string. If the string is a ciphertext, …\nRuns the prelude and returns the Input of the current …\nExecutes command but empty the result. Comes in handy …\nExecutes command but empty the result. Comes in handy …\nCommands to manage Aleo accounts.\nDerive an Aleo account from a private key.\nGenerates a new Aleo account\nSign a message using your Aleo private key.\nVerify a message from an Aleo address.\nPrint the string to an alternate screen, so that the …\nReturns the argument unchanged.\nCalls U::from(self).\nAddress to use for verification\nPrint sensitive information (such as private key) …\nPrint sensitive information (such as private key) …\nMessage (Aleo value) to sign\nMessage (Aleo value) to verify the signature against\nPrivate key plaintext\nSpecify the account private key of the node\nSpecify the path to a file containing the account private …\nWhen enabled, parses the message as bytes instead of Aleo …\nWhen enabled, parses the message as bytes instead of Aleo …\nSeed the RNG with a numeric value.\nSignature to verify\nWrite the private key to the .env file.\nWrite the private key to the .env file.\nAdd a new on-chain or local dependency to the current …\nReturns the argument unchanged.\nCalls U::from(self).\nCompile and build program command.\nCompiles a Leo file in the src/ directory.\nReturns the argument unchanged.\nCalls U::from(self).\nClean outputs folder command\nReturns the argument unchanged.\nCalls U::from(self).\nDebugs an Aleo program through the interpreter.\nReturns the argument unchanged.\nCalls U::from(self).\nDeploys an Aleo program.\nReturns the argument unchanged.\nCalls U::from(self).\nThe example programs that can be generated.\nInitialize a new Leo example.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nBuild, Prove and Run Leo program with inputs\nReturns the argument unchanged.\nCalls U::from(self).\nA helper function to recursively load the program and all …\nCreate new Leo project\nReturns the argument unchanged.\nCalls U::from(self).\nQuery live data from the Aleo network.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nReturns the argument unchanged.\nCalls U::from(self).\nQuery the committee.\nReturns the argument unchanged.\nCalls U::from(self).\nReturns the argument unchanged.\nCalls U::from(self).\nReturns the argument unchanged.\nCalls U::from(self).\nQuery program source code and live mapping values.\nReturns the argument unchanged.\nCalls U::from(self).\nQuery the latest stateroot.\nReturns the argument unchanged.\nCalls U::from(self).\nQuery transaction information.\nReturns the argument unchanged.\nCalls U::from(self).\nRemove a dependency from the current package.\nReturns the argument unchanged.\nCalls U::from(self).\nBuild, Prove and Run Leo program with inputs\nReturns the argument unchanged.\nCalls U::from(self).\nUpdate Leo to the latest version\nReturns the argument unchanged.\nCalls U::from(self).\nLists all available versions of Leo\nSuppress outputs to terminal\nProject context, manifest, current directory etc All the …\nPath to use for the Aleo registry, None when default\nPath at which the command is called, None when default\nRecursive flag.\nDebugs an Aleo program through the interpreter.\nDeploys an Aleo program.\nThe example programs that can be generated.\nInitialize a new Leo example.\nBuild, Prove and Run Leo program with inputs\nProject context, manifest, current directory etc All the …\nReturns the path to the Leo package.\nReturns the endpoint from the .env file specified in the …\nReturns the network from the .env file specified in the …\nReturns the private key from the .env file specified in …\nReturns the argument unchanged.\nReturns the endpoint to interact with the network. If the …\nReturns the network name. If the --network options is not …\nReturns the private key. If the --private-key options is …\nReturns the path to the Aleo registry directory.\nPath to use for the Aleo registry, None when default\nCalls U::from(self).\nReturns a post ordering of the local dependencies. Found …\nReturns the package name as a String. Opens the manifest …\nReturns the path of the parent directory to the Leo …\nPath at which the command is called, None when default\nRecursive flag.\nReturns the argument unchanged.\nInitialize logger with custom format and verbosity.\nCalls U::from(self).\nEnable ANSI terminal colors for formatted output.\nSets whether or not an event’s level is displayed.\nSets whether or not an event’s target is displayed.\nSets whether or not the thread ID of the current thread is …\nSets whether or not the name of the current thread is …\nUse the given timer for log message timestamps.\nDo not emit timestamps with log messages.\nCheck for updates, respecting the update interval. …\nReturns the argument unchanged.\nGet the cache directory for Leo.\nGenerate the CLI message if a new version is available.\nGets the current system time as seconds since the Unix …\nGet the path to the file storing the latest version …\nCalls U::from(self).\nDisplay the CLI message if a new version is available.\nRead the latest version from the version file.\nDetermines if an update check should be performed based on …\nShow all available releases for leo.\nCheck if there is an available update for leo and return …\nUpdates the check files with the latest version …\nUpdate leo to the latest release.\nInitialize logger with custom format and verbosity.\nCreate new Leo project\nQuery program source code and live mapping values.\nQuery live data from the Aleo network.\nQuery program source code and live mapping values.\nRemove a dependency from the current package.\nBuild, Prove and Run Leo program with inputs\nUpdate Leo to the latest version\nLists all available versions of Leo\nSuppress outputs to terminal") \ No newline at end of file diff --git a/search.desc/leo_span/leo_span-desc-0-.js b/search.desc/leo_span/leo_span-desc-0-.js index 373b640148..a53ee6e1ee 100644 --- a/search.desc/leo_span/leo_span-desc-0-.js +++ b/search.desc/leo_span/leo_span-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("leo_span", 0, "The source map provides an address space for positions in …\nDefines the Span type used to track where code comes from.\nProvides custom serialize/deserialize implementations for …\nAny sort of description for a source.\nA file name.\nFile / Line / Column information on a BytePos.\nIdentifies an offset of a multi-byte character in a …\nA real file.\nA single source in the SourceMap.\nThe source map containing all recorded sources, methods to …\nActual data of the source map. We use this setup for …\nDetailed information on a Span.\nFinds all newlines, multi-byte characters, and non-narrow …\nConverts an absolute BytePos to a CharPos relative to the …\nThe number of bytes, >= 2.\nThe (0-based) column offset into the line.\nReturns contents of a span assumed to be within the given …\nReturns the source contents that is spanned by span.\nReturns a dummy location.\nThe end position of this source in the SourceMap.\nFinds line column info about a given pos.\nFind the source file containing pos.\nFind the index for the source file containing pos.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nThe actual source map data.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nIs the env var LEO_TESTFRAMEWORK not enabled?\nThe 1-based line number.\nReturns the source contents of the lines that span is …\nLocations of line beginnings in the source code.\nLoads the given path and returns a SourceFile for it.\nLooks up the file’s (1-based) line number and (0-based …\nFinds the line containing the given position. The return …\nLocations of multi-byte characters in the source code.\nThe name of the file that the source came from.\nCreates a new SourceFile given the file name, source …\nRegisters source under the given file name, returning a …\nReplaces \\r\\n with \\n in-place in src.\nNormalizes the source code and records the normalizations.\nThe absolute offset of the character in the SourceMap.\nRemoves UTF-8 BOM, if any.\nInformation on the original source.\nAll the source files recorded thus far.\nRetrieves the location (source file, lines, columns) on …\nReturns a displayable representation of the span as a …\nThe complete source code.\nThe start position of this source in the SourceMap.\nAttempt reserving address space for size number of bytes.\nThe address space below this value is currently used by …\nA byte offset.\nA character offset.\nOffsets (i.e. positions), in some units (e.g. bytes or …\nThe span type which tracks where formatted errors …\nAdd two spans together. The resulting span is the smallest …\nAdd two spans (by reference) together.\nGenerates a dummy span with all defaults. Should only be …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nThe end (high) position of the span, exclusive. The length …\nGenerate one-component tuple structs that implement the Pos…\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nIs the span a dummy?\nThe start (low) position of the span, inclusive.\nGenerate a new span from the starting and ending positions.\nThis visitor is used by the deserializer to unwrap mappings\nCustom deserialization to enable removing spans from enums.\nReturns the argument unchanged.\nCalls U::from(self).\nThe AST contains a few tuple-like enum variants that …\nThe inner interner. This construction is used to get …\nAn interned string, either prefilled “at compile time” …\nA symbol-to-string interner.\nString is constructed and stored during runtime.\nAll the globals for a compiler sessions.\nString is stored “at compile time”, i.e. prefilled.\nAn interned string.\nConvert to effectively a &'static str given the …\nConverts this symbol to the raw index.\nA helper for symbols defined below. The macro’s job is …\nCreates the session globals and then runs the closure f.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the corresponding string for the given symbol.\nInterns string, returning a Symbol corresponding to it.\nMaps a string to its interned representation.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns the corresponding Symbol for the given index.\nReturns an interner prefilled with init.\nReturns an interner prefilled with commonly used strings …\nRegistration of strings and symbol index allocation is …\nThe source map used in the compiler.\nA helper for symbols defined below. The macro’s job is …\nThe interner for Symbols used in the compiler.\nCreates predefined symbols used throughout the Leo …\nGives access to read or modify the session globals in f.") \ No newline at end of file +searchState.loadedDescShard("leo_span", 0, "The source map provides an address space for positions in …\nDefines the Span type used to track where code comes from.\nProvides custom serialize/deserialize implementations for …\nAny sort of description for a source.\nA file name.\nFile / Line / Column information on a BytePos.\nIdentifies an offset of a multi-byte character in a …\nA real file.\nA single source in the SourceMap.\nThe source map containing all recorded sources, methods to …\nActual data of the source map. We use this setup for …\nDetailed information on a Span.\nFinds all newlines, multi-byte characters, and non-narrow …\nConverts an absolute BytePos to a CharPos relative to the …\nThe number of bytes, >= 2.\nThe (0-based) column offset into the line.\nReturns contents of a span assumed to be within the given …\nReturns the source contents that is spanned by span.\nReturns a dummy location.\nThe end position of this source in the SourceMap.\nFinds line column info about a given pos.\nFind the source file containing pos.\nFind the index for the source file containing pos.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nThe actual source map data.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nIs the env var LEO_TESTFRAMEWORK not enabled?\nThe 1-based line number.\nReturns the source contents of the lines that span is …\nLocations of line beginnings in the source code.\nLoads the given path and returns a SourceFile for it.\nLooks up the file’s (1-based) line number and (0-based …\nFinds the line containing the given position. The return …\nLocations of multi-byte characters in the source code.\nThe name of the file that the source came from.\nCreates a new SourceFile given the file name, source …\nRegisters source under the given file name, returning a …\nReplaces \\r\\n with \\n in-place in src.\nNormalizes the source code and records the normalizations.\nThe absolute offset of the character in the SourceMap.\nRemoves UTF-8 BOM, if any.\nInformation on the original source.\nAll the source files recorded thus far.\nRetrieves the location (source file, lines, columns) on …\nReturns a displayable representation of the span as a …\nThe complete source code.\nThe start position of this source in the SourceMap.\nAttempt reserving address space for size number of bytes.\nThe address space below this value is currently used by …\nA byte offset.\nA character offset.\nOffsets (i.e. positions), in some units (e.g. bytes or …\nThe span type which tracks where formatted errors …\nAdd two spans (by reference) together.\nAdd two spans together. The resulting span is the smallest …\nGenerates a dummy span with all defaults. Should only be …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nThe end (high) position of the span, exclusive. The length …\nGenerate one-component tuple structs that implement the Pos…\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nIs the span a dummy?\nThe start (low) position of the span, inclusive.\nGenerate a new span from the starting and ending positions.\nThis visitor is used by the deserializer to unwrap mappings\nCustom deserialization to enable removing spans from enums.\nReturns the argument unchanged.\nCalls U::from(self).\nThe AST contains a few tuple-like enum variants that …\nThe inner interner. This construction is used to get …\nAn interned string, either prefilled “at compile time” …\nA symbol-to-string interner.\nString is constructed and stored during runtime.\nAll the globals for a compiler sessions.\nString is stored “at compile time”, i.e. prefilled.\nAn interned string.\nConvert to effectively a &'static str given the …\nConverts this symbol to the raw index.\nA helper for symbols defined below. The macro’s job is …\nCreates the session globals and then runs the closure f.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the corresponding string for the given symbol.\nInterns string, returning a Symbol corresponding to it.\nMaps a string to its interned representation.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns the corresponding Symbol for the given index.\nReturns an interner prefilled with init.\nReturns an interner prefilled with commonly used strings …\nRegistration of strings and symbol index allocation is …\nThe source map used in the compiler.\nA helper for symbols defined below. The macro’s job is …\nThe interner for Symbols used in the compiler.\nCreates predefined symbols used throughout the Leo …\nGives access to read or modify the session globals in f.") \ No newline at end of file diff --git a/src-files.js b/src-files.js index 5c0fa7905c..9e5137b855 100644 --- a/src-files.js +++ b/src-files.js @@ -1,3 +1,3 @@ -var srcIndex = new Map(JSON.parse('[["errcov",["",[],["errcov.rs"]]],["leo",["",[],["main.rs"]]],["leo_abnf",["",[],["main.rs"]]],["leo_ast",["",[["access",[],["array_access.rs","associated_constant_access.rs","associated_function_access.rs","member_access.rs","mod.rs","tuple_access.rs"]],["common",[],["identifier.rs","imported_modules.rs","location.rs","mod.rs","node.rs","node_builder.rs","positive_number.rs","static_string.rs"]],["expressions",[],["access.rs","array.rs","binary.rs","call.rs","cast.rs","err.rs","literal.rs","locator.rs","mod.rs","struct_init.rs","ternary.rs","tuple.rs","unary.rs","unit.rs"]],["functions",[],["annotation.rs","core_function.rs","input.rs","mod.rs","mode.rs","output.rs","variant.rs"]],["groups",[],["group_coordinate.rs","group_literal.rs","mod.rs"]],["mapping",[],["mod.rs"]],["passes",[],["consumer.rs","mod.rs","reconstructor.rs","visitor.rs"]],["program",[],["mod.rs","program_id.rs","program_scope.rs"]],["statement",[["console",[],["console_function.rs","console_statement.rs","mod.rs"]],["definition",[],["declaration_type.rs","mod.rs"]]],["assert.rs","assign.rs","block.rs","conditional.rs","const_.rs","expression.rs","iteration.rs","mod.rs","return_.rs"]],["struct",[],["member.rs","mod.rs"]],["stub",[],["function_stub.rs","mod.rs"]],["types",[],["array.rs","core_constant.rs","future.rs","integer_type.rs","mapping.rs","mod.rs","struct_type.rs","tuple.rs","type_.rs"]],["value",[],["mod.rs"]]],["lib.rs"]]],["leo_compiler",["",[],["compiler.rs","lib.rs","options.rs"]]],["leo_disassembler",["",[],["lib.rs"]]],["leo_errors",["",[["common",[],["backtraced.rs","formatted.rs","macros.rs","mod.rs","traits.rs"]],["emitter",[],["mod.rs"]],["errors",[["ast",[],["ast_errors.rs","mod.rs"]],["cli",[],["cli_errors.rs","mod.rs"]],["compiler",[],["compiler_errors.rs","mod.rs"]],["flattener",[],["flattener_errors.rs","mod.rs"]],["loop_unroller",[],["loop_unroller_errors.rs","mod.rs"]],["package",[],["mod.rs","package_errors.rs"]],["parser",[],["mod.rs","parser_errors.rs","parser_warnings.rs"]],["static_analyzer",[],["mod.rs","static_analyzer_error.rs","static_analyzer_warning.rs"]],["type_checker",[],["mod.rs","type_checker_error.rs","type_checker_warning.rs"]],["utils",[],["mod.rs","util_errors.rs"]]],["mod.rs"]]],["lib.rs"]]],["leo_lang",["",[["cli",[["commands",[["query",[],["block.rs","committee.rs","mempool.rs","mod.rs","peers.rs","program.rs","state_root.rs","transaction.rs","utils.rs"]]],["account.rs","add.rs","build.rs","clean.rs","deploy.rs","example.rs","execute.rs","mod.rs","new.rs","remove.rs","run.rs","update.rs"]],["helpers",[],["context.rs","logger.rs","mod.rs","updater.rs"]]],["cli.rs","mod.rs"]]],["lib.rs"]]],["leo_package",["",[["build",[],["directory.rs","mod.rs"]],["imports",[],["directory.rs","mod.rs"]],["inputs",[],["directory.rs","mod.rs"]],["outputs",[],["ast_snapshot.rs","checksum.rs","circuit.rs","directory.rs","mod.rs"]],["root",[],["env.rs","gitignore.rs","mod.rs"]],["source",[],["directory.rs","main.rs","mod.rs"]]],["lib.rs","package.rs"]]],["leo_parser",["",[["parser",[],["context.rs","expression.rs","file.rs","mod.rs","statement.rs","type_.rs"]],["tokenizer",[],["lexer.rs","mod.rs","token.rs"]]],["lib.rs"]]],["leo_passes",["",[["code_generation",[],["generator.rs","mod.rs","visit_expressions.rs","visit_program.rs","visit_statements.rs","visit_type.rs"]],["common",[["assigner",[],["mod.rs"]],["constant_propagation_table",[],["mod.rs"]],["graph",[],["mod.rs"]],["rename_table",[],["mod.rs"]],["replacer",[],["mod.rs"]],["symbol_table",[],["function_symbol.rs","mod.rs","variable_symbol.rs"]],["tree_node",[],["mod.rs"]],["type_table",[],["mod.rs"]]],["mod.rs"]],["dead_code_elimination",[],["dead_code_eliminator.rs","eliminate_expression.rs","eliminate_program.rs","eliminate_statement.rs","mod.rs"]],["destructuring",[],["destructure_expression.rs","destructure_program.rs","destructure_statement.rs","destructurer.rs","mod.rs"]],["flattening",[],["flatten_expression.rs","flatten_program.rs","flatten_statement.rs","flattener.rs","mod.rs"]],["function_inlining",[],["assignment_renamer.rs","function_inliner.rs","inline_expression.rs","inline_program.rs","inline_statement.rs","mod.rs"]],["loop_unrolling",[],["mod.rs","range_iterator.rs","unroll_expression.rs","unroll_program.rs","unroll_statement.rs","unroller.rs"]],["static_analysis",[],["analyze_expression.rs","analyze_program.rs","analyze_statement.rs","analyzer.rs","await_checker.rs","future_checker.rs","mod.rs"]],["static_single_assignment",[],["mod.rs","rename_expression.rs","rename_program.rs","rename_statement.rs","static_single_assigner.rs"]],["symbol_table_creation",[],["creator.rs","mod.rs"]],["type_checking",[],["check_expressions.rs","check_program.rs","check_statements.rs","checker.rs","mod.rs","scope_state.rs"]]],["lib.rs","pass.rs"]]],["leo_retriever",["",[["program_context",[],["dependency.rs","location.rs","lock_file_entry.rs","manifest.rs","mod.rs","network_name.rs"]],["retriever",[],["mod.rs"]]],["lib.rs"]]],["leo_span",["",[],["lib.rs","source_map.rs","span.rs","span_json.rs","symbol.rs"]]],["leo_test_framework",["",[],["error.rs","fetch.rs","lib.rs","output.rs","runner.rs","test.rs"]]]]')); +var srcIndex = new Map(JSON.parse('[["errcov",["",[],["errcov.rs"]]],["leo",["",[],["main.rs"]]],["leo_abnf",["",[],["main.rs"]]],["leo_ast",["",[["access",[],["array_access.rs","associated_constant_access.rs","associated_function_access.rs","member_access.rs","mod.rs","tuple_access.rs"]],["common",[],["identifier.rs","imported_modules.rs","location.rs","mod.rs","node.rs","node_builder.rs","positive_number.rs","static_string.rs"]],["expressions",[],["access.rs","array.rs","binary.rs","call.rs","cast.rs","err.rs","literal.rs","locator.rs","mod.rs","struct_init.rs","ternary.rs","tuple.rs","unary.rs","unit.rs"]],["functions",[],["annotation.rs","core_function.rs","input.rs","mod.rs","mode.rs","output.rs","variant.rs"]],["groups",[],["group_coordinate.rs","group_literal.rs","mod.rs"]],["mapping",[],["mod.rs"]],["passes",[],["consumer.rs","mod.rs","reconstructor.rs","visitor.rs"]],["program",[],["mod.rs","program_id.rs","program_scope.rs"]],["statement",[["console",[],["console_function.rs","console_statement.rs","mod.rs"]],["definition",[],["declaration_type.rs","mod.rs"]]],["assert.rs","assign.rs","block.rs","conditional.rs","const_.rs","expression.rs","iteration.rs","mod.rs","return_.rs"]],["struct",[],["member.rs","mod.rs"]],["stub",[],["function_stub.rs","mod.rs"]],["types",[],["array.rs","core_constant.rs","future.rs","integer_type.rs","mapping.rs","mod.rs","struct_type.rs","tuple.rs","type_.rs"]],["value",[],["mod.rs"]]],["lib.rs"]]],["leo_compiler",["",[],["compiler.rs","lib.rs","options.rs"]]],["leo_disassembler",["",[],["lib.rs"]]],["leo_errors",["",[["common",[],["backtraced.rs","formatted.rs","macros.rs","mod.rs","traits.rs"]],["emitter",[],["mod.rs"]],["errors",[["ast",[],["ast_errors.rs","mod.rs"]],["cli",[],["cli_errors.rs","mod.rs"]],["compiler",[],["compiler_errors.rs","mod.rs"]],["flattener",[],["flattener_errors.rs","mod.rs"]],["loop_unroller",[],["loop_unroller_errors.rs","mod.rs"]],["package",[],["mod.rs","package_errors.rs"]],["parser",[],["mod.rs","parser_errors.rs","parser_warnings.rs"]],["static_analyzer",[],["mod.rs","static_analyzer_error.rs","static_analyzer_warning.rs"]],["type_checker",[],["mod.rs","type_checker_error.rs","type_checker_warning.rs"]],["utils",[],["mod.rs","util_errors.rs"]]],["interpreter_halt.rs","mod.rs"]]],["lib.rs"]]],["leo_interpreter",["",[],["cursor.rs","cursor_aleo.rs","dialoguer_input.rs","interpreter.rs","lib.rs","ratatui_ui.rs","ui.rs","util.rs","value.rs"]]],["leo_lang",["",[["cli",[["commands",[["query",[],["block.rs","committee.rs","mempool.rs","mod.rs","peers.rs","program.rs","state_root.rs","transaction.rs","utils.rs"]]],["account.rs","add.rs","build.rs","clean.rs","debug.rs","deploy.rs","example.rs","execute.rs","mod.rs","new.rs","remove.rs","run.rs","update.rs"]],["helpers",[],["context.rs","logger.rs","mod.rs","updater.rs"]]],["cli.rs","mod.rs"]]],["lib.rs"]]],["leo_package",["",[["build",[],["directory.rs","mod.rs"]],["imports",[],["directory.rs","mod.rs"]],["inputs",[],["directory.rs","mod.rs"]],["outputs",[],["ast_snapshot.rs","checksum.rs","circuit.rs","directory.rs","mod.rs"]],["root",[],["env.rs","gitignore.rs","mod.rs"]],["source",[],["directory.rs","main.rs","mod.rs"]]],["lib.rs","package.rs"]]],["leo_parser",["",[["parser",[],["context.rs","expression.rs","file.rs","mod.rs","statement.rs","type_.rs"]],["tokenizer",[],["lexer.rs","mod.rs","token.rs"]]],["lib.rs"]]],["leo_passes",["",[["code_generation",[],["generator.rs","mod.rs","visit_expressions.rs","visit_program.rs","visit_statements.rs","visit_type.rs"]],["common",[["assigner",[],["mod.rs"]],["constant_propagation_table",[],["mod.rs"]],["graph",[],["mod.rs"]],["rename_table",[],["mod.rs"]],["replacer",[],["mod.rs"]],["symbol_table",[],["function_symbol.rs","mod.rs","variable_symbol.rs"]],["tree_node",[],["mod.rs"]],["type_table",[],["mod.rs"]]],["mod.rs"]],["dead_code_elimination",[],["dead_code_eliminator.rs","eliminate_expression.rs","eliminate_program.rs","eliminate_statement.rs","mod.rs"]],["destructuring",[],["destructure_expression.rs","destructure_program.rs","destructure_statement.rs","destructurer.rs","mod.rs"]],["flattening",[],["flatten_expression.rs","flatten_program.rs","flatten_statement.rs","flattener.rs","mod.rs"]],["function_inlining",[],["assignment_renamer.rs","function_inliner.rs","inline_expression.rs","inline_program.rs","inline_statement.rs","mod.rs"]],["loop_unrolling",[],["mod.rs","range_iterator.rs","unroll_expression.rs","unroll_program.rs","unroll_statement.rs","unroller.rs"]],["static_analysis",[],["analyze_expression.rs","analyze_program.rs","analyze_statement.rs","analyzer.rs","await_checker.rs","future_checker.rs","mod.rs"]],["static_single_assignment",[],["mod.rs","rename_expression.rs","rename_program.rs","rename_statement.rs","static_single_assigner.rs"]],["symbol_table_creation",[],["creator.rs","mod.rs"]],["type_checking",[],["check_expressions.rs","check_program.rs","check_statements.rs","checker.rs","mod.rs","scope_state.rs"]]],["lib.rs","pass.rs"]]],["leo_retriever",["",[["program_context",[],["dependency.rs","location.rs","lock_file_entry.rs","manifest.rs","mod.rs","network_name.rs"]],["retriever",[],["mod.rs"]]],["lib.rs"]]],["leo_span",["",[],["lib.rs","source_map.rs","span.rs","span_json.rs","symbol.rs"]]],["leo_test_framework",["",[],["error.rs","fetch.rs","lib.rs","output.rs","runner.rs","test.rs"]]]]')); createSrcSidebar(); -//{"start":36,"fragment_lengths":[32,28,33,1330,63,40,718,406,350,173,1611,181,85,98]} \ No newline at end of file +//{"start":36,"fragment_lengths":[32,28,33,1330,63,40,740,151,417,350,173,1611,181,85,98]} \ No newline at end of file diff --git a/src/leo_ast/functions/core_function.rs.html b/src/leo_ast/functions/core_function.rs.html index a77d40bf67..980a539023 100644 --- a/src/leo_ast/functions/core_function.rs.html +++ b/src/leo_ast/functions/core_function.rs.html @@ -1105,7 +1105,18 @@ 1104 1105 1106 -1107
// Copyright (C) 2019-2024 Aleo Systems Inc.
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
// Copyright (C) 2019-2024 Aleo Systems Inc.
 // This file is part of the Leo library.
 
 // The Leo library is free software: you can redistribute it and/or modify
@@ -1396,6 +1407,9 @@
 
     SignatureVerify,
     FutureAwait,
+
+    CheatCodePrintMapping,
+    CheatCodeSetBlockHeight,
 }
 
 impl CoreFunction {
@@ -1673,6 +1687,9 @@
 
             (sym::signature, sym::verify) => Self::SignatureVerify,
             (sym::Future, sym::Await) => Self::FutureAwait,
+
+            (sym::CheatCode, sym::print_mapping) => Self::CheatCodePrintMapping,
+            (sym::CheatCode, sym::set_block_height) => Self::CheatCodeSetBlockHeight,
             _ => return None,
         })
     }
@@ -1951,6 +1968,9 @@
 
             Self::SignatureVerify => 3,
             Self::FutureAwait => 1,
+
+            Self::CheatCodePrintMapping => 1,
+            Self::CheatCodeSetBlockHeight => 1,
         }
     }
 
@@ -2208,7 +2228,9 @@
             | CoreFunction::SHA3_512HashToScalar
             | CoreFunction::GroupToXCoordinate
             | CoreFunction::GroupToYCoordinate
-            | CoreFunction::SignatureVerify => false,
+            | CoreFunction::SignatureVerify
+            | CoreFunction::CheatCodePrintMapping
+            | CoreFunction::CheatCodeSetBlockHeight => false,
         }
     }
 }
diff --git a/src/leo_errors/errors/interpreter_halt.rs.html b/src/leo_errors/errors/interpreter_halt.rs.html
new file mode 100644
index 0000000000..d5c736b151
--- /dev/null
+++ b/src/leo_errors/errors/interpreter_halt.rs.html
@@ -0,0 +1,101 @@
+interpreter_halt.rs - source

leo_errors/errors/
interpreter_halt.rs

+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
// Copyright (C) 2019-2024 Aleo Systems Inc.
+// This file is part of the Leo library.
+
+// The Leo library is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// The Leo library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with the Leo library. If not, see <https://www.gnu.org/licenses/>.
+
+use std::fmt;
+
+use leo_span::Span;
+
+/// Represents the interpreter halting, which should not be considered an
+/// actual runtime error.
+#[derive(Clone, Debug, Error)]
+pub struct InterpreterHalt {
+    /// Optional Span where the halt occurred.
+    span: Option<Span>,
+
+    /// User visible message.
+    message: String,
+}
+
+impl InterpreterHalt {
+    pub fn new(message: String) -> Self {
+        InterpreterHalt { span: None, message }
+    }
+
+    pub fn new_spanned(message: String, span: Span) -> Self {
+        InterpreterHalt { span: Some(span), message }
+    }
+
+    pub fn span(&self) -> Option<Span> {
+        self.span
+    }
+}
+
+impl fmt::Display for InterpreterHalt {
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+        write!(f, "{}", self.message)
+    }
+}
+
\ No newline at end of file diff --git a/src/leo_errors/errors/mod.rs.html b/src/leo_errors/errors/mod.rs.html index a030728a66..a2ed7a05bf 100644 --- a/src/leo_errors/errors/mod.rs.html +++ b/src/leo_errors/errors/mod.rs.html @@ -172,7 +172,14 @@ 171 172 173 -174
// Copyright (C) 2019-2024 Aleo Systems Inc.
+174
+175
+176
+177
+178
+179
+180
+181
// Copyright (C) 2019-2024 Aleo Systems Inc.
 // This file is part of the Leo library.
 
 // The Leo library is free software: you can redistribute it and/or modify
@@ -211,6 +218,9 @@
 pub mod loop_unroller;
 pub use self::loop_unroller::*;
 
+pub mod interpreter_halt;
+pub use self::interpreter_halt::*;
+
 /// Contains the Package error definitions.
 pub mod package;
 pub use self::package::*;
@@ -244,6 +254,8 @@
     /// Represents a Compiler Error in a Leo Error.
     #[error(transparent)]
     CompilerError(#[from] CompilerError),
+    #[error(transparent)]
+    InterpreterHalt(#[from] InterpreterHalt),
     /// Represents a Package Error in a Leo Error.
     #[error(transparent)]
     PackageError(#[from] PackageError),
@@ -292,7 +304,8 @@
             UtilError(error) => error.error_code(),
             LastErrorCode(_) => unreachable!(),
             Anyhow(_) => "SnarkVM Error".to_string(), // todo: implement error codes for snarkvm errors.
-        }
+            InterpreterHalt(_) => "Interpreter Halt".to_string(),
+        }
     }
 
     /// Implement exit code for each type of Error.
@@ -312,7 +325,8 @@
             UtilError(error) => error.exit_code(),
             LastErrorCode(code) => *code,
             Anyhow(_) => 11000, // todo: implement exit codes for snarkvm errors.
-        }
+            InterpreterHalt(_) => 1,
+        }
     }
 }
 
diff --git a/src/leo_interpreter/cursor.rs.html b/src/leo_interpreter/cursor.rs.html
new file mode 100644
index 0000000000..608fae3e2d
--- /dev/null
+++ b/src/leo_interpreter/cursor.rs.html
@@ -0,0 +1,5513 @@
+cursor.rs - source

leo_interpreter/
cursor.rs

+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+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
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
+858
+859
+860
+861
+862
+863
+864
+865
+866
+867
+868
+869
+870
+871
+872
+873
+874
+875
+876
+877
+878
+879
+880
+881
+882
+883
+884
+885
+886
+887
+888
+889
+890
+891
+892
+893
+894
+895
+896
+897
+898
+899
+900
+901
+902
+903
+904
+905
+906
+907
+908
+909
+910
+911
+912
+913
+914
+915
+916
+917
+918
+919
+920
+921
+922
+923
+924
+925
+926
+927
+928
+929
+930
+931
+932
+933
+934
+935
+936
+937
+938
+939
+940
+941
+942
+943
+944
+945
+946
+947
+948
+949
+950
+951
+952
+953
+954
+955
+956
+957
+958
+959
+960
+961
+962
+963
+964
+965
+966
+967
+968
+969
+970
+971
+972
+973
+974
+975
+976
+977
+978
+979
+980
+981
+982
+983
+984
+985
+986
+987
+988
+989
+990
+991
+992
+993
+994
+995
+996
+997
+998
+999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
+1449
+1450
+1451
+1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
+1463
+1464
+1465
+1466
+1467
+1468
+1469
+1470
+1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+1479
+1480
+1481
+1482
+1483
+1484
+1485
+1486
+1487
+1488
+1489
+1490
+1491
+1492
+1493
+1494
+1495
+1496
+1497
+1498
+1499
+1500
+1501
+1502
+1503
+1504
+1505
+1506
+1507
+1508
+1509
+1510
+1511
+1512
+1513
+1514
+1515
+1516
+1517
+1518
+1519
+1520
+1521
+1522
+1523
+1524
+1525
+1526
+1527
+1528
+1529
+1530
+1531
+1532
+1533
+1534
+1535
+1536
+1537
+1538
+1539
+1540
+1541
+1542
+1543
+1544
+1545
+1546
+1547
+1548
+1549
+1550
+1551
+1552
+1553
+1554
+1555
+1556
+1557
+1558
+1559
+1560
+1561
+1562
+1563
+1564
+1565
+1566
+1567
+1568
+1569
+1570
+1571
+1572
+1573
+1574
+1575
+1576
+1577
+1578
+1579
+1580
+1581
+1582
+1583
+1584
+1585
+1586
+1587
+1588
+1589
+1590
+1591
+1592
+1593
+1594
+1595
+1596
+1597
+1598
+1599
+1600
+1601
+1602
+1603
+1604
+1605
+1606
+1607
+1608
+1609
+1610
+1611
+1612
+1613
+1614
+1615
+1616
+1617
+1618
+1619
+1620
+1621
+1622
+1623
+1624
+1625
+1626
+1627
+1628
+1629
+1630
+1631
+1632
+1633
+1634
+1635
+1636
+1637
+1638
+1639
+1640
+1641
+1642
+1643
+1644
+1645
+1646
+1647
+1648
+1649
+1650
+1651
+1652
+1653
+1654
+1655
+1656
+1657
+1658
+1659
+1660
+1661
+1662
+1663
+1664
+1665
+1666
+1667
+1668
+1669
+1670
+1671
+1672
+1673
+1674
+1675
+1676
+1677
+1678
+1679
+1680
+1681
+1682
+1683
+1684
+1685
+1686
+1687
+1688
+1689
+1690
+1691
+1692
+1693
+1694
+1695
+1696
+1697
+1698
+1699
+1700
+1701
+1702
+1703
+1704
+1705
+1706
+1707
+1708
+1709
+1710
+1711
+1712
+1713
+1714
+1715
+1716
+1717
+1718
+1719
+1720
+1721
+1722
+1723
+1724
+1725
+1726
+1727
+1728
+1729
+1730
+1731
+1732
+1733
+1734
+1735
+1736
+1737
+1738
+1739
+1740
+1741
+1742
+1743
+1744
+1745
+1746
+1747
+1748
+1749
+1750
+1751
+1752
+1753
+1754
+1755
+1756
+1757
+1758
+1759
+1760
+1761
+1762
+1763
+1764
+1765
+1766
+1767
+1768
+1769
+1770
+1771
+1772
+1773
+1774
+1775
+1776
+1777
+1778
+1779
+1780
+1781
+1782
+1783
+1784
+1785
+1786
+1787
+1788
+1789
+1790
+1791
+1792
+1793
+1794
+1795
+1796
+1797
+1798
+1799
+1800
+1801
+1802
+1803
+1804
+1805
+1806
+1807
+1808
+1809
+1810
+1811
+1812
+1813
+1814
+1815
+1816
+1817
+1818
+1819
+1820
+1821
+1822
+1823
+1824
+1825
+1826
+1827
+1828
+1829
+1830
+1831
+1832
+1833
+1834
+1835
+1836
+1837
+1838
+1839
+1840
+1841
+1842
+1843
+1844
+1845
+1846
+1847
+1848
+1849
+1850
+1851
+1852
+1853
+1854
+1855
+1856
+1857
+1858
+1859
+1860
+1861
+1862
+1863
+1864
+1865
+1866
+1867
+1868
+1869
+1870
+1871
+1872
+1873
+1874
+1875
+1876
+1877
+1878
+1879
+1880
+1881
+1882
+1883
+1884
+1885
+1886
+1887
+1888
+1889
+1890
+1891
+1892
+1893
+1894
+1895
+1896
+1897
+1898
+1899
+1900
+1901
+1902
+1903
+1904
+1905
+1906
+1907
+1908
+1909
+1910
+1911
+1912
+1913
+1914
+1915
+1916
+1917
+1918
+1919
+1920
+1921
+1922
+1923
+1924
+1925
+1926
+1927
+1928
+1929
+1930
+1931
+1932
+1933
+1934
+1935
+1936
+1937
+1938
+1939
+1940
+1941
+1942
+1943
+1944
+1945
+1946
+1947
+1948
+1949
+1950
+1951
+1952
+1953
+1954
+1955
+1956
+1957
+1958
+1959
+1960
+1961
+1962
+1963
+1964
+1965
+1966
+1967
+1968
+1969
+1970
+1971
+1972
+1973
+1974
+1975
+1976
+1977
+1978
+1979
+1980
+1981
+1982
+1983
+1984
+1985
+1986
+1987
+1988
+1989
+1990
+1991
+1992
+1993
+1994
+1995
+1996
+1997
+1998
+1999
+2000
+2001
+2002
+2003
+2004
+2005
+2006
+2007
+2008
+2009
+2010
+2011
+2012
+2013
+2014
+2015
+2016
+2017
+2018
+2019
+2020
+2021
+2022
+2023
+2024
+2025
+2026
+2027
+2028
+2029
+2030
+2031
+2032
+2033
+2034
+2035
+2036
+2037
+2038
+2039
+2040
+2041
+2042
+2043
+2044
+2045
+2046
+2047
+2048
+2049
+2050
+2051
+2052
+2053
+2054
+2055
+2056
+2057
+2058
+2059
+2060
+2061
+2062
+2063
+2064
+2065
+2066
+2067
+2068
+2069
+2070
+2071
+2072
+2073
+2074
+2075
+2076
+2077
+2078
+2079
+2080
+2081
+2082
+2083
+2084
+2085
+2086
+2087
+2088
+2089
+2090
+2091
+2092
+2093
+2094
+2095
+2096
+2097
+2098
+2099
+2100
+2101
+2102
+2103
+2104
+2105
+2106
+2107
+2108
+2109
+2110
+2111
+2112
+2113
+2114
+2115
+2116
+2117
+2118
+2119
+2120
+2121
+2122
+2123
+2124
+2125
+2126
+2127
+2128
+2129
+2130
+2131
+2132
+2133
+2134
+2135
+2136
+2137
+2138
+2139
+2140
+2141
+2142
+2143
+2144
+2145
+2146
+2147
+2148
+2149
+2150
+2151
+2152
+2153
+2154
+2155
+2156
+2157
+2158
+2159
+2160
+2161
+2162
+2163
+2164
+2165
+2166
+2167
+2168
+2169
+2170
+2171
+2172
+2173
+2174
+2175
+2176
+2177
+2178
+2179
+2180
+2181
+2182
+2183
+2184
+2185
+2186
+2187
+2188
+2189
+2190
+2191
+2192
+2193
+2194
+2195
+2196
+2197
+2198
+2199
+2200
+2201
+2202
+2203
+2204
+2205
+2206
+2207
+2208
+2209
+2210
+2211
+2212
+2213
+2214
+2215
+2216
+2217
+2218
+2219
+2220
+2221
+2222
+2223
+2224
+2225
+2226
+2227
+2228
+2229
+2230
+2231
+2232
+2233
+2234
+2235
+2236
+2237
+2238
+2239
+2240
+2241
+2242
+2243
+2244
+2245
+2246
+2247
+2248
+2249
+2250
+2251
+2252
+2253
+2254
+2255
+2256
+2257
+2258
+2259
+2260
+2261
+2262
+2263
+2264
+2265
+2266
+2267
+2268
+2269
+2270
+2271
+2272
+2273
+2274
+2275
+2276
+2277
+2278
+2279
+2280
+2281
+2282
+2283
+2284
+2285
+2286
+2287
+2288
+2289
+2290
+2291
+2292
+2293
+2294
+2295
+2296
+2297
+2298
+2299
+2300
+2301
+2302
+2303
+2304
+2305
+2306
+2307
+2308
+2309
+2310
+2311
+2312
+2313
+2314
+2315
+2316
+2317
+2318
+2319
+2320
+2321
+2322
+2323
+2324
+2325
+2326
+2327
+2328
+2329
+2330
+2331
+2332
+2333
+2334
+2335
+2336
+2337
+2338
+2339
+2340
+2341
+2342
+2343
+2344
+2345
+2346
+2347
+2348
+2349
+2350
+2351
+2352
+2353
+2354
+2355
+2356
+2357
+2358
+2359
+2360
+2361
+2362
+2363
+2364
+2365
+2366
+2367
+2368
+2369
+2370
+2371
+2372
+2373
+2374
+2375
+2376
+2377
+2378
+2379
+2380
+2381
+2382
+2383
+2384
+2385
+2386
+2387
+2388
+2389
+2390
+2391
+2392
+2393
+2394
+2395
+2396
+2397
+2398
+2399
+2400
+2401
+2402
+2403
+2404
+2405
+2406
+2407
+2408
+2409
+2410
+2411
+2412
+2413
+2414
+2415
+2416
+2417
+2418
+2419
+2420
+2421
+2422
+2423
+2424
+2425
+2426
+2427
+2428
+2429
+2430
+2431
+2432
+2433
+2434
+2435
+2436
+2437
+2438
+2439
+2440
+2441
+2442
+2443
+2444
+2445
+2446
+2447
+2448
+2449
+2450
+2451
+2452
+2453
+2454
+2455
+2456
+2457
+2458
+2459
+2460
+2461
+2462
+2463
+2464
+2465
+2466
+2467
+2468
+2469
+2470
+2471
+2472
+2473
+2474
+2475
+2476
+2477
+2478
+2479
+2480
+2481
+2482
+2483
+2484
+2485
+2486
+2487
+2488
+2489
+2490
+2491
+2492
+2493
+2494
+2495
+2496
+2497
+2498
+2499
+2500
+2501
+2502
+2503
+2504
+2505
+2506
+2507
+2508
+2509
+2510
+2511
+2512
+2513
+2514
+2515
+2516
+2517
+2518
+2519
+2520
+2521
+2522
+2523
+2524
+2525
+2526
+2527
+2528
+2529
+2530
+2531
+2532
+2533
+2534
+2535
+2536
+2537
+2538
+2539
+2540
+2541
+2542
+2543
+2544
+2545
+2546
+2547
+2548
+2549
+2550
+2551
+2552
+2553
+2554
+2555
+2556
+2557
+2558
+2559
+2560
+2561
+2562
+2563
+2564
+2565
+2566
+2567
+2568
+2569
+2570
+2571
+2572
+2573
+2574
+2575
+2576
+2577
+2578
+2579
+2580
+2581
+2582
+2583
+2584
+2585
+2586
+2587
+2588
+2589
+2590
+2591
+2592
+2593
+2594
+2595
+2596
+2597
+2598
+2599
+2600
+2601
+2602
+2603
+2604
+2605
+2606
+2607
+2608
+2609
+2610
+2611
+2612
+2613
+2614
+2615
+2616
+2617
+2618
+2619
+2620
+2621
+2622
+2623
+2624
+2625
+2626
+2627
+2628
+2629
+2630
+2631
+2632
+2633
+2634
+2635
+2636
+2637
+2638
+2639
+2640
+2641
+2642
+2643
+2644
+2645
+2646
+2647
+2648
+2649
+2650
+2651
+2652
+2653
+2654
+2655
+2656
+2657
+2658
+2659
+2660
+2661
+2662
+2663
+2664
+2665
+2666
+2667
+2668
+2669
+2670
+2671
+2672
+2673
+2674
+2675
+2676
+2677
+2678
+2679
+2680
+2681
+2682
+2683
+2684
+2685
+2686
+2687
+2688
+2689
+2690
+2691
+2692
+2693
+2694
+2695
+2696
+2697
+2698
+2699
+2700
+2701
+2702
+2703
+2704
+2705
+2706
+2707
+2708
+2709
+2710
+2711
+2712
+2713
+2714
+2715
+2716
+2717
+2718
+2719
+2720
+2721
+2722
+2723
+2724
+2725
+2726
+2727
+2728
+2729
+2730
+2731
+2732
+2733
+2734
+2735
+2736
+2737
+2738
+2739
+2740
+2741
+2742
+2743
+2744
+2745
+2746
+2747
+2748
+2749
+2750
+2751
+2752
+2753
+2754
+2755
+2756
// Copyright (C) 2019-2024 Aleo Systems Inc.
+// This file is part of the Leo library.
+
+// The Leo library is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// The Leo library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with the Leo library. If not, see <https://www.gnu.org/licenses/>.
+
+use super::*;
+
+use leo_ast::{
+    AccessExpression,
+    AssertVariant,
+    BinaryOperation,
+    Block,
+    CoreConstant,
+    CoreFunction,
+    Expression,
+    Function,
+    GroupLiteral,
+    IntegerType,
+    Literal,
+    Statement,
+    Type,
+    UnaryOperation,
+    Variant,
+};
+use leo_errors::{InterpreterHalt, Result};
+use leo_span::{Span, Symbol, sym};
+
+use snarkvm::prelude::{
+    CastLossy as _,
+    Closure as SvmClosure,
+    Double as _,
+    Finalize as SvmFinalize,
+    Function as SvmFunctionParam,
+    Inverse as _,
+    Network as _,
+    Pow as _,
+    ProgramID,
+    Square as _,
+    SquareRoot as _,
+    TestnetV0,
+    ToBits,
+};
+
+use indexmap::{IndexMap, IndexSet};
+use rand::Rng as _;
+use rand_chacha::{ChaCha20Rng, rand_core::SeedableRng};
+use std::{cmp::Ordering, collections::HashMap, fmt, mem, str::FromStr as _};
+
+pub type Closure = SvmClosure<TestnetV0>;
+pub type Finalize = SvmFinalize<TestnetV0>;
+pub type SvmFunction = SvmFunctionParam<TestnetV0>;
+
+/// Names associated to values in a function being executed.
+#[derive(Clone, Debug)]
+pub struct FunctionContext {
+    program: Symbol,
+    pub caller: SvmAddress,
+    names: HashMap<Symbol, Value>,
+    accumulated_futures: Future,
+    is_async: bool,
+}
+
+/// A stack of contexts, building with the function call stack.
+#[derive(Clone, Debug, Default)]
+pub struct ContextStack {
+    contexts: Vec<FunctionContext>,
+    current_len: usize,
+}
+
+impl ContextStack {
+    fn len(&self) -> usize {
+        self.current_len
+    }
+
+    fn push(&mut self, program: Symbol, caller: SvmAddress, is_async: bool) {
+        if self.current_len == self.contexts.len() {
+            self.contexts.push(FunctionContext {
+                program,
+                caller,
+                names: HashMap::new(),
+                accumulated_futures: Default::default(),
+                is_async,
+            });
+        }
+        self.contexts[self.current_len].accumulated_futures.0.clear();
+        self.contexts[self.current_len].names.clear();
+        self.contexts[self.current_len].caller = caller;
+        self.contexts[self.current_len].program = program;
+        self.contexts[self.current_len].is_async = is_async;
+        self.current_len += 1;
+    }
+
+    pub fn pop(&mut self) {
+        // We never actually pop the underlying Vec
+        // so we can reuse the storage of the hash
+        // tables.
+        assert!(self.len() > 0);
+        self.current_len -= 1;
+        self.contexts[self.current_len].names.clear();
+    }
+
+    /// Get the future accumulated by awaiting futures in the current function call.
+    ///
+    /// If the current code being interpreted is not in an async function, this
+    /// will of course be empty.
+    fn get_future(&mut self) -> Future {
+        assert!(self.len() > 0);
+        mem::take(&mut self.contexts[self.current_len - 1].accumulated_futures)
+    }
+
+    fn set(&mut self, symbol: Symbol, value: Value) {
+        assert!(self.current_len > 0);
+        self.last_mut().unwrap().names.insert(symbol, value);
+    }
+
+    pub fn add_future(&mut self, future: Future) {
+        assert!(self.current_len > 0);
+        self.contexts[self.current_len - 1].accumulated_futures.0.extend(future.0);
+    }
+
+    /// Are we currently in an async function?
+    fn is_async(&self) -> bool {
+        assert!(self.current_len > 0);
+        self.last().unwrap().is_async
+    }
+
+    pub fn current_program(&self) -> Option<Symbol> {
+        self.last().map(|c| c.program)
+    }
+
+    pub fn last(&self) -> Option<&FunctionContext> {
+        self.len().checked_sub(1).and_then(|i| self.contexts.get(i))
+    }
+
+    fn last_mut(&mut self) -> Option<&mut FunctionContext> {
+        self.len().checked_sub(1).and_then(|i| self.contexts.get_mut(i))
+    }
+}
+
+#[derive(Copy, Clone, Debug)]
+pub enum AleoContext<'a> {
+    Closure(&'a Closure),
+    Function(&'a SvmFunction),
+    Finalize(&'a Finalize),
+}
+
+/// A Leo construct to be evauated.
+#[derive(Clone, Debug)]
+pub enum Element<'a> {
+    /// A Leo statement.
+    Statement(&'a Statement),
+
+    /// A Leo expression.
+    Expression(&'a Expression),
+
+    /// A Leo block.
+    ///
+    /// We have a separate variant for Leo blocks for two reasons:
+    /// 1. In a ConditionalExpression, the `then` block is stored
+    ///    as just a Block with no statement, and
+    /// 2. We need to remember if a Block came from a function body,
+    ///    so that if such a block ends, we know to push a `Unit` to
+    ///    the values stack.
+    Block {
+        block: &'a Block,
+        function_body: bool,
+    },
+
+    AleoExecution {
+        context: AleoContext<'a>,
+        registers: IndexMap<u64, Value>,
+        instruction_index: usize,
+    },
+
+    DelayedCall(GlobalId),
+}
+
+impl Element<'_> {
+    pub fn span(&self) -> Span {
+        use Element::*;
+        match self {
+            Statement(statement) => statement.span(),
+            Expression(expression) => expression.span(),
+            Block { block, .. } => block.span(),
+            AleoExecution { .. } | DelayedCall(..) => Default::default(),
+        }
+    }
+}
+
+/// A frame of execution, keeping track of the Element next to
+/// be executed and the number of steps we've done so far.
+#[derive(Clone, Debug)]
+pub struct Frame<'a> {
+    pub step: usize,
+    pub element: Element<'a>,
+    pub user_initiated: bool,
+}
+
+/// Global values - such as mappings, functions, etc -
+/// are identified by program and name.
+#[derive(Clone, Copy, Debug, Hash, Eq, PartialEq)]
+pub struct GlobalId {
+    pub program: Symbol,
+    pub name: Symbol,
+}
+
+impl fmt::Display for GlobalId {
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+        write!(f, "{}/{}", self.program, self.name)
+    }
+}
+
+#[derive(Clone, Debug)]
+pub enum FunctionVariant<'a> {
+    Leo(&'a Function),
+    AleoClosure(&'a Closure),
+    AleoFunction(&'a SvmFunction),
+}
+
+/// Tracks the current execution state - a cursor into the running program.
+#[derive(Clone, Debug)]
+pub struct Cursor<'a> {
+    /// Stack of execution frames, with the one currently to be executed on top.
+    pub frames: Vec<Frame<'a>>,
+
+    /// Stack of values from evaluated expressions.
+    ///
+    /// Each time an expression completes evaluation, a value is pushed here.
+    pub values: Vec<Value>,
+
+    /// All functions (or transitions or inlines) in any program being interpreted.
+    pub functions: HashMap<GlobalId, FunctionVariant<'a>>,
+
+    /// Consts are stored here.
+    pub globals: HashMap<GlobalId, Value>,
+
+    pub user_values: HashMap<Symbol, Value>,
+
+    pub mappings: HashMap<GlobalId, HashMap<Value, Value>>,
+
+    /// For each struct type, we only need to remember the names of its members, in order.
+    pub structs: HashMap<GlobalId, IndexSet<Symbol>>,
+
+    pub futures: Vec<Future>,
+
+    pub contexts: ContextStack,
+
+    pub signer: SvmAddress,
+
+    pub rng: ChaCha20Rng,
+
+    pub block_height: u32,
+
+    pub really_async: bool,
+
+    pub program: Option<Symbol>,
+}
+
+impl<'a> Cursor<'a> {
+    /// `really_async` indicates we should really delay execution of async function calls until the user runs them.
+    pub fn new(really_async: bool, signer: SvmAddress, block_height: u32) -> Self {
+        Cursor {
+            frames: Default::default(),
+            values: Default::default(),
+            functions: Default::default(),
+            globals: Default::default(),
+            user_values: Default::default(),
+            mappings: Default::default(),
+            structs: Default::default(),
+            contexts: Default::default(),
+            futures: Default::default(),
+            rng: ChaCha20Rng::from_entropy(),
+            signer,
+            block_height,
+            really_async,
+            program: None,
+        }
+    }
+
+    pub fn set_program(&mut self, program: &str) {
+        let p = program.strip_suffix(".aleo").unwrap_or(program);
+        self.program = Some(Symbol::intern(p));
+    }
+
+    pub fn current_program(&self) -> Option<Symbol> {
+        self.contexts.current_program().or(self.program)
+    }
+
+    pub fn increment_step(&mut self) {
+        let Some(Frame { step, .. }) = self.frames.last_mut() else {
+            panic!("frame expected");
+        };
+        *step += 1;
+    }
+
+    fn new_caller(&self) -> SvmAddress {
+        if let Some(function_context) = self.contexts.last() {
+            let program_id = ProgramID::<TestnetV0>::from_str(&format!("{}.aleo", function_context.program))
+                .expect("should be able to create ProgramID");
+            program_id.to_address().expect("should be able to convert to address")
+        } else {
+            self.signer
+        }
+    }
+
+    fn pop_value(&mut self) -> Result<Value> {
+        match self.values.pop() {
+            Some(v) => Ok(v),
+            None => {
+                Err(InterpreterHalt::new("value expected - this may be a bug in the Leo interpreter".to_string())
+                    .into())
+            }
+        }
+    }
+
+    fn lookup(&self, name: Symbol) -> Option<Value> {
+        if let Some(context) = self.contexts.last() {
+            let option_value =
+                context.names.get(&name).or_else(|| self.globals.get(&GlobalId { program: context.program, name }));
+            if option_value.is_some() {
+                return option_value.cloned();
+            }
+        };
+
+        self.user_values.get(&name).cloned()
+    }
+
+    pub fn lookup_mapping(&self, program: Option<Symbol>, name: Symbol) -> Option<&HashMap<Value, Value>> {
+        let Some(program) = program.or_else(|| self.current_program()) else {
+            panic!("no program for mapping lookup");
+        };
+        self.mappings.get(&GlobalId { program, name })
+    }
+
+    pub fn lookup_mapping_mut(&mut self, program: Option<Symbol>, name: Symbol) -> Option<&mut HashMap<Value, Value>> {
+        let Some(program) = program.or_else(|| self.current_program()) else {
+            panic!("no program for mapping lookup");
+        };
+        self.mappings.get_mut(&GlobalId { program, name })
+    }
+
+    fn lookup_function(&self, program: Symbol, name: Symbol) -> Option<FunctionVariant<'a>> {
+        self.functions.get(&GlobalId { program, name }).cloned()
+    }
+
+    fn set_variable(&mut self, symbol: Symbol, value: Value) {
+        if self.contexts.len() > 0 {
+            self.contexts.set(symbol, value);
+        } else {
+            self.user_values.insert(symbol, value);
+        }
+    }
+
+    fn set_block_height(&mut self, block_height: u32) {
+        self.block_height = block_height;
+    }
+
+    /// Execute the whole step of the current Element.
+    ///
+    /// That is, perform a step, and then finish all statements and expressions that have been pushed,
+    /// until we're ready for the next step of the current Element (if there is one).
+    pub fn whole_step(&mut self) -> Result<StepResult> {
+        let frames_len = self.frames.len();
+        let initial_result = self.step()?;
+        if !initial_result.finished {
+            while self.frames.len() > frames_len {
+                self.step()?;
+            }
+        }
+        Ok(initial_result)
+    }
+
+    /// Step `over` the current Element.
+    ///
+    /// That is, continue executing until the current Element is finished.
+    pub fn over(&mut self) -> Result<StepResult> {
+        let frames_len = self.frames.len();
+        loop {
+            match self.frames.len().cmp(&frames_len) {
+                Ordering::Greater => {
+                    self.step()?;
+                }
+                Ordering::Equal => {
+                    let result = self.step()?;
+                    if result.finished {
+                        return Ok(result);
+                    }
+                }
+                Ordering::Less => {
+                    // This can happen if, for instance, a `return` was encountered,
+                    // which means we exited the function we were evaluating and the
+                    // frame stack was truncated.
+                    return Ok(StepResult { finished: true, value: None });
+                }
+            }
+        }
+    }
+
+    pub fn step_block(&mut self, block: &'a Block, function_body: bool, step: usize) -> bool {
+        let len = self.frames.len();
+
+        let done = match step {
+            0 => {
+                for statement in block.statements.iter().rev() {
+                    self.frames.push(Frame { element: Element::Statement(statement), step: 0, user_initiated: false });
+                }
+                false
+            }
+            1 if function_body => {
+                self.values.push(Value::Unit);
+                self.contexts.pop();
+                true
+            }
+            1 => true,
+            _ => unreachable!(),
+        };
+
+        if done {
+            assert_eq!(len, self.frames.len());
+            self.frames.pop();
+        } else {
+            self.frames[len - 1].step += 1;
+        }
+
+        done
+    }
+
+    fn step_statement(&mut self, statement: &'a Statement, step: usize) -> Result<bool> {
+        let len = self.frames.len();
+
+        let mut push = |expression| {
+            self.frames.push(Frame { element: Element::Expression(expression), step: 0, user_initiated: false })
+        };
+
+        let done = match statement {
+            Statement::Assert(assert) if step == 0 => {
+                match &assert.variant {
+                    AssertVariant::Assert(x) => push(x),
+                    AssertVariant::AssertEq(x, y) | AssertVariant::AssertNeq(x, y) => {
+                        push(y);
+                        push(x);
+                    }
+                };
+                false
+            }
+            Statement::Assert(assert) if step == 1 => {
+                match &assert.variant {
+                    AssertVariant::Assert(..) => {
+                        let value = self.pop_value()?;
+                        match value {
+                            Value::Bool(true) => {}
+                            Value::Bool(false) => halt!(assert.span(), "assert failure"),
+                            _ => tc_fail!(),
+                        }
+                    }
+                    AssertVariant::AssertEq(..) | AssertVariant::AssertNeq(..) => {
+                        let x = self.pop_value()?;
+                        let y = self.pop_value()?;
+                        let b =
+                            if matches!(assert.variant, AssertVariant::AssertEq(..)) { x.eq(&y)? } else { x.neq(&y)? };
+                        if !b {
+                            halt!(assert.span(), "assert failure");
+                        }
+                    }
+                };
+                true
+            }
+            Statement::Assign(assign) if step == 0 => {
+                push(&assign.value);
+                false
+            }
+            Statement::Assign(assign) if step == 1 => {
+                let value = self.values.pop().unwrap();
+                let Expression::Identifier(id) = &assign.place else { tc_fail!() };
+                self.set_variable(id.name, value);
+                true
+            }
+            Statement::Block(block) => return Ok(self.step_block(block, false, step)),
+            Statement::Conditional(conditional) if step == 0 => {
+                push(&conditional.condition);
+                false
+            }
+            Statement::Conditional(conditional) if step == 1 => {
+                match self.pop_value()? {
+                    Value::Bool(true) => self.frames.push(Frame {
+                        step: 0,
+                        element: Element::Block { block: &conditional.then, function_body: false },
+                        user_initiated: false,
+                    }),
+                    Value::Bool(false) => {
+                        if let Some(otherwise) = conditional.otherwise.as_ref() {
+                            self.frames.push(Frame {
+                                step: 0,
+                                element: Element::Statement(otherwise),
+                                user_initiated: false,
+                            })
+                        }
+                    }
+                    _ => tc_fail!(),
+                };
+                false
+            }
+            Statement::Conditional(_) if step == 2 => true,
+            Statement::Console(_) => todo!(),
+            Statement::Const(const_) if step == 0 => {
+                push(&const_.value);
+                false
+            }
+            Statement::Const(const_) if step == 1 => {
+                let value = self.pop_value()?;
+                self.set_variable(const_.place.name, value);
+                true
+            }
+            Statement::Definition(definition) if step == 0 => {
+                push(&definition.value);
+                false
+            }
+            Statement::Definition(definition) if step == 1 => {
+                let value = self.pop_value()?;
+                match &definition.place {
+                    Expression::Identifier(id) => self.set_variable(id.name, value),
+                    Expression::Tuple(tuple) => {
+                        let Value::Tuple(rhs) = value else {
+                            tc_fail!();
+                        };
+                        for (name, val) in tuple.elements.iter().zip(rhs.into_iter()) {
+                            let Expression::Identifier(id) = name else {
+                                tc_fail!();
+                            };
+                            self.set_variable(id.name, val);
+                        }
+                    }
+                    _ => tc_fail!(),
+                }
+                true
+            }
+            Statement::Expression(expression) if step == 0 => {
+                push(&expression.expression);
+                false
+            }
+            Statement::Expression(_) if step == 1 => {
+                self.values.pop();
+                true
+            }
+            Statement::Iteration(iteration) if step == 0 => {
+                assert!(!iteration.inclusive);
+                push(&iteration.stop);
+                push(&iteration.start);
+                false
+            }
+            Statement::Iteration(iteration) => {
+                // Currently there actually isn't a syntax in Leo for inclusive ranges.
+                let stop = self.pop_value()?;
+                let start = self.pop_value()?;
+                if start.eq(&stop)? {
+                    true
+                } else {
+                    let new_start = start.inc_wrapping();
+                    self.set_variable(iteration.variable.name, start);
+                    self.frames.push(Frame {
+                        step: 0,
+                        element: Element::Block { block: &iteration.block, function_body: false },
+                        user_initiated: false,
+                    });
+                    self.values.push(new_start);
+                    self.values.push(stop);
+                    false
+                }
+            }
+            Statement::Return(return_) if step == 0 => {
+                push(&return_.expression);
+                false
+            }
+            Statement::Return(_) if step == 1 => loop {
+                let last_frame = self.frames.last().expect("a frame should be present");
+                match last_frame.element {
+                    Element::Expression(Expression::Call(_)) | Element::DelayedCall(_) => {
+                        if self.contexts.is_async() {
+                            // Get rid of the Unit we previously pushed, and replace it with a Future.
+                            self.values.pop();
+                            self.values.push(Value::Future(self.contexts.get_future()));
+                        }
+                        self.contexts.pop();
+                        return Ok(true);
+                    }
+                    _ => {
+                        self.frames.pop();
+                    }
+                }
+            },
+            _ => unreachable!(),
+        };
+
+        if done {
+            assert_eq!(len, self.frames.len());
+            self.frames.pop();
+        } else {
+            self.frames[len - 1].step += 1;
+        }
+
+        Ok(done)
+    }
+
+    fn step_expression(&mut self, expression: &'a Expression, step: usize) -> Result<bool> {
+        let len = self.frames.len();
+
+        macro_rules! push {
+            () => {
+                |expression| {
+                    self.frames.push(Frame { element: Element::Expression(expression), step: 0, user_initiated: false })
+                }
+            };
+        }
+
+        if let Some(value) = match expression {
+            Expression::Access(AccessExpression::Array(array)) if step == 0 => {
+                push!()(&*array.index);
+                push!()(&*array.array);
+                None
+            }
+            Expression::Access(AccessExpression::Array(array)) if step == 1 => {
+                let span = array.span();
+                let array = self.pop_value()?;
+                let index = self.pop_value()?;
+
+                let index_usize: usize = match index {
+                    Value::U8(x) => x.into(),
+                    Value::U16(x) => x.into(),
+                    Value::U32(x) => x.try_into().expect_tc(span)?,
+                    Value::U64(x) => x.try_into().expect_tc(span)?,
+                    Value::U128(x) => x.try_into().expect_tc(span)?,
+                    Value::I8(x) => x.try_into().expect_tc(span)?,
+                    Value::I16(x) => x.try_into().expect_tc(span)?,
+                    Value::I32(x) => x.try_into().expect_tc(span)?,
+                    Value::I64(x) => x.try_into().expect_tc(span)?,
+                    Value::I128(x) => x.try_into().expect_tc(span)?,
+                    _ => halt!(expression.span(), "invalid array index {index}"),
+                };
+                let Value::Array(vec_array) = array else { tc_fail!() };
+                Some(vec_array.get(index_usize).expect_tc(span)?.clone())
+            }
+            Expression::Access(AccessExpression::AssociatedConstant(constant)) if step == 0 => {
+                let Type::Identifier(type_ident) = constant.ty else {
+                    tc_fail!();
+                };
+                let Some(core_constant) = CoreConstant::from_symbols(type_ident.name, constant.name.name) else {
+                    halt!(constant.span(), "Unknown constant {constant}");
+                };
+                match core_constant {
+                    CoreConstant::GroupGenerator => Some(Value::generator()),
+                }
+            }
+            Expression::Access(AccessExpression::Member(access)) => match &*access.inner {
+                Expression::Identifier(identifier) if identifier.name == sym::SelfLower => match access.name.name {
+                    sym::signer => Some(Value::Address(self.signer)),
+                    sym::caller => {
+                        if let Some(function_context) = self.contexts.last() {
+                            Some(Value::Address(function_context.caller))
+                        } else {
+                            Some(Value::Address(self.signer))
+                        }
+                    }
+                    _ => halt!(access.span(), "unknown member of self"),
+                },
+                Expression::Identifier(identifier) if identifier.name == sym::block => match access.name.name {
+                    sym::height => Some(Value::U32(self.block_height)),
+                    _ => halt!(access.span(), "unknown member of block"),
+                },
+
+                // Otherwise, we just have a normal struct member access.
+                _ if step == 0 => {
+                    push!()(&*access.inner);
+                    None
+                }
+                _ if step == 1 => {
+                    let Some(Value::Struct(struct_)) = self.values.pop() else {
+                        tc_fail!();
+                    };
+                    let value = struct_.contents.get(&access.name.name).cloned();
+                    if value.is_none() {
+                        tc_fail!();
+                    }
+                    value
+                }
+                _ => unreachable!("we've actually covered all possible patterns above"),
+            },
+            Expression::Access(AccessExpression::AssociatedFunction(function)) if step == 0 => {
+                let Some(core_function) = CoreFunction::from_symbols(function.variant.name, function.name.name) else {
+                    halt!(function.span(), "Unkown core function {function}");
+                };
+
+                // We want to push expressions for each of the arguments... except for mappings,
+                // because we don't look them up as Values.
+                match core_function {
+                    CoreFunction::MappingGet | CoreFunction::MappingRemove | CoreFunction::MappingContains => {
+                        push!()(&function.arguments[1]);
+                    }
+                    CoreFunction::MappingGetOrUse | CoreFunction::MappingSet => {
+                        push!()(&function.arguments[2]);
+                        push!()(&function.arguments[1]);
+                    }
+                    CoreFunction::CheatCodePrintMapping => {
+                        // Do nothing, as we don't need to evaluate the mapping.
+                    }
+                    _ => function.arguments.iter().rev().for_each(push!()),
+                }
+                None
+            }
+            Expression::Access(AccessExpression::AssociatedFunction(function)) if step == 1 => {
+                let Some(core_function) = CoreFunction::from_symbols(function.variant.name, function.name.name) else {
+                    halt!(function.span(), "Unkown core function {function}");
+                };
+
+                let span = function.span();
+
+                let value = self.evaluate_core_function(core_function.clone(), &function.arguments, span)?;
+
+                if let CoreFunction::FutureAwait = core_function {
+                    // For an await, we have one extra step - first we must evaluate the delayed call.
+                    None
+                } else {
+                    Some(value)
+                }
+            }
+            Expression::Access(AccessExpression::AssociatedFunction(function)) if step == 2 => {
+                let Some(core_function) = CoreFunction::from_symbols(function.variant.name, function.name.name) else {
+                    halt!(function.span(), "Unkown core function {function}");
+                };
+                assert!(core_function == CoreFunction::FutureAwait);
+                Some(Value::Unit)
+            }
+            Expression::Access(AccessExpression::Tuple(tuple_access)) if step == 0 => {
+                push!()(&*tuple_access.tuple);
+                None
+            }
+            Expression::Access(AccessExpression::Tuple(tuple_access)) if step == 1 => {
+                let Some(value) = self.values.pop() else { tc_fail!() };
+                let Value::Tuple(tuple) = value else {
+                    halt!(tuple_access.span(), "Type error");
+                };
+                if let Some(result) = tuple.get(tuple_access.index.value()) {
+                    Some(result.clone())
+                } else {
+                    halt!(tuple_access.span(), "Tuple index out of range");
+                }
+            }
+            Expression::Array(array) if step == 0 => {
+                array.elements.iter().rev().for_each(push!());
+                None
+            }
+            Expression::Array(array) if step == 1 => {
+                let len = self.values.len();
+                let array_values = self.values.drain(len - array.elements.len()..).collect();
+                Some(Value::Array(array_values))
+            }
+            Expression::Binary(binary) if step == 0 => {
+                push!()(&binary.right);
+                push!()(&binary.left);
+                None
+            }
+            Expression::Binary(binary) if step == 1 => {
+                let rhs = self.pop_value()?;
+                let lhs = self.pop_value()?;
+                Some(evaluate_binary(binary.span, binary.op, lhs, rhs)?)
+            }
+            Expression::Call(call) if step == 0 => {
+                call.arguments.iter().rev().for_each(push!());
+                None
+            }
+            Expression::Call(call) if step == 1 => {
+                let len = self.values.len();
+                let (program, name) = match &*call.function {
+                    Expression::Identifier(id) => {
+                        let maybe_program = call.program.or_else(|| self.current_program());
+                        if let Some(program) = maybe_program {
+                            (program, id.name)
+                        } else {
+                            halt!(call.span, "No current program");
+                        }
+                    }
+                    Expression::Locator(locator) => (locator.program.name.name, locator.name),
+                    _ => tc_fail!(),
+                };
+                // It's a bit cheesy to collect the arguments into a Vec first, but it's the easiest way
+                // to handle lifetimes here.
+                let arguments: Vec<Value> = self.values.drain(len - call.arguments.len()..).collect();
+                self.do_call(
+                    program,
+                    name,
+                    arguments.into_iter(),
+                    false, // finalize
+                    call.span(),
+                )?;
+                None
+            }
+            Expression::Call(_call) if step == 2 => Some(self.pop_value()?),
+            Expression::Cast(cast) if step == 0 => {
+                push!()(&*cast.expression);
+                None
+            }
+            Expression::Cast(cast) if step == 1 => {
+                let span = cast.span();
+                let arg = self.pop_value()?;
+                match arg.cast(&cast.type_) {
+                    Some(value) => Some(value),
+                    None => return Err(InterpreterHalt::new_spanned("cast failure".to_string(), span).into()),
+                }
+            }
+            Expression::Err(_) => todo!(),
+            Expression::Identifier(identifier) if step == 0 => {
+                Some(self.lookup(identifier.name).expect_tc(identifier.span())?)
+            }
+            Expression::Literal(literal) if step == 0 => Some(match literal {
+                Literal::Boolean(b, ..) => Value::Bool(*b),
+                Literal::Integer(IntegerType::U8, s, ..) => Value::U8(s.parse().expect_tc(literal.span())?),
+                Literal::Integer(IntegerType::U16, s, ..) => Value::U16(s.parse().expect_tc(literal.span())?),
+                Literal::Integer(IntegerType::U32, s, ..) => Value::U32(s.parse().expect_tc(literal.span())?),
+                Literal::Integer(IntegerType::U64, s, ..) => Value::U64(s.parse().expect_tc(literal.span())?),
+                Literal::Integer(IntegerType::U128, s, ..) => Value::U128(s.parse().expect_tc(literal.span())?),
+                Literal::Integer(IntegerType::I8, s, ..) => Value::I8(s.parse().expect_tc(literal.span())?),
+                Literal::Integer(IntegerType::I16, s, ..) => Value::I16(s.parse().expect_tc(literal.span())?),
+                Literal::Integer(IntegerType::I32, s, ..) => Value::I32(s.parse().expect_tc(literal.span())?),
+                Literal::Integer(IntegerType::I64, s, ..) => Value::I64(s.parse().expect_tc(literal.span())?),
+                Literal::Integer(IntegerType::I128, s, ..) => Value::I128(s.parse().expect_tc(literal.span())?),
+                Literal::Field(s, ..) => Value::Field(format!("{s}field").parse().expect_tc(literal.span())?),
+                Literal::Group(group_literal) => match &**group_literal {
+                    GroupLiteral::Single(s, ..) => Value::Group(format!("{s}group").parse().expect_tc(literal.span())?),
+                    GroupLiteral::Tuple(_group_tuple) => todo!(),
+                },
+                Literal::Address(s, ..) => {
+                    if s.ends_with(".aleo") {
+                        let program_id = ProgramID::from_str(s)?;
+                        Value::Address(program_id.to_address()?)
+                    } else {
+                        Value::Address(s.parse().expect_tc(literal.span())?)
+                    }
+                }
+                Literal::Scalar(s, ..) => Value::Scalar(format!("{s}scalar").parse().expect_tc(literal.span())?),
+                Literal::String(..) => tc_fail!(),
+            }),
+            Expression::Locator(_locator) => todo!(),
+            Expression::Struct(struct_) if step == 0 => {
+                struct_.members.iter().flat_map(|init| init.expression.as_ref()).for_each(push!());
+                None
+            }
+            Expression::Struct(struct_) if step == 1 => {
+                // Collect all the key/value pairs into a HashMap.
+                let mut contents_tmp = HashMap::with_capacity(struct_.members.len());
+                for initializer in struct_.members.iter() {
+                    let name = initializer.identifier.name;
+                    let value = if initializer.expression.is_some() {
+                        self.pop_value()?
+                    } else {
+                        self.lookup(name).expect_tc(struct_.span())?
+                    };
+                    contents_tmp.insert(name, value);
+                }
+
+                // And now put them into an IndexMap in the correct order.
+                let program = self.current_program().expect("there should be a current program");
+                let id = GlobalId { program, name: struct_.name.name };
+                let struct_type = self.structs.get(&id).expect_tc(struct_.span())?;
+                let contents = struct_type
+                    .iter()
+                    .map(|sym| (*sym, contents_tmp.remove(sym).expect("we just inserted this")))
+                    .collect();
+
+                Some(Value::Struct(StructContents { name: struct_.name.name, contents }))
+            }
+            Expression::Ternary(ternary) if step == 0 => {
+                push!()(&*ternary.condition);
+                None
+            }
+            Expression::Ternary(ternary) if step == 1 => {
+                let condition = self.pop_value()?;
+                match condition {
+                    Value::Bool(true) => push!()(&*ternary.if_true),
+                    Value::Bool(false) => push!()(&*ternary.if_false),
+                    _ => halt!(ternary.span(), "Invalid type for ternary expression {ternary}"),
+                }
+                None
+            }
+            Expression::Ternary(_) if step == 2 => Some(self.pop_value()?),
+            Expression::Tuple(tuple) if step == 0 => {
+                tuple.elements.iter().rev().for_each(push!());
+                None
+            }
+            Expression::Tuple(tuple) if step == 1 => {
+                let len = self.values.len();
+                let tuple_values = self.values.drain(len - tuple.elements.len()..).collect();
+                Some(Value::Tuple(tuple_values))
+            }
+            Expression::Unary(unary) if step == 0 => {
+                push!()(&*unary.receiver);
+                None
+            }
+            Expression::Unary(unary) if step == 1 => {
+                let value = self.pop_value()?;
+                Some(evaluate_unary(unary.span, unary.op, value)?)
+            }
+            Expression::Unit(_) if step == 0 => Some(Value::Unit),
+            x => unreachable!("Unexpected expression {x}"),
+        } {
+            assert_eq!(self.frames.len(), len);
+            self.frames.pop();
+            self.values.push(value);
+            Ok(true)
+        } else {
+            self.frames[len - 1].step += 1;
+            Ok(false)
+        }
+    }
+
+    /// Execute one step of the current element.
+    ///
+    /// Many Leo constructs require multiple steps. For instance, when executing a conditional,
+    /// the first step will push the condition expression to the stack. Once that has executed
+    /// and we've returned to the conditional, we push the `then` or `otherwise` block to the
+    /// stack. Once that has executed and we've returned to the conditional, the final step
+    /// does nothing.
+    pub fn step(&mut self) -> Result<StepResult> {
+        if self.frames.is_empty() {
+            return Err(InterpreterHalt::new("no execution frames available".into()).into());
+        }
+
+        let Frame { element, step, user_initiated } = self.frames.last().expect("there should be a frame");
+        let user_initiated = *user_initiated;
+        match element {
+            Element::Block { block, function_body } => {
+                let finished = self.step_block(block, *function_body, *step);
+                Ok(StepResult { finished, value: None })
+            }
+            Element::Statement(statement) => {
+                let finished = self.step_statement(statement, *step)?;
+                Ok(StepResult { finished, value: None })
+            }
+            Element::Expression(expression) => {
+                let finished = self.step_expression(expression, *step)?;
+                let value = match (finished, user_initiated) {
+                    (false, _) => None,
+                    (true, false) => self.values.last().cloned(),
+                    (true, true) => self.values.pop(),
+                };
+                let maybe_future = if let Some(Value::Tuple(vals)) = &value { vals.last() } else { value.as_ref() };
+
+                if let Some(Value::Future(future)) = &maybe_future {
+                    if user_initiated && !future.0.is_empty() {
+                        self.futures.push(future.clone());
+                    }
+                }
+                Ok(StepResult { finished, value })
+            }
+            Element::AleoExecution { .. } => {
+                self.step_aleo()?;
+                Ok(StepResult { finished: true, value: None })
+            }
+            Element::DelayedCall(gid) if *step == 0 => {
+                match self.lookup_function(gid.program, gid.name).expect("function should exist") {
+                    FunctionVariant::Leo(function) => {
+                        assert!(function.variant == Variant::AsyncFunction);
+                        let len = self.values.len();
+                        let values: Vec<Value> = self.values.drain(len - function.input.len()..).collect();
+                        self.contexts.push(
+                            gid.program,
+                            self.signer,
+                            true, // is_async
+                        );
+                        let param_names = function.input.iter().map(|input| input.identifier.name);
+                        for (name, value) in param_names.zip(values) {
+                            self.set_variable(name, value);
+                        }
+                        self.frames.last_mut().unwrap().step = 1;
+                        self.frames.push(Frame {
+                            step: 0,
+                            element: Element::Block { block: &function.block, function_body: true },
+                            user_initiated: false,
+                        });
+                        Ok(StepResult { finished: false, value: None })
+                    }
+                    FunctionVariant::AleoFunction(function) => {
+                        let Some(finalize_f) = function.finalize_logic() else {
+                            panic!("must have finalize logic for a delayed call");
+                        };
+                        let len = self.values.len();
+                        let values_iter = self.values.drain(len - finalize_f.inputs().len()..);
+                        self.contexts.push(
+                            gid.program,
+                            self.signer,
+                            true, // is_async
+                        );
+                        self.frames.last_mut().unwrap().step = 1;
+                        self.frames.push(Frame {
+                            step: 0,
+                            element: Element::AleoExecution {
+                                context: AleoContext::Finalize(finalize_f),
+                                registers: values_iter.enumerate().map(|(i, v)| (i as u64, v)).collect(),
+                                instruction_index: 0,
+                            },
+                            user_initiated: false,
+                        });
+                        Ok(StepResult { finished: false, value: None })
+                    }
+                    FunctionVariant::AleoClosure(..) => panic!("A call to a closure can't be delayed"),
+                }
+            }
+            Element::DelayedCall(_gid) => {
+                assert_eq!(*step, 1);
+                let value = self.values.pop();
+                self.frames.pop();
+                Ok(StepResult { finished: true, value })
+            }
+        }
+    }
+
+    pub fn do_call(
+        &mut self,
+        function_program: Symbol,
+        function_name: Symbol,
+        arguments: impl Iterator<Item = Value>,
+        finalize: bool,
+        span: Span,
+    ) -> Result<()> {
+        let Some(function_variant) = self.lookup_function(function_program, function_name) else {
+            halt!(span, "unknown function {function_program}.aleo/{function_name}");
+        };
+        match function_variant {
+            FunctionVariant::Leo(function) => {
+                let caller = if matches!(function.variant, Variant::Transition | Variant::AsyncTransition) {
+                    self.new_caller()
+                } else {
+                    self.signer
+                };
+                if self.really_async && function.variant == Variant::AsyncFunction {
+                    // Don't actually run the call now.
+                    let async_ex = AsyncExecution {
+                        function: GlobalId { name: function_name, program: function_program },
+                        arguments: arguments.collect(),
+                    };
+                    self.values.push(Value::Future(Future(vec![async_ex])));
+                } else {
+                    let is_async = function.variant == Variant::AsyncFunction;
+                    self.contexts.push(function_program, caller, is_async);
+                    let param_names = function.input.iter().map(|input| input.identifier.name);
+                    for (name, value) in param_names.zip(arguments) {
+                        self.set_variable(name, value);
+                    }
+                    self.frames.push(Frame {
+                        step: 0,
+                        element: Element::Block { block: &function.block, function_body: true },
+                        user_initiated: false,
+                    });
+                }
+            }
+            FunctionVariant::AleoClosure(closure) => {
+                self.contexts.push(function_program, self.signer, false);
+                let context = AleoContext::Closure(closure);
+                self.frames.push(Frame {
+                    step: 0,
+                    element: Element::AleoExecution {
+                        context,
+                        registers: arguments.enumerate().map(|(i, v)| (i as u64, v)).collect(),
+                        instruction_index: 0,
+                    },
+                    user_initiated: false,
+                });
+            }
+            FunctionVariant::AleoFunction(function) => {
+                let caller = self.new_caller();
+                self.contexts.push(function_program, caller, false);
+                let context = if finalize {
+                    let Some(finalize_f) = function.finalize_logic() else {
+                        panic!("finalize call with no finalize logic");
+                    };
+                    AleoContext::Finalize(finalize_f)
+                } else {
+                    AleoContext::Function(function)
+                };
+                self.frames.push(Frame {
+                    step: 0,
+                    element: Element::AleoExecution {
+                        context,
+                        registers: arguments.enumerate().map(|(i, v)| (i as u64, v)).collect(),
+                        instruction_index: 0,
+                    },
+                    user_initiated: false,
+                });
+            }
+        }
+
+        Ok(())
+    }
+
+    pub fn evaluate_core_function(
+        &mut self,
+        core_function: CoreFunction,
+        arguments: &[Expression],
+        span: Span,
+    ) -> Result<Value> {
+        macro_rules! apply {
+            ($func: expr, $value: ident, $to: ident) => {{
+                let v = self.pop_value()?;
+                let bits = v.$to();
+                Value::$value($func(&bits).expect_tc(span)?)
+            }};
+        }
+
+        macro_rules! apply_cast {
+            ($func: expr, $value: ident, $to: ident) => {{
+                let v = self.pop_value()?;
+                let bits = v.$to();
+                let group = $func(&bits).expect_tc(span)?;
+                let x = group.to_x_coordinate();
+                Value::$value(x.cast_lossy())
+            }};
+        }
+
+        macro_rules! apply_cast_int {
+            ($func: expr, $value: ident, $int_ty: ident, $to: ident) => {{
+                let v = self.pop_value()?;
+                let bits = v.$to();
+                let group = $func(&bits).expect_tc(span)?;
+                let x = group.to_x_coordinate();
+                let bits = x.to_bits_le();
+                let mut result: $int_ty = 0;
+                for bit in 0..std::cmp::min($int_ty::BITS as usize, bits.len()) {
+                    let setbit = (if bits[bit] { 1 } else { 0 }) << bit;
+                    result |= setbit;
+                }
+                Value::$value(result)
+            }};
+        }
+
+        macro_rules! apply_cast2 {
+            ($func: expr, $value: ident) => {{
+                let Value::Scalar(randomizer) = self.pop_value()? else {
+                    tc_fail!();
+                };
+                let v = self.pop_value()?;
+                let bits = v.to_bits_le();
+                let group = $func(&bits, &randomizer).expect_tc(span)?;
+                let x = group.to_x_coordinate();
+                Value::$value(x.cast_lossy())
+            }};
+        }
+
+        let value = match core_function {
+            CoreFunction::BHP256CommitToAddress => {
+                apply_cast2!(TestnetV0::commit_to_group_bhp256, Address)
+            }
+            CoreFunction::BHP256CommitToField => {
+                apply_cast2!(TestnetV0::commit_to_group_bhp256, Field)
+            }
+            CoreFunction::BHP256CommitToGroup => {
+                apply_cast2!(TestnetV0::commit_to_group_bhp256, Group)
+            }
+            CoreFunction::BHP256HashToAddress => {
+                apply_cast!(TestnetV0::hash_to_group_bhp256, Address, to_bits_le)
+            }
+            CoreFunction::BHP256HashToField => apply!(TestnetV0::hash_bhp256, Field, to_bits_le),
+            CoreFunction::BHP256HashToGroup => apply!(TestnetV0::hash_to_group_bhp256, Group, to_bits_le),
+            CoreFunction::BHP256HashToI8 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp256, I8, i8, to_bits_le)
+            }
+            CoreFunction::BHP256HashToI16 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp256, I16, i16, to_bits_le)
+            }
+            CoreFunction::BHP256HashToI32 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp256, I32, i32, to_bits_le)
+            }
+            CoreFunction::BHP256HashToI64 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp256, I64, i64, to_bits_le)
+            }
+            CoreFunction::BHP256HashToI128 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp256, I128, i128, to_bits_le)
+            }
+            CoreFunction::BHP256HashToU8 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp256, U8, u8, to_bits_le)
+            }
+            CoreFunction::BHP256HashToU16 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp256, U16, u16, to_bits_le)
+            }
+            CoreFunction::BHP256HashToU32 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp256, U32, u32, to_bits_le)
+            }
+            CoreFunction::BHP256HashToU64 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp256, U64, u64, to_bits_le)
+            }
+            CoreFunction::BHP256HashToU128 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp256, U128, u128, to_bits_le)
+            }
+            CoreFunction::BHP256HashToScalar => {
+                apply_cast!(TestnetV0::hash_to_group_bhp256, Scalar, to_bits_le)
+            }
+            CoreFunction::BHP512CommitToAddress => {
+                apply_cast2!(TestnetV0::commit_to_group_bhp512, Address)
+            }
+            CoreFunction::BHP512CommitToField => {
+                apply_cast2!(TestnetV0::commit_to_group_bhp512, Field)
+            }
+            CoreFunction::BHP512CommitToGroup => {
+                apply_cast2!(TestnetV0::commit_to_group_bhp512, Group)
+            }
+            CoreFunction::BHP512HashToAddress => {
+                apply_cast!(TestnetV0::hash_to_group_bhp512, Address, to_bits_le)
+            }
+            CoreFunction::BHP512HashToField => apply!(TestnetV0::hash_bhp512, Field, to_bits_le),
+            CoreFunction::BHP512HashToGroup => apply!(TestnetV0::hash_to_group_bhp512, Group, to_bits_le),
+            CoreFunction::BHP512HashToI8 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp512, I8, i8, to_bits_le)
+            }
+            CoreFunction::BHP512HashToI16 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp512, I16, i16, to_bits_le)
+            }
+            CoreFunction::BHP512HashToI32 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp512, I32, i32, to_bits_le)
+            }
+            CoreFunction::BHP512HashToI64 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp512, I64, i64, to_bits_le)
+            }
+            CoreFunction::BHP512HashToI128 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp512, I128, i128, to_bits_le)
+            }
+            CoreFunction::BHP512HashToU8 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp512, U8, u8, to_bits_le)
+            }
+            CoreFunction::BHP512HashToU16 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp512, U16, u16, to_bits_le)
+            }
+            CoreFunction::BHP512HashToU32 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp512, U32, u32, to_bits_le)
+            }
+            CoreFunction::BHP512HashToU64 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp512, U64, u64, to_bits_le)
+            }
+            CoreFunction::BHP512HashToU128 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp512, U128, u128, to_bits_le)
+            }
+            CoreFunction::BHP512HashToScalar => {
+                apply_cast!(TestnetV0::hash_to_group_bhp512, Scalar, to_bits_le)
+            }
+            CoreFunction::BHP768CommitToAddress => {
+                apply_cast2!(TestnetV0::commit_to_group_bhp768, Address)
+            }
+            CoreFunction::BHP768CommitToField => {
+                apply_cast2!(TestnetV0::commit_to_group_bhp768, Field)
+            }
+            CoreFunction::BHP768CommitToGroup => {
+                apply_cast2!(TestnetV0::commit_to_group_bhp768, Group)
+            }
+            CoreFunction::BHP768HashToAddress => {
+                apply_cast!(TestnetV0::hash_to_group_bhp768, Address, to_bits_le)
+            }
+            CoreFunction::BHP768HashToField => apply!(TestnetV0::hash_bhp768, Field, to_bits_le),
+            CoreFunction::BHP768HashToGroup => apply!(TestnetV0::hash_to_group_bhp768, Group, to_bits_le),
+            CoreFunction::BHP768HashToI8 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp768, I8, i8, to_bits_le)
+            }
+            CoreFunction::BHP768HashToI16 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp768, I16, i16, to_bits_le)
+            }
+            CoreFunction::BHP768HashToI32 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp768, I32, i32, to_bits_le)
+            }
+            CoreFunction::BHP768HashToI64 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp768, I64, i64, to_bits_le)
+            }
+            CoreFunction::BHP768HashToI128 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp768, I128, i128, to_bits_le)
+            }
+            CoreFunction::BHP768HashToU8 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp768, U8, u8, to_bits_le)
+            }
+            CoreFunction::BHP768HashToU16 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp768, U16, u16, to_bits_le)
+            }
+            CoreFunction::BHP768HashToU32 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp768, U32, u32, to_bits_le)
+            }
+            CoreFunction::BHP768HashToU64 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp768, U64, u64, to_bits_le)
+            }
+            CoreFunction::BHP768HashToU128 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp768, U128, u128, to_bits_le)
+            }
+            CoreFunction::BHP768HashToScalar => {
+                apply_cast!(TestnetV0::hash_to_group_bhp768, Scalar, to_bits_le)
+            }
+            CoreFunction::BHP1024CommitToAddress => {
+                apply_cast2!(TestnetV0::commit_to_group_bhp1024, Address)
+            }
+            CoreFunction::BHP1024CommitToField => {
+                apply_cast2!(TestnetV0::commit_to_group_bhp1024, Field)
+            }
+            CoreFunction::BHP1024CommitToGroup => {
+                apply_cast2!(TestnetV0::commit_to_group_bhp1024, Group)
+            }
+            CoreFunction::BHP1024HashToAddress => {
+                apply_cast!(TestnetV0::hash_to_group_bhp1024, Address, to_bits_le)
+            }
+            CoreFunction::BHP1024HashToField => apply!(TestnetV0::hash_bhp1024, Field, to_bits_le),
+            CoreFunction::BHP1024HashToGroup => apply!(TestnetV0::hash_to_group_bhp1024, Group, to_bits_le),
+            CoreFunction::BHP1024HashToI8 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp1024, I8, i8, to_bits_le)
+            }
+            CoreFunction::BHP1024HashToI16 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp1024, I16, i16, to_bits_le)
+            }
+            CoreFunction::BHP1024HashToI32 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp1024, I32, i32, to_bits_le)
+            }
+            CoreFunction::BHP1024HashToI64 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp1024, I64, i64, to_bits_le)
+            }
+            CoreFunction::BHP1024HashToI128 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp1024, I128, i128, to_bits_le)
+            }
+            CoreFunction::BHP1024HashToU8 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp1024, U8, u8, to_bits_le)
+            }
+            CoreFunction::BHP1024HashToU16 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp1024, U16, u16, to_bits_le)
+            }
+            CoreFunction::BHP1024HashToU32 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp1024, U32, u32, to_bits_le)
+            }
+            CoreFunction::BHP1024HashToU64 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp1024, U64, u64, to_bits_le)
+            }
+            CoreFunction::BHP1024HashToU128 => {
+                apply_cast_int!(TestnetV0::hash_to_group_bhp1024, U128, u128, to_bits_le)
+            }
+            CoreFunction::BHP1024HashToScalar => {
+                apply_cast!(TestnetV0::hash_to_group_bhp1024, Scalar, to_bits_le)
+            }
+            CoreFunction::ChaChaRandAddress => Value::Address(self.rng.gen()),
+            CoreFunction::ChaChaRandBool => Value::Bool(self.rng.gen()),
+            CoreFunction::ChaChaRandField => Value::Field(self.rng.gen()),
+            CoreFunction::ChaChaRandGroup => Value::Group(self.rng.gen()),
+            CoreFunction::ChaChaRandI8 => Value::I8(self.rng.gen()),
+            CoreFunction::ChaChaRandI16 => Value::I16(self.rng.gen()),
+            CoreFunction::ChaChaRandI32 => Value::I32(self.rng.gen()),
+            CoreFunction::ChaChaRandI64 => Value::I64(self.rng.gen()),
+            CoreFunction::ChaChaRandI128 => Value::I128(self.rng.gen()),
+            CoreFunction::ChaChaRandU8 => Value::U8(self.rng.gen()),
+            CoreFunction::ChaChaRandU16 => Value::U16(self.rng.gen()),
+            CoreFunction::ChaChaRandU32 => Value::U32(self.rng.gen()),
+            CoreFunction::ChaChaRandU64 => Value::U64(self.rng.gen()),
+            CoreFunction::ChaChaRandU128 => Value::U128(self.rng.gen()),
+            CoreFunction::ChaChaRandScalar => Value::Scalar(self.rng.gen()),
+            CoreFunction::Keccak256HashToAddress => apply_cast!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_keccak256(v).expect_tc(span)?),
+                Address,
+                to_bits_le
+            ),
+            CoreFunction::Keccak256HashToField => apply_cast!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_keccak256(v).expect_tc(span)?),
+                Field,
+                to_bits_le
+            ),
+            CoreFunction::Keccak256HashToGroup => {
+                apply!(
+                    |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_keccak256(v).expect_tc(span)?),
+                    Group,
+                    to_bits_le
+                )
+            }
+            CoreFunction::Keccak256HashToI8 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_keccak256(v).expect_tc(span)?),
+                I8,
+                i8,
+                to_bits_le
+            ),
+            CoreFunction::Keccak256HashToI16 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_keccak256(v).expect_tc(span)?),
+                I16,
+                i16,
+                to_bits_le
+            ),
+
+            CoreFunction::Keccak256HashToI32 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_keccak256(v).expect_tc(span)?),
+                I32,
+                i32,
+                to_bits_le
+            ),
+            CoreFunction::Keccak256HashToI64 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_keccak256(v).expect_tc(span)?),
+                I64,
+                i64,
+                to_bits_le
+            ),
+            CoreFunction::Keccak256HashToI128 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_keccak256(v).expect_tc(span)?),
+                I128,
+                i128,
+                to_bits_le
+            ),
+            CoreFunction::Keccak256HashToU8 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_keccak256(v).expect_tc(span)?),
+                U8,
+                u8,
+                to_bits_le
+            ),
+            CoreFunction::Keccak256HashToU16 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_keccak256(v).expect_tc(span)?),
+                U16,
+                u16,
+                to_bits_le
+            ),
+            CoreFunction::Keccak256HashToU32 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_keccak256(v).expect_tc(span)?),
+                U32,
+                u32,
+                to_bits_le
+            ),
+            CoreFunction::Keccak256HashToU64 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_keccak256(v).expect_tc(span)?),
+                U64,
+                u64,
+                to_bits_le
+            ),
+            CoreFunction::Keccak256HashToU128 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_keccak256(v).expect_tc(span)?),
+                U128,
+                u128,
+                to_bits_le
+            ),
+            CoreFunction::Keccak256HashToScalar => apply_cast!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_keccak256(v).expect_tc(span)?),
+                Scalar,
+                to_bits_le
+            ),
+            CoreFunction::Keccak384HashToAddress => apply_cast!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak384(v).expect_tc(span)?),
+                Address,
+                to_bits_le
+            ),
+            CoreFunction::Keccak384HashToField => apply_cast!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak384(v).expect_tc(span)?),
+                Field,
+                to_bits_le
+            ),
+            CoreFunction::Keccak384HashToGroup => {
+                apply!(
+                    |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak384(v).expect_tc(span)?),
+                    Group,
+                    to_bits_le
+                )
+            }
+            CoreFunction::Keccak384HashToI8 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak384(v).expect_tc(span)?),
+                I8,
+                i8,
+                to_bits_le
+            ),
+            CoreFunction::Keccak384HashToI16 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak384(v).expect_tc(span)?),
+                I16,
+                i16,
+                to_bits_le
+            ),
+            CoreFunction::Keccak384HashToI32 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak384(v).expect_tc(span)?),
+                I32,
+                i32,
+                to_bits_le
+            ),
+            CoreFunction::Keccak384HashToI64 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak384(v).expect_tc(span)?),
+                I64,
+                i64,
+                to_bits_le
+            ),
+            CoreFunction::Keccak384HashToI128 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak384(v).expect_tc(span)?),
+                I128,
+                i128,
+                to_bits_le
+            ),
+            CoreFunction::Keccak384HashToU8 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak384(v).expect_tc(span)?),
+                U8,
+                u8,
+                to_bits_le
+            ),
+            CoreFunction::Keccak384HashToU16 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak384(v).expect_tc(span)?),
+                U16,
+                u16,
+                to_bits_le
+            ),
+            CoreFunction::Keccak384HashToU32 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak384(v).expect_tc(span)?),
+                U32,
+                u32,
+                to_bits_le
+            ),
+            CoreFunction::Keccak384HashToU64 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak384(v).expect_tc(span)?),
+                U64,
+                u64,
+                to_bits_le
+            ),
+            CoreFunction::Keccak384HashToU128 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak384(v).expect_tc(span)?),
+                U128,
+                u128,
+                to_bits_le
+            ),
+            CoreFunction::Keccak384HashToScalar => apply_cast!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak384(v).expect_tc(span)?),
+                Scalar,
+                to_bits_le
+            ),
+            CoreFunction::Keccak512HashToAddress => apply_cast!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak512(v).expect_tc(span)?),
+                Address,
+                to_bits_le
+            ),
+            CoreFunction::Keccak512HashToField => apply_cast!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak512(v).expect_tc(span)?),
+                Field,
+                to_bits_le
+            ),
+            CoreFunction::Keccak512HashToGroup => {
+                apply!(
+                    |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak512(v).expect_tc(span)?),
+                    Group,
+                    to_bits_le
+                )
+            }
+            CoreFunction::Keccak512HashToI8 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak512(v).expect_tc(span)?),
+                I8,
+                i8,
+                to_bits_le
+            ),
+            CoreFunction::Keccak512HashToI16 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak512(v).expect_tc(span)?),
+                I16,
+                i16,
+                to_bits_le
+            ),
+            CoreFunction::Keccak512HashToI32 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak512(v).expect_tc(span)?),
+                I32,
+                i32,
+                to_bits_le
+            ),
+            CoreFunction::Keccak512HashToI64 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak512(v).expect_tc(span)?),
+                I64,
+                i64,
+                to_bits_le
+            ),
+            CoreFunction::Keccak512HashToI128 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak512(v).expect_tc(span)?),
+                I128,
+                i128,
+                to_bits_le
+            ),
+            CoreFunction::Keccak512HashToU8 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak512(v).expect_tc(span)?),
+                U8,
+                u8,
+                to_bits_le
+            ),
+            CoreFunction::Keccak512HashToU16 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak512(v).expect_tc(span)?),
+                U16,
+                u16,
+                to_bits_le
+            ),
+            CoreFunction::Keccak512HashToU32 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak512(v).expect_tc(span)?),
+                U32,
+                u32,
+                to_bits_le
+            ),
+            CoreFunction::Keccak512HashToU64 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak512(v).expect_tc(span)?),
+                U64,
+                u64,
+                to_bits_le
+            ),
+            CoreFunction::Keccak512HashToU128 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak512(v).expect_tc(span)?),
+                U128,
+                u128,
+                to_bits_le
+            ),
+            CoreFunction::Keccak512HashToScalar => apply_cast!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_keccak512(v).expect_tc(span)?),
+                Scalar,
+                to_bits_le
+            ),
+            CoreFunction::Pedersen64CommitToAddress => {
+                apply_cast2!(TestnetV0::commit_to_group_ped64, Address)
+            }
+            CoreFunction::Pedersen64CommitToField => {
+                apply_cast2!(TestnetV0::commit_to_group_ped64, Field)
+            }
+            CoreFunction::Pedersen64CommitToGroup => {
+                apply_cast2!(TestnetV0::commit_to_group_ped64, Group)
+            }
+            CoreFunction::Pedersen64HashToAddress => {
+                apply_cast!(TestnetV0::hash_to_group_ped64, Address, to_bits_le)
+            }
+            CoreFunction::Pedersen64HashToField => apply!(TestnetV0::hash_ped64, Field, to_bits_le),
+            CoreFunction::Pedersen64HashToGroup => apply!(TestnetV0::hash_to_group_ped64, Group, to_bits_le),
+            CoreFunction::Pedersen64HashToI8 => {
+                apply_cast_int!(TestnetV0::hash_to_group_ped64, I8, i8, to_bits_le)
+            }
+            CoreFunction::Pedersen64HashToI16 => {
+                apply_cast_int!(TestnetV0::hash_to_group_ped64, I16, i16, to_bits_le)
+            }
+            CoreFunction::Pedersen64HashToI32 => {
+                apply_cast_int!(TestnetV0::hash_to_group_ped64, I32, i32, to_bits_le)
+            }
+            CoreFunction::Pedersen64HashToI64 => {
+                apply_cast_int!(TestnetV0::hash_to_group_ped64, I64, i64, to_bits_le)
+            }
+            CoreFunction::Pedersen64HashToI128 => {
+                apply_cast_int!(TestnetV0::hash_to_group_ped64, I128, i128, to_bits_le)
+            }
+            CoreFunction::Pedersen64HashToU8 => {
+                apply_cast_int!(TestnetV0::hash_to_group_ped64, U8, u8, to_bits_le)
+            }
+            CoreFunction::Pedersen64HashToU16 => {
+                apply_cast_int!(TestnetV0::hash_to_group_ped64, U16, u16, to_bits_le)
+            }
+            CoreFunction::Pedersen64HashToU32 => {
+                apply_cast_int!(TestnetV0::hash_to_group_ped64, U32, u32, to_bits_le)
+            }
+            CoreFunction::Pedersen64HashToU64 => {
+                apply_cast_int!(TestnetV0::hash_to_group_ped64, U64, u64, to_bits_le)
+            }
+            CoreFunction::Pedersen64HashToU128 => {
+                apply_cast_int!(TestnetV0::hash_to_group_ped64, U128, u128, to_bits_le)
+            }
+            CoreFunction::Pedersen64HashToScalar => {
+                apply_cast!(TestnetV0::hash_to_group_ped64, Scalar, to_bits_le)
+            }
+            CoreFunction::Pedersen128HashToAddress => {
+                apply_cast!(TestnetV0::hash_to_group_ped128, Address, to_bits_le)
+            }
+            CoreFunction::Pedersen128HashToField => {
+                apply_cast!(TestnetV0::hash_to_group_ped128, Field, to_bits_le)
+            }
+            CoreFunction::Pedersen128HashToGroup => {
+                apply_cast!(TestnetV0::hash_to_group_ped128, Group, to_bits_le)
+            }
+            CoreFunction::Pedersen128HashToI8 => {
+                apply_cast_int!(TestnetV0::hash_to_group_ped128, I8, i8, to_bits_le)
+            }
+            CoreFunction::Pedersen128HashToI16 => {
+                apply_cast_int!(TestnetV0::hash_to_group_ped64, I16, i16, to_bits_le)
+            }
+            CoreFunction::Pedersen128HashToI32 => {
+                apply_cast_int!(TestnetV0::hash_to_group_ped128, I32, i32, to_bits_le)
+            }
+            CoreFunction::Pedersen128HashToI64 => {
+                apply_cast_int!(TestnetV0::hash_to_group_ped64, I64, i64, to_bits_le)
+            }
+            CoreFunction::Pedersen128HashToI128 => {
+                apply_cast_int!(TestnetV0::hash_to_group_ped128, I128, i128, to_bits_le)
+            }
+            CoreFunction::Pedersen128HashToU8 => {
+                apply_cast_int!(TestnetV0::hash_to_group_ped128, U8, u8, to_bits_le)
+            }
+            CoreFunction::Pedersen128HashToU16 => {
+                apply_cast_int!(TestnetV0::hash_to_group_ped64, U16, u16, to_bits_le)
+            }
+            CoreFunction::Pedersen128HashToU32 => {
+                apply_cast_int!(TestnetV0::hash_to_group_ped128, U32, u32, to_bits_le)
+            }
+            CoreFunction::Pedersen128HashToU64 => {
+                apply_cast_int!(TestnetV0::hash_to_group_ped64, U64, u64, to_bits_le)
+            }
+            CoreFunction::Pedersen128HashToU128 => {
+                apply_cast_int!(TestnetV0::hash_to_group_ped128, U128, u128, to_bits_le)
+            }
+            CoreFunction::Pedersen128HashToScalar => {
+                apply_cast!(TestnetV0::hash_to_group_ped128, Scalar, to_bits_le)
+            }
+            CoreFunction::Pedersen128CommitToAddress => {
+                apply_cast2!(TestnetV0::commit_to_group_ped128, Address)
+            }
+            CoreFunction::Pedersen128CommitToField => {
+                apply_cast2!(TestnetV0::commit_to_group_ped128, Field)
+            }
+            CoreFunction::Pedersen128CommitToGroup => {
+                apply_cast2!(TestnetV0::commit_to_group_ped128, Group)
+            }
+            CoreFunction::Poseidon2HashToAddress => {
+                apply_cast!(TestnetV0::hash_to_group_psd2, Address, to_fields)
+            }
+            CoreFunction::Poseidon2HashToField => {
+                apply!(TestnetV0::hash_psd2, Field, to_fields)
+            }
+            CoreFunction::Poseidon2HashToGroup => {
+                apply_cast!(TestnetV0::hash_to_group_psd2, Group, to_fields)
+            }
+            CoreFunction::Poseidon2HashToI8 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd2, I8, i8, to_fields)
+            }
+            CoreFunction::Poseidon2HashToI16 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd2, I16, i16, to_fields)
+            }
+            CoreFunction::Poseidon2HashToI32 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd2, I32, i32, to_fields)
+            }
+            CoreFunction::Poseidon2HashToI64 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd2, I64, i64, to_fields)
+            }
+            CoreFunction::Poseidon2HashToI128 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd2, I128, i128, to_fields)
+            }
+            CoreFunction::Poseidon2HashToU8 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd2, U8, u8, to_fields)
+            }
+            CoreFunction::Poseidon2HashToU16 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd2, U16, u16, to_fields)
+            }
+            CoreFunction::Poseidon2HashToU32 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd2, U32, u32, to_fields)
+            }
+            CoreFunction::Poseidon2HashToU64 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd2, U64, u64, to_fields)
+            }
+            CoreFunction::Poseidon2HashToU128 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd2, U128, u128, to_fields)
+            }
+            CoreFunction::Poseidon2HashToScalar => {
+                apply_cast!(TestnetV0::hash_to_group_psd4, Scalar, to_fields)
+            }
+            CoreFunction::Poseidon4HashToAddress => {
+                apply_cast!(TestnetV0::hash_to_group_psd4, Address, to_fields)
+            }
+            CoreFunction::Poseidon4HashToField => {
+                apply!(TestnetV0::hash_psd4, Field, to_fields)
+            }
+            CoreFunction::Poseidon4HashToGroup => {
+                apply_cast!(TestnetV0::hash_to_group_psd4, Group, to_fields)
+            }
+            CoreFunction::Poseidon4HashToI8 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd4, I8, i8, to_fields)
+            }
+            CoreFunction::Poseidon4HashToI16 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd4, I16, i16, to_fields)
+            }
+            CoreFunction::Poseidon4HashToI32 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd4, I32, i32, to_fields)
+            }
+            CoreFunction::Poseidon4HashToI64 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd4, I64, i64, to_fields)
+            }
+            CoreFunction::Poseidon4HashToI128 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd4, I128, i128, to_fields)
+            }
+            CoreFunction::Poseidon4HashToU8 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd4, U8, u8, to_fields)
+            }
+            CoreFunction::Poseidon4HashToU16 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd4, U16, u16, to_fields)
+            }
+            CoreFunction::Poseidon4HashToU32 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd4, U32, u32, to_fields)
+            }
+            CoreFunction::Poseidon4HashToU64 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd4, U64, u64, to_fields)
+            }
+            CoreFunction::Poseidon4HashToU128 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd4, U128, u128, to_fields)
+            }
+            CoreFunction::Poseidon4HashToScalar => {
+                apply_cast!(TestnetV0::hash_to_group_psd4, Scalar, to_fields)
+            }
+            CoreFunction::Poseidon8HashToAddress => {
+                apply_cast!(TestnetV0::hash_to_group_psd8, Address, to_fields)
+            }
+            CoreFunction::Poseidon8HashToField => {
+                apply!(TestnetV0::hash_psd8, Field, to_fields)
+            }
+            CoreFunction::Poseidon8HashToGroup => {
+                apply_cast!(TestnetV0::hash_to_group_psd8, Group, to_fields)
+            }
+            CoreFunction::Poseidon8HashToI8 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd8, I8, i8, to_fields)
+            }
+            CoreFunction::Poseidon8HashToI16 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd8, I16, i16, to_fields)
+            }
+            CoreFunction::Poseidon8HashToI32 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd8, I32, i32, to_fields)
+            }
+            CoreFunction::Poseidon8HashToI64 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd8, I64, i64, to_fields)
+            }
+            CoreFunction::Poseidon8HashToI128 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd8, I128, i128, to_fields)
+            }
+            CoreFunction::Poseidon8HashToU8 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd8, U8, u8, to_fields)
+            }
+            CoreFunction::Poseidon8HashToU16 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd8, U16, u16, to_fields)
+            }
+            CoreFunction::Poseidon8HashToU32 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd8, U32, u32, to_fields)
+            }
+            CoreFunction::Poseidon8HashToU64 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd8, U64, u64, to_fields)
+            }
+            CoreFunction::Poseidon8HashToU128 => {
+                apply_cast_int!(TestnetV0::hash_to_group_psd8, U128, u128, to_fields)
+            }
+            CoreFunction::Poseidon8HashToScalar => {
+                apply_cast!(TestnetV0::hash_to_group_psd8, Scalar, to_fields)
+            }
+            CoreFunction::SHA3_256HashToAddress => apply_cast!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_sha3_256(v).expect_tc(span)?),
+                Address,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_256HashToField => apply_cast!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_sha3_256(v).expect_tc(span)?),
+                Field,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_256HashToGroup => apply_cast!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_sha3_256(v).expect_tc(span)?),
+                Group,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_256HashToI8 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_sha3_256(v).expect_tc(span)?),
+                I8,
+                i8,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_256HashToI16 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_sha3_256(v).expect_tc(span)?),
+                I16,
+                i16,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_256HashToI32 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_sha3_256(v).expect_tc(span)?),
+                I32,
+                i32,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_256HashToI64 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_sha3_256(v).expect_tc(span)?),
+                I64,
+                i64,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_256HashToI128 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_sha3_256(v).expect_tc(span)?),
+                I128,
+                i128,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_256HashToU8 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_sha3_256(v).expect_tc(span)?),
+                U8,
+                u8,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_256HashToU16 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_sha3_256(v).expect_tc(span)?),
+                U16,
+                u16,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_256HashToU32 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_sha3_256(v).expect_tc(span)?),
+                U32,
+                u32,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_256HashToU64 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_sha3_256(v).expect_tc(span)?),
+                U64,
+                u64,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_256HashToU128 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_sha3_256(v).expect_tc(span)?),
+                U128,
+                u128,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_256HashToScalar => apply_cast!(
+                |v| TestnetV0::hash_to_group_bhp256(&TestnetV0::hash_sha3_256(v).expect_tc(span)?),
+                Scalar,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_384HashToAddress => apply_cast!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_384(v).expect_tc(span)?),
+                Address,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_384HashToField => apply_cast!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_384(v).expect_tc(span)?),
+                Field,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_384HashToGroup => apply_cast!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_384(v).expect_tc(span)?),
+                Group,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_384HashToI8 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_384(v).expect_tc(span)?),
+                I8,
+                i8,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_384HashToI16 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_384(v).expect_tc(span)?),
+                I16,
+                i16,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_384HashToI32 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_384(v).expect_tc(span)?),
+                I32,
+                i32,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_384HashToI64 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_384(v).expect_tc(span)?),
+                I64,
+                i64,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_384HashToI128 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_384(v).expect_tc(span)?),
+                I128,
+                i128,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_384HashToU8 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_384(v).expect_tc(span)?),
+                U8,
+                u8,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_384HashToU16 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_384(v).expect_tc(span)?),
+                U16,
+                u16,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_384HashToU32 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_384(v).expect_tc(span)?),
+                U32,
+                u32,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_384HashToU64 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_384(v).expect_tc(span)?),
+                U64,
+                u64,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_384HashToU128 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_384(v).expect_tc(span)?),
+                U128,
+                u128,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_384HashToScalar => apply_cast!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_384(v).expect_tc(span)?),
+                Scalar,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_512HashToAddress => apply_cast!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_512(v).expect_tc(span)?),
+                Address,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_512HashToField => apply_cast!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_512(v).expect_tc(span)?),
+                Field,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_512HashToGroup => apply_cast!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_512(v).expect_tc(span)?),
+                Group,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_512HashToI8 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_512(v).expect_tc(span)?),
+                I8,
+                i8,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_512HashToI16 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_512(v).expect_tc(span)?),
+                I16,
+                i16,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_512HashToI32 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_512(v).expect_tc(span)?),
+                I32,
+                i32,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_512HashToI64 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_512(v).expect_tc(span)?),
+                I64,
+                i64,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_512HashToI128 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_512(v).expect_tc(span)?),
+                I128,
+                i128,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_512HashToU8 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_512(v).expect_tc(span)?),
+                U8,
+                u8,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_512HashToU16 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_512(v).expect_tc(span)?),
+                U16,
+                u16,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_512HashToU32 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_512(v).expect_tc(span)?),
+                U32,
+                u32,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_512HashToU64 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_512(v).expect_tc(span)?),
+                U64,
+                u64,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_512HashToU128 => apply_cast_int!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_512(v).expect_tc(span)?),
+                U128,
+                u128,
+                to_bits_le
+            ),
+            CoreFunction::SHA3_512HashToScalar => apply_cast!(
+                |v| TestnetV0::hash_to_group_bhp512(&TestnetV0::hash_sha3_512(v).expect_tc(span)?),
+                Scalar,
+                to_bits_le
+            ),
+            CoreFunction::MappingGet => {
+                let key = self.values.pop().expect_tc(span)?;
+                let (program, name) = match &arguments[0] {
+                    Expression::Identifier(id) => (None, id.name),
+                    Expression::Locator(locator) => (Some(locator.program.name.name), locator.name),
+                    _ => tc_fail!(),
+                };
+                match self.lookup_mapping(program, name).and_then(|mapping| mapping.get(&key)) {
+                    Some(v) => v.clone(),
+                    None => halt!(span, "map lookup failure"),
+                }
+            }
+            CoreFunction::MappingGetOrUse => {
+                let use_value = self.values.pop().expect_tc(span)?;
+                let key = self.values.pop().expect_tc(span)?;
+                let (program, name) = match &arguments[0] {
+                    Expression::Identifier(id) => (None, id.name),
+                    Expression::Locator(locator) => (Some(locator.program.name.name), locator.name),
+                    _ => tc_fail!(),
+                };
+                match self.lookup_mapping(program, name).and_then(|mapping| mapping.get(&key)) {
+                    Some(v) => v.clone(),
+                    None => use_value,
+                }
+            }
+            CoreFunction::MappingSet => {
+                let value = self.pop_value()?;
+                let key = self.pop_value()?;
+                let (program, name) = match &arguments[0] {
+                    Expression::Identifier(id) => (None, id.name),
+                    Expression::Locator(locator) => (Some(locator.program.name.name), locator.name),
+                    _ => tc_fail!(),
+                };
+                if let Some(mapping) = self.lookup_mapping_mut(program, name) {
+                    mapping.insert(key, value);
+                } else {
+                    tc_fail!();
+                }
+                Value::Unit
+            }
+            CoreFunction::MappingRemove => {
+                let key = self.pop_value()?;
+                let (program, name) = match &arguments[0] {
+                    Expression::Identifier(id) => (None, id.name),
+                    Expression::Locator(locator) => (Some(locator.program.name.name), locator.name),
+                    _ => tc_fail!(),
+                };
+                if let Some(mapping) = self.lookup_mapping_mut(program, name) {
+                    mapping.remove(&key);
+                } else {
+                    tc_fail!();
+                }
+                Value::Unit
+            }
+            CoreFunction::MappingContains => {
+                let key = self.pop_value()?;
+                let (program, name) = match &arguments[0] {
+                    Expression::Identifier(id) => (None, id.name),
+                    Expression::Locator(locator) => (Some(locator.program.name.name), locator.name),
+                    _ => tc_fail!(),
+                };
+                if let Some(mapping) = self.lookup_mapping_mut(program, name) {
+                    Value::Bool(mapping.contains_key(&key))
+                } else {
+                    tc_fail!();
+                }
+            }
+            CoreFunction::GroupToXCoordinate => {
+                let Value::Group(g) = self.pop_value()? else {
+                    tc_fail!();
+                };
+                Value::Field(g.to_x_coordinate())
+            }
+            CoreFunction::GroupToYCoordinate => {
+                let Value::Group(g) = self.pop_value()? else {
+                    tc_fail!();
+                };
+                Value::Field(g.to_y_coordinate())
+            }
+            CoreFunction::SignatureVerify => todo!(),
+            CoreFunction::FutureAwait => {
+                let value = self.pop_value()?;
+                let Value::Future(future) = value else {
+                    halt!(span, "Invalid value for await: {value}");
+                };
+                for async_execution in future.0 {
+                    self.values.extend(async_execution.arguments.into_iter());
+                    self.frames.push(Frame {
+                        step: 0,
+                        element: Element::DelayedCall(async_execution.function),
+                        user_initiated: false,
+                    });
+                }
+                Value::Unit
+            }
+            CoreFunction::CheatCodePrintMapping => {
+                let (program, name) = match &arguments[0] {
+                    Expression::Identifier(id) => (None, id.name),
+                    Expression::Locator(locator) => (Some(locator.program.name.name), locator.name),
+                    _ => tc_fail!(),
+                };
+                if let Some(mapping) = self.lookup_mapping(program, name) {
+                    // TODO: What is the appropriate way to print this to the console.
+                    // Print the name of the mapping.
+                    println!(
+                        "Mapping: {}",
+                        if let Some(program) = program { format!("{}/{}", program, name) } else { name.to_string() }
+                    );
+                    // Print the contents of the mapping.
+                    for (key, value) in mapping {
+                        println!("  {} -> {}", key, value);
+                    }
+                } else {
+                    tc_fail!();
+                }
+                Value::Unit
+            }
+            CoreFunction::CheatCodeSetBlockHeight => {
+                let Value::U32(height) = self.pop_value()? else {
+                    tc_fail!();
+                };
+                self.set_block_height(height);
+                Value::Unit
+            }
+        };
+
+        Ok(value)
+    }
+}
+
+#[derive(Clone, Debug)]
+pub struct StepResult {
+    /// Has this element completely finished running?
+    pub finished: bool,
+
+    /// If the element was an expression, here's its value.
+    pub value: Option<Value>,
+}
+
+/// Evaluate a binary operation.
+pub fn evaluate_binary(span: Span, op: BinaryOperation, lhs: Value, rhs: Value) -> Result<Value> {
+    let value = match op {
+        BinaryOperation::Add => {
+            let Some(value) = (match (lhs, rhs) {
+                (Value::U8(x), Value::U8(y)) => x.checked_add(y).map(Value::U8),
+                (Value::U16(x), Value::U16(y)) => x.checked_add(y).map(Value::U16),
+                (Value::U32(x), Value::U32(y)) => x.checked_add(y).map(Value::U32),
+                (Value::U64(x), Value::U64(y)) => x.checked_add(y).map(Value::U64),
+                (Value::U128(x), Value::U128(y)) => x.checked_add(y).map(Value::U128),
+                (Value::I8(x), Value::I8(y)) => x.checked_add(y).map(Value::I8),
+                (Value::I16(x), Value::I16(y)) => x.checked_add(y).map(Value::I16),
+                (Value::I32(x), Value::I32(y)) => x.checked_add(y).map(Value::I32),
+                (Value::I64(x), Value::I64(y)) => x.checked_add(y).map(Value::I64),
+                (Value::I128(x), Value::I128(y)) => x.checked_add(y).map(Value::I128),
+                (Value::Group(x), Value::Group(y)) => Some(Value::Group(x + y)),
+                (Value::Field(x), Value::Field(y)) => Some(Value::Field(x + y)),
+                (Value::Scalar(x), Value::Scalar(y)) => Some(Value::Scalar(x + y)),
+                _ => halt!(span, "Type error"),
+            }) else {
+                halt!(span, "add overflow");
+            };
+            value
+        }
+        BinaryOperation::AddWrapped => match (lhs, rhs) {
+            (Value::U8(x), Value::U8(y)) => Value::U8(x.wrapping_add(y)),
+            (Value::U16(x), Value::U16(y)) => Value::U16(x.wrapping_add(y)),
+            (Value::U32(x), Value::U32(y)) => Value::U32(x.wrapping_add(y)),
+            (Value::U64(x), Value::U64(y)) => Value::U64(x.wrapping_add(y)),
+            (Value::U128(x), Value::U128(y)) => Value::U128(x.wrapping_add(y)),
+            (Value::I8(x), Value::I8(y)) => Value::I8(x.wrapping_add(y)),
+            (Value::I16(x), Value::I16(y)) => Value::I16(x.wrapping_add(y)),
+            (Value::I32(x), Value::I32(y)) => Value::I32(x.wrapping_add(y)),
+            (Value::I64(x), Value::I64(y)) => Value::I64(x.wrapping_add(y)),
+            (Value::I128(x), Value::I128(y)) => Value::I128(x.wrapping_add(y)),
+            _ => halt!(span, "Type error"),
+        },
+        BinaryOperation::And => match (lhs, rhs) {
+            (Value::Bool(x), Value::Bool(y)) => Value::Bool(x && y),
+            _ => halt!(span, "Type error"),
+        },
+        BinaryOperation::BitwiseAnd => match (lhs, rhs) {
+            (Value::Bool(x), Value::Bool(y)) => Value::Bool(x & y),
+            (Value::U8(x), Value::U8(y)) => Value::U8(x & y),
+            (Value::U16(x), Value::U16(y)) => Value::U16(x & y),
+            (Value::U32(x), Value::U32(y)) => Value::U32(x & y),
+            (Value::U64(x), Value::U64(y)) => Value::U64(x & y),
+            (Value::U128(x), Value::U128(y)) => Value::U128(x & y),
+            (Value::I8(x), Value::I8(y)) => Value::I8(x & y),
+            (Value::I16(x), Value::I16(y)) => Value::I16(x & y),
+            (Value::I32(x), Value::I32(y)) => Value::I32(x & y),
+            (Value::I64(x), Value::I64(y)) => Value::I64(x & y),
+            (Value::I128(x), Value::I128(y)) => Value::I128(x & y),
+            _ => halt!(span, "Type error"),
+        },
+        BinaryOperation::Div => {
+            let Some(value) = (match (lhs, rhs) {
+                (Value::U8(x), Value::U8(y)) => x.checked_div(y).map(Value::U8),
+                (Value::U16(x), Value::U16(y)) => x.checked_div(y).map(Value::U16),
+                (Value::U32(x), Value::U32(y)) => x.checked_div(y).map(Value::U32),
+                (Value::U64(x), Value::U64(y)) => x.checked_div(y).map(Value::U64),
+                (Value::U128(x), Value::U128(y)) => x.checked_div(y).map(Value::U128),
+                (Value::I8(x), Value::I8(y)) => x.checked_div(y).map(Value::I8),
+                (Value::I16(x), Value::I16(y)) => x.checked_div(y).map(Value::I16),
+                (Value::I32(x), Value::I32(y)) => x.checked_div(y).map(Value::I32),
+                (Value::I64(x), Value::I64(y)) => x.checked_div(y).map(Value::I64),
+                (Value::I128(x), Value::I128(y)) => x.checked_div(y).map(Value::I128),
+                (Value::Field(x), Value::Field(y)) => y.inverse().map(|y| Value::Field(x * y)).ok(),
+                _ => halt!(span, "Type error"),
+            }) else {
+                halt!(span, "div overflow");
+            };
+            value
+        }
+        BinaryOperation::DivWrapped => match (lhs, rhs) {
+            (Value::U8(_), Value::U8(0))
+            | (Value::U16(_), Value::U16(0))
+            | (Value::U32(_), Value::U32(0))
+            | (Value::U64(_), Value::U64(0))
+            | (Value::U128(_), Value::U128(0))
+            | (Value::I8(_), Value::I8(0))
+            | (Value::I16(_), Value::I16(0))
+            | (Value::I32(_), Value::I32(0))
+            | (Value::I64(_), Value::I64(0))
+            | (Value::I128(_), Value::I128(0)) => halt!(span, "divide by 0"),
+            (Value::U8(x), Value::U8(y)) => Value::U8(x.wrapping_div(y)),
+            (Value::U16(x), Value::U16(y)) => Value::U16(x.wrapping_div(y)),
+            (Value::U32(x), Value::U32(y)) => Value::U32(x.wrapping_div(y)),
+            (Value::U64(x), Value::U64(y)) => Value::U64(x.wrapping_div(y)),
+            (Value::U128(x), Value::U128(y)) => Value::U128(x.wrapping_div(y)),
+            (Value::I8(x), Value::I8(y)) => Value::I8(x.wrapping_div(y)),
+            (Value::I16(x), Value::I16(y)) => Value::I16(x.wrapping_div(y)),
+            (Value::I32(x), Value::I32(y)) => Value::I32(x.wrapping_div(y)),
+            (Value::I64(x), Value::I64(y)) => Value::I64(x.wrapping_div(y)),
+            (Value::I128(x), Value::I128(y)) => Value::I128(x.wrapping_div(y)),
+            _ => halt!(span, "Type error"),
+        },
+        BinaryOperation::Eq => Value::Bool(lhs.eq(&rhs)?),
+        BinaryOperation::Gte => Value::Bool(lhs.gte(&rhs)?),
+        BinaryOperation::Gt => Value::Bool(lhs.gt(&rhs)?),
+        BinaryOperation::Lte => Value::Bool(lhs.lte(&rhs)?),
+        BinaryOperation::Lt => Value::Bool(lhs.lt(&rhs)?),
+        BinaryOperation::Mod => {
+            let Some(value) = (match (lhs, rhs) {
+                (Value::U8(x), Value::U8(y)) => x.checked_rem(y).map(Value::U8),
+                (Value::U16(x), Value::U16(y)) => x.checked_rem(y).map(Value::U16),
+                (Value::U32(x), Value::U32(y)) => x.checked_rem(y).map(Value::U32),
+                (Value::U64(x), Value::U64(y)) => x.checked_rem(y).map(Value::U64),
+                (Value::U128(x), Value::U128(y)) => x.checked_rem(y).map(Value::U128),
+                (Value::I8(x), Value::I8(y)) => x.checked_rem(y).map(Value::I8),
+                (Value::I16(x), Value::I16(y)) => x.checked_rem(y).map(Value::I16),
+                (Value::I32(x), Value::I32(y)) => x.checked_rem(y).map(Value::I32),
+                (Value::I64(x), Value::I64(y)) => x.checked_rem(y).map(Value::I64),
+                (Value::I128(x), Value::I128(y)) => x.checked_rem(y).map(Value::I128),
+                _ => halt!(span, "Type error"),
+            }) else {
+                halt!(span, "mod overflow");
+            };
+            value
+        }
+        BinaryOperation::Mul => {
+            let Some(value) = (match (lhs, rhs) {
+                (Value::U8(x), Value::U8(y)) => x.checked_mul(y).map(Value::U8),
+                (Value::U16(x), Value::U16(y)) => x.checked_mul(y).map(Value::U16),
+                (Value::U32(x), Value::U32(y)) => x.checked_mul(y).map(Value::U32),
+                (Value::U64(x), Value::U64(y)) => x.checked_mul(y).map(Value::U64),
+                (Value::U128(x), Value::U128(y)) => x.checked_mul(y).map(Value::U128),
+                (Value::I8(x), Value::I8(y)) => x.checked_mul(y).map(Value::I8),
+                (Value::I16(x), Value::I16(y)) => x.checked_mul(y).map(Value::I16),
+                (Value::I32(x), Value::I32(y)) => x.checked_mul(y).map(Value::I32),
+                (Value::I64(x), Value::I64(y)) => x.checked_mul(y).map(Value::I64),
+                (Value::I128(x), Value::I128(y)) => x.checked_mul(y).map(Value::I128),
+                (Value::Field(x), Value::Field(y)) => Some(Value::Field(x * y)),
+                (Value::Group(x), Value::Scalar(y)) => Some(Value::Group(x * y)),
+                (Value::Scalar(x), Value::Group(y)) => Some(Value::Group(x * y)),
+                _ => halt!(span, "Type error"),
+            }) else {
+                halt!(span, "mul overflow");
+            };
+            value
+        }
+        BinaryOperation::MulWrapped => match (lhs, rhs) {
+            (Value::U8(x), Value::U8(y)) => Value::U8(x.wrapping_mul(y)),
+            (Value::U16(x), Value::U16(y)) => Value::U16(x.wrapping_mul(y)),
+            (Value::U32(x), Value::U32(y)) => Value::U32(x.wrapping_mul(y)),
+            (Value::U64(x), Value::U64(y)) => Value::U64(x.wrapping_mul(y)),
+            (Value::U128(x), Value::U128(y)) => Value::U128(x.wrapping_mul(y)),
+            (Value::I8(x), Value::I8(y)) => Value::I8(x.wrapping_mul(y)),
+            (Value::I16(x), Value::I16(y)) => Value::I16(x.wrapping_mul(y)),
+            (Value::I32(x), Value::I32(y)) => Value::I32(x.wrapping_mul(y)),
+            (Value::I64(x), Value::I64(y)) => Value::I64(x.wrapping_mul(y)),
+            (Value::I128(x), Value::I128(y)) => Value::I128(x.wrapping_mul(y)),
+            (Value::Field(_), Value::Field(_)) => todo!(),
+            _ => halt!(span, "Type error"),
+        },
+
+        BinaryOperation::Nand => match (lhs, rhs) {
+            (Value::Bool(x), Value::Bool(y)) => Value::Bool(!(x & y)),
+            _ => halt!(span, "Type error"),
+        },
+        BinaryOperation::Neq => Value::Bool(lhs.neq(&rhs)?),
+        BinaryOperation::Nor => match (lhs, rhs) {
+            (Value::Bool(x), Value::Bool(y)) => Value::Bool(!(x | y)),
+            _ => halt!(span, "Type error"),
+        },
+        BinaryOperation::Or => match (lhs, rhs) {
+            (Value::Bool(x), Value::Bool(y)) => Value::Bool(x | y),
+            _ => halt!(span, "Type error"),
+        },
+        BinaryOperation::BitwiseOr => match (lhs, rhs) {
+            (Value::Bool(x), Value::Bool(y)) => Value::Bool(x | y),
+            (Value::U8(x), Value::U8(y)) => Value::U8(x | y),
+            (Value::U16(x), Value::U16(y)) => Value::U16(x | y),
+            (Value::U32(x), Value::U32(y)) => Value::U32(x | y),
+            (Value::U64(x), Value::U64(y)) => Value::U64(x | y),
+            (Value::U128(x), Value::U128(y)) => Value::U128(x | y),
+            (Value::I8(x), Value::I8(y)) => Value::I8(x | y),
+            (Value::I16(x), Value::I16(y)) => Value::I16(x | y),
+            (Value::I32(x), Value::I32(y)) => Value::I32(x | y),
+            (Value::I64(x), Value::I64(y)) => Value::I64(x | y),
+            (Value::I128(x), Value::I128(y)) => Value::I128(x | y),
+            _ => halt!(span, "Type error"),
+        },
+        BinaryOperation::Pow => {
+            if let (Value::Field(x), Value::Field(y)) = (&lhs, &rhs) {
+                Value::Field(x.pow(y))
+            } else {
+                let rhs: u32 = match rhs {
+                    Value::U8(y) => y.into(),
+                    Value::U16(y) => y.into(),
+                    Value::U32(y) => y,
+                    _ => tc_fail!(),
+                };
+
+                let Some(value) = (match lhs {
+                    Value::U8(x) => x.checked_pow(rhs).map(Value::U8),
+                    Value::U16(x) => x.checked_pow(rhs).map(Value::U16),
+                    Value::U32(x) => x.checked_pow(rhs).map(Value::U32),
+                    Value::U64(x) => x.checked_pow(rhs).map(Value::U64),
+                    Value::U128(x) => x.checked_pow(rhs).map(Value::U128),
+                    Value::I8(x) => x.checked_pow(rhs).map(Value::I8),
+                    Value::I16(x) => x.checked_pow(rhs).map(Value::I16),
+                    Value::I32(x) => x.checked_pow(rhs).map(Value::I32),
+                    Value::I64(x) => x.checked_pow(rhs).map(Value::I64),
+                    Value::I128(x) => x.checked_pow(rhs).map(Value::I128),
+                    _ => halt!(span, "Type error"),
+                }) else {
+                    halt!(span, "pow overflow");
+                };
+                value
+            }
+        }
+        BinaryOperation::PowWrapped => {
+            let rhs: u32 = match rhs {
+                Value::U8(y) => y.into(),
+                Value::U16(y) => y.into(),
+                Value::U32(y) => y,
+                _ => halt!(span, "Type error"),
+            };
+
+            match lhs {
+                Value::U8(x) => Value::U8(x.wrapping_pow(rhs)),
+                Value::U16(x) => Value::U16(x.wrapping_pow(rhs)),
+                Value::U32(x) => Value::U32(x.wrapping_pow(rhs)),
+                Value::U64(x) => Value::U64(x.wrapping_pow(rhs)),
+                Value::U128(x) => Value::U128(x.wrapping_pow(rhs)),
+                Value::I8(x) => Value::I8(x.wrapping_pow(rhs)),
+                Value::I16(x) => Value::I16(x.wrapping_pow(rhs)),
+                Value::I32(x) => Value::I32(x.wrapping_pow(rhs)),
+                Value::I64(x) => Value::I64(x.wrapping_pow(rhs)),
+                Value::I128(x) => Value::I128(x.wrapping_pow(rhs)),
+                _ => halt!(span, "Type error"),
+            }
+        }
+        BinaryOperation::Rem => {
+            let Some(value) = (match (lhs, rhs) {
+                (Value::U8(x), Value::U8(y)) => x.checked_rem(y).map(Value::U8),
+                (Value::U16(x), Value::U16(y)) => x.checked_rem(y).map(Value::U16),
+                (Value::U32(x), Value::U32(y)) => x.checked_rem(y).map(Value::U32),
+                (Value::U64(x), Value::U64(y)) => x.checked_rem(y).map(Value::U64),
+                (Value::U128(x), Value::U128(y)) => x.checked_rem(y).map(Value::U128),
+                (Value::I8(x), Value::I8(y)) => x.checked_rem(y).map(Value::I8),
+                (Value::I16(x), Value::I16(y)) => x.checked_rem(y).map(Value::I16),
+                (Value::I32(x), Value::I32(y)) => x.checked_rem(y).map(Value::I32),
+                (Value::I64(x), Value::I64(y)) => x.checked_rem(y).map(Value::I64),
+                (Value::I128(x), Value::I128(y)) => x.checked_rem(y).map(Value::I128),
+                _ => halt!(span, "Type error"),
+            }) else {
+                halt!(span, "rem error");
+            };
+            value
+        }
+        BinaryOperation::RemWrapped => match (lhs, rhs) {
+            (Value::U8(_), Value::U8(0))
+            | (Value::U16(_), Value::U16(0))
+            | (Value::U32(_), Value::U32(0))
+            | (Value::U64(_), Value::U64(0))
+            | (Value::U128(_), Value::U128(0))
+            | (Value::I8(_), Value::I8(0))
+            | (Value::I16(_), Value::I16(0))
+            | (Value::I32(_), Value::I32(0))
+            | (Value::I64(_), Value::I64(0))
+            | (Value::I128(_), Value::I128(0)) => halt!(span, "rem by 0"),
+            (Value::U8(x), Value::U8(y)) => Value::U8(x.wrapping_rem(y)),
+            (Value::U16(x), Value::U16(y)) => Value::U16(x.wrapping_rem(y)),
+            (Value::U32(x), Value::U32(y)) => Value::U32(x.wrapping_rem(y)),
+            (Value::U64(x), Value::U64(y)) => Value::U64(x.wrapping_rem(y)),
+            (Value::U128(x), Value::U128(y)) => Value::U128(x.wrapping_rem(y)),
+            (Value::I8(x), Value::I8(y)) => Value::I8(x.wrapping_rem(y)),
+            (Value::I16(x), Value::I16(y)) => Value::I16(x.wrapping_rem(y)),
+            (Value::I32(x), Value::I32(y)) => Value::I32(x.wrapping_rem(y)),
+            (Value::I64(x), Value::I64(y)) => Value::I64(x.wrapping_rem(y)),
+            (Value::I128(x), Value::I128(y)) => Value::I128(x.wrapping_rem(y)),
+            _ => halt!(span, "Type error"),
+        },
+        BinaryOperation::Shl => {
+            let rhs: u32 = match rhs {
+                Value::U8(y) => y.into(),
+                Value::U16(y) => y.into(),
+                Value::U32(y) => y,
+                _ => halt!(span, "Type error"),
+            };
+            match lhs {
+                Value::U8(_) | Value::I8(_) if rhs >= 8 => halt!(span, "shl overflow"),
+                Value::U16(_) | Value::I16(_) if rhs >= 16 => halt!(span, "shl overflow"),
+                Value::U32(_) | Value::I32(_) if rhs >= 32 => halt!(span, "shl overflow"),
+                Value::U64(_) | Value::I64(_) if rhs >= 64 => halt!(span, "shl overflow"),
+                Value::U128(_) | Value::I128(_) if rhs >= 128 => halt!(span, "shl overflow"),
+                _ => {}
+            }
+
+            // Aleo's shl halts if set bits are shifted out.
+            let shifted = lhs.simple_shl(rhs);
+            let reshifted = shifted.simple_shr(rhs);
+            if lhs.eq(&reshifted)? {
+                shifted
+            } else {
+                halt!(span, "shl overflow");
+            }
+        }
+
+        BinaryOperation::ShlWrapped => {
+            let rhs: u32 = match rhs {
+                Value::U8(y) => y.into(),
+                Value::U16(y) => y.into(),
+                Value::U32(y) => y,
+                _ => halt!(span, "Type error"),
+            };
+            match lhs {
+                Value::U8(x) => Value::U8(x.wrapping_shl(rhs)),
+                Value::U16(x) => Value::U16(x.wrapping_shl(rhs)),
+                Value::U32(x) => Value::U32(x.wrapping_shl(rhs)),
+                Value::U64(x) => Value::U64(x.wrapping_shl(rhs)),
+                Value::U128(x) => Value::U128(x.wrapping_shl(rhs)),
+                Value::I8(x) => Value::I8(x.wrapping_shl(rhs)),
+                Value::I16(x) => Value::I16(x.wrapping_shl(rhs)),
+                Value::I32(x) => Value::I32(x.wrapping_shl(rhs)),
+                Value::I64(x) => Value::I64(x.wrapping_shl(rhs)),
+                Value::I128(x) => Value::I128(x.wrapping_shl(rhs)),
+                _ => halt!(span, "Type error"),
+            }
+        }
+
+        BinaryOperation::Shr => {
+            let rhs: u32 = match rhs {
+                Value::U8(y) => y.into(),
+                Value::U16(y) => y.into(),
+                Value::U32(y) => y,
+                _ => halt!(span, "Type error"),
+            };
+
+            match lhs {
+                Value::U8(_) | Value::I8(_) if rhs >= 8 => halt!(span, "shr overflow"),
+                Value::U16(_) | Value::I16(_) if rhs >= 16 => halt!(span, "shr overflow"),
+                Value::U32(_) | Value::I32(_) if rhs >= 32 => halt!(span, "shr overflow"),
+                Value::U64(_) | Value::I64(_) if rhs >= 64 => halt!(span, "shr overflow"),
+                Value::U128(_) | Value::I128(_) if rhs >= 128 => halt!(span, "shr overflow"),
+                _ => {}
+            }
+
+            lhs.simple_shr(rhs)
+        }
+
+        BinaryOperation::ShrWrapped => {
+            let rhs: u32 = match rhs {
+                Value::U8(y) => y.into(),
+                Value::U16(y) => y.into(),
+                Value::U32(y) => y,
+                _ => halt!(span, "Type error"),
+            };
+
+            match lhs {
+                Value::U8(x) => Value::U8(x.wrapping_shr(rhs)),
+                Value::U16(x) => Value::U16(x.wrapping_shr(rhs)),
+                Value::U32(x) => Value::U32(x.wrapping_shr(rhs)),
+                Value::U64(x) => Value::U64(x.wrapping_shr(rhs)),
+                Value::U128(x) => Value::U128(x.wrapping_shr(rhs)),
+                Value::I8(x) => Value::I8(x.wrapping_shr(rhs)),
+                Value::I16(x) => Value::I16(x.wrapping_shr(rhs)),
+                Value::I32(x) => Value::I32(x.wrapping_shr(rhs)),
+                Value::I64(x) => Value::I64(x.wrapping_shr(rhs)),
+                Value::I128(x) => Value::I128(x.wrapping_shr(rhs)),
+                _ => halt!(span, "Type error"),
+            }
+        }
+
+        BinaryOperation::Sub => {
+            let Some(value) = (match (lhs, rhs) {
+                (Value::U8(x), Value::U8(y)) => x.checked_sub(y).map(Value::U8),
+                (Value::U16(x), Value::U16(y)) => x.checked_sub(y).map(Value::U16),
+                (Value::U32(x), Value::U32(y)) => x.checked_sub(y).map(Value::U32),
+                (Value::U64(x), Value::U64(y)) => x.checked_sub(y).map(Value::U64),
+                (Value::U128(x), Value::U128(y)) => x.checked_sub(y).map(Value::U128),
+                (Value::I8(x), Value::I8(y)) => x.checked_sub(y).map(Value::I8),
+                (Value::I16(x), Value::I16(y)) => x.checked_sub(y).map(Value::I16),
+                (Value::I32(x), Value::I32(y)) => x.checked_sub(y).map(Value::I32),
+                (Value::I64(x), Value::I64(y)) => x.checked_sub(y).map(Value::I64),
+                (Value::I128(x), Value::I128(y)) => x.checked_sub(y).map(Value::I128),
+                (Value::Group(x), Value::Group(y)) => Some(Value::Group(x - y)),
+                (Value::Field(x), Value::Field(y)) => Some(Value::Field(x - y)),
+                _ => halt!(span, "Type error"),
+            }) else {
+                halt!(span, "sub overflow");
+            };
+            value
+        }
+
+        BinaryOperation::SubWrapped => match (lhs, rhs) {
+            (Value::U8(x), Value::U8(y)) => Value::U8(x.wrapping_sub(y)),
+            (Value::U16(x), Value::U16(y)) => Value::U16(x.wrapping_sub(y)),
+            (Value::U32(x), Value::U32(y)) => Value::U32(x.wrapping_sub(y)),
+            (Value::U64(x), Value::U64(y)) => Value::U64(x.wrapping_sub(y)),
+            (Value::U128(x), Value::U128(y)) => Value::U128(x.wrapping_sub(y)),
+            (Value::I8(x), Value::I8(y)) => Value::I8(x.wrapping_sub(y)),
+            (Value::I16(x), Value::I16(y)) => Value::I16(x.wrapping_sub(y)),
+            (Value::I32(x), Value::I32(y)) => Value::I32(x.wrapping_sub(y)),
+            (Value::I64(x), Value::I64(y)) => Value::I64(x.wrapping_sub(y)),
+            (Value::I128(x), Value::I128(y)) => Value::I128(x.wrapping_sub(y)),
+            _ => halt!(span, "Type error"),
+        },
+
+        BinaryOperation::Xor => match (lhs, rhs) {
+            (Value::Bool(x), Value::Bool(y)) => Value::Bool(x ^ y),
+            (Value::U8(x), Value::U8(y)) => Value::U8(x ^ y),
+            (Value::U16(x), Value::U16(y)) => Value::U16(x ^ y),
+            (Value::U32(x), Value::U32(y)) => Value::U32(x ^ y),
+            (Value::U64(x), Value::U64(y)) => Value::U64(x ^ y),
+            (Value::U128(x), Value::U128(y)) => Value::U128(x ^ y),
+            (Value::I8(x), Value::I8(y)) => Value::I8(x ^ y),
+            (Value::I16(x), Value::I16(y)) => Value::I16(x ^ y),
+            (Value::I32(x), Value::I32(y)) => Value::I32(x ^ y),
+            (Value::I64(x), Value::I64(y)) => Value::I64(x ^ y),
+            (Value::I128(x), Value::I128(y)) => Value::I128(x ^ y),
+            _ => halt!(span, "Type error"),
+        },
+    };
+    Ok(value)
+}
+
+/// Evaluate a unary operation.
+pub fn evaluate_unary(span: Span, op: UnaryOperation, value: Value) -> Result<Value> {
+    let value_result = match op {
+        UnaryOperation::Abs => match value {
+            Value::I8(x) => {
+                if x == i8::MIN {
+                    halt!(span, "abs overflow");
+                } else {
+                    Value::I8(x.abs())
+                }
+            }
+            Value::I16(x) => {
+                if x == i16::MIN {
+                    halt!(span, "abs overflow");
+                } else {
+                    Value::I16(x.abs())
+                }
+            }
+            Value::I32(x) => {
+                if x == i32::MIN {
+                    halt!(span, "abs overflow");
+                } else {
+                    Value::I32(x.abs())
+                }
+            }
+            Value::I64(x) => {
+                if x == i64::MIN {
+                    halt!(span, "abs overflow");
+                } else {
+                    Value::I64(x.abs())
+                }
+            }
+            Value::I128(x) => {
+                if x == i128::MIN {
+                    halt!(span, "abs overflow");
+                } else {
+                    Value::I128(x.abs())
+                }
+            }
+            _ => halt!(span, "Type error"),
+        },
+        UnaryOperation::AbsWrapped => match value {
+            Value::I8(x) => Value::I8(x.unsigned_abs() as i8),
+            Value::I16(x) => Value::I16(x.unsigned_abs() as i16),
+            Value::I32(x) => Value::I32(x.unsigned_abs() as i32),
+            Value::I64(x) => Value::I64(x.unsigned_abs() as i64),
+            Value::I128(x) => Value::I128(x.unsigned_abs() as i128),
+            _ => halt!(span, "Type error"),
+        },
+        UnaryOperation::Double => match value {
+            Value::Field(x) => Value::Field(x.double()),
+            Value::Group(x) => Value::Group(x.double()),
+            _ => halt!(span, "Type error"),
+        },
+        UnaryOperation::Inverse => match value {
+            Value::Field(x) => {
+                let Ok(y) = x.inverse() else {
+                    halt!(span, "attempt to invert 0field");
+                };
+                Value::Field(y)
+            }
+            _ => halt!(span, "Can only invert fields"),
+        },
+        UnaryOperation::Negate => match value {
+            Value::I8(x) => match x.checked_neg() {
+                None => halt!(span, "negation overflow"),
+                Some(y) => Value::I8(y),
+            },
+            Value::I16(x) => match x.checked_neg() {
+                None => halt!(span, "negation overflow"),
+                Some(y) => Value::I16(y),
+            },
+            Value::I32(x) => match x.checked_neg() {
+                None => halt!(span, "negation overflow"),
+                Some(y) => Value::I32(y),
+            },
+            Value::I64(x) => match x.checked_neg() {
+                None => halt!(span, "negation overflow"),
+                Some(y) => Value::I64(y),
+            },
+            Value::I128(x) => match x.checked_neg() {
+                None => halt!(span, "negation overflow"),
+                Some(y) => Value::I128(y),
+            },
+            Value::Group(x) => Value::Group(-x),
+            Value::Field(x) => Value::Field(-x),
+            _ => halt!(span, "Type error"),
+        },
+        UnaryOperation::Not => match value {
+            Value::Bool(x) => Value::Bool(!x),
+            Value::U8(x) => Value::U8(!x),
+            Value::U16(x) => Value::U16(!x),
+            Value::U32(x) => Value::U32(!x),
+            Value::U64(x) => Value::U64(!x),
+            Value::U128(x) => Value::U128(!x),
+            Value::I8(x) => Value::I8(!x),
+            Value::I16(x) => Value::I16(!x),
+            Value::I32(x) => Value::I32(!x),
+            Value::I64(x) => Value::I64(!x),
+            Value::I128(x) => Value::I128(!x),
+            _ => halt!(span, "Type error"),
+        },
+        UnaryOperation::Square => match value {
+            Value::Field(x) => Value::Field(x.square()),
+            _ => halt!(span, "Can only square fields"),
+        },
+        UnaryOperation::SquareRoot => match value {
+            Value::Field(x) => {
+                let Ok(y) = x.square_root() else {
+                    halt!(span, "square root failure");
+                };
+                Value::Field(y)
+            }
+            _ => halt!(span, "Can only apply square_root to fields"),
+        },
+        UnaryOperation::ToXCoordinate => match value {
+            Value::Group(x) => Value::Field(x.to_x_coordinate()),
+            _ => tc_fail!(),
+        },
+        UnaryOperation::ToYCoordinate => match value {
+            Value::Group(x) => Value::Field(x.to_y_coordinate()),
+            _ => tc_fail!(),
+        },
+    };
+
+    Ok(value_result)
+}
+
\ No newline at end of file diff --git a/src/leo_interpreter/cursor_aleo.rs.html b/src/leo_interpreter/cursor_aleo.rs.html new file mode 100644 index 0000000000..91ae956d99 --- /dev/null +++ b/src/leo_interpreter/cursor_aleo.rs.html @@ -0,0 +1,2061 @@ +cursor_aleo.rs - source

leo_interpreter/
cursor_aleo.rs

+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+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
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
+858
+859
+860
+861
+862
+863
+864
+865
+866
+867
+868
+869
+870
+871
+872
+873
+874
+875
+876
+877
+878
+879
+880
+881
+882
+883
+884
+885
+886
+887
+888
+889
+890
+891
+892
+893
+894
+895
+896
+897
+898
+899
+900
+901
+902
+903
+904
+905
+906
+907
+908
+909
+910
+911
+912
+913
+914
+915
+916
+917
+918
+919
+920
+921
+922
+923
+924
+925
+926
+927
+928
+929
+930
+931
+932
+933
+934
+935
+936
+937
+938
+939
+940
+941
+942
+943
+944
+945
+946
+947
+948
+949
+950
+951
+952
+953
+954
+955
+956
+957
+958
+959
+960
+961
+962
+963
+964
+965
+966
+967
+968
+969
+970
+971
+972
+973
+974
+975
+976
+977
+978
+979
+980
+981
+982
+983
+984
+985
+986
+987
+988
+989
+990
+991
+992
+993
+994
+995
+996
+997
+998
+999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
// Copyright (C) 2019-2024 Aleo Systems Inc.
+// This file is part of the Leo library.
+
+// The Leo library is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// The Leo library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with the Leo library. If not, see <https://www.gnu.org/licenses/>.
+
+use super::*;
+
+use leo_ast::{BinaryOperation, CoreFunction, IntegerType, Type, UnaryOperation};
+
+use snarkvm::{
+    prelude::{
+        Access,
+        Boolean,
+        Field,
+        Identifier,
+        Literal,
+        LiteralType,
+        Network as _,
+        PlaintextType,
+        Register,
+        TestnetV0,
+        ToBits as _,
+        ToBytes as _,
+        integers::Integer,
+    },
+    synthesizer::{Command, Instruction},
+};
+use snarkvm_synthesizer_program::{CallOperator, CastType, Operand};
+
+use rand::Rng as _;
+use rand_chacha::{ChaCha20Rng, rand_core::SeedableRng};
+use std::mem;
+
+impl Cursor<'_> {
+    fn mapping_by_call_operator(&self, operator: &CallOperator<TestnetV0>) -> Option<&HashMap<Value, Value>> {
+        let (program, name) = match operator {
+            CallOperator::Locator(locator) => {
+                (Some(snarkvm_identifier_to_symbol(locator.name())), snarkvm_identifier_to_symbol(locator.resource()))
+            }
+            CallOperator::Resource(id) => (None, snarkvm_identifier_to_symbol(id)),
+        };
+        self.lookup_mapping(program, name)
+    }
+
+    fn get_register(&self, reg: &Register<TestnetV0>) -> &Value {
+        let Some(Frame { element: Element::AleoExecution { registers, .. }, .. }) = self.frames.last() else {
+            panic!();
+        };
+        match reg {
+            Register::Locator(index) => {
+                registers.get(index).expect("valid .aleo code doesn't access undefined registers")
+            }
+            Register::Access(index, accesses) => {
+                let mut current_value =
+                    registers.get(index).expect("valid .aleo code doesn't access undefined registers");
+                for access in accesses.iter() {
+                    match access {
+                        Access::Member(id) => {
+                            if let Value::Struct(current_struct) = current_value {
+                                let name = snarkvm_identifier_to_symbol(id);
+                                current_value = current_struct.contents.get(&name).expect("struct missing member");
+                            } else {
+                                tc_fail!();
+                            }
+                        }
+                        Access::Index(index) => {
+                            if let Value::Array(current_array) = current_value {
+                                current_value = current_array.get(**index as usize).expect("array index out of bounds");
+                            } else {
+                                tc_fail!();
+                            }
+                        }
+                    }
+                }
+
+                current_value
+            }
+        }
+    }
+
+    fn set_register(&mut self, reg: Register<TestnetV0>, value: Value) {
+        let Some(Frame { element: Element::AleoExecution { registers, .. }, .. }) = self.frames.last_mut() else {
+            panic!();
+        };
+
+        match reg {
+            Register::Locator(index) => {
+                registers.insert(index, value);
+            }
+            Register::Access(_, _) => todo!(),
+        }
+    }
+
+    fn instructions_len(&self) -> usize {
+        let Some(Frame { element: Element::AleoExecution { context, .. }, .. }) = self.frames.last() else {
+            panic!();
+        };
+        match context {
+            AleoContext::Closure(closure) => closure.instructions().len(),
+            AleoContext::Function(function) => function.instructions().len(),
+            AleoContext::Finalize(finalize) => finalize.commands().len(),
+        }
+    }
+
+    fn increment_instruction_index(&mut self) {
+        let Some(Frame { element: Element::AleoExecution { instruction_index, .. }, .. }) = self.frames.last_mut()
+        else {
+            panic!();
+        };
+        *instruction_index += 1;
+    }
+
+    fn execution_complete(&self) -> bool {
+        let Some(Frame { element: Element::AleoExecution { instruction_index, .. }, .. }) = self.frames.last() else {
+            panic!();
+        };
+        *instruction_index >= self.instructions_len()
+    }
+
+    fn next_instruction(&self) -> Option<&Instruction<TestnetV0>> {
+        let Some(Frame { element: Element::AleoExecution { instruction_index, context, .. }, .. }) = self.frames.last()
+        else {
+            panic!();
+        };
+        match context {
+            AleoContext::Closure(closure) => closure.instructions().get(*instruction_index),
+            AleoContext::Function(function) => function.instructions().get(*instruction_index),
+            AleoContext::Finalize(_) => None,
+        }
+    }
+
+    fn next_command(&self) -> Option<&Command<TestnetV0>> {
+        let Some(Frame { element: Element::AleoExecution { instruction_index, context, .. }, .. }) = self.frames.last()
+        else {
+            panic!();
+        };
+        match context {
+            AleoContext::Closure(_) | AleoContext::Function(_) => None,
+            AleoContext::Finalize(finalize) => finalize.commands().get(*instruction_index),
+        }
+    }
+
+    fn operand_value(&self, operand: &Operand<TestnetV0>) -> Value {
+        match operand {
+            Operand::Literal(literal) => match literal {
+                Literal::Address(x) => Value::Address(*x),
+                Literal::Boolean(x) => Value::Bool(**x),
+                Literal::Field(x) => Value::Field(*x),
+                Literal::Group(x) => Value::Group(*x),
+                Literal::I8(x) => Value::I8(**x),
+                Literal::I16(x) => Value::I16(**x),
+                Literal::I32(x) => Value::I32(**x),
+                Literal::I64(x) => Value::I64(**x),
+                Literal::I128(x) => Value::I128(**x),
+                Literal::U8(x) => Value::U8(**x),
+                Literal::U16(x) => Value::U16(**x),
+                Literal::U32(x) => Value::U32(**x),
+                Literal::U64(x) => Value::U64(**x),
+                Literal::U128(x) => Value::U128(**x),
+                Literal::Scalar(x) => Value::Scalar(*x),
+                Literal::Signature(_) => todo!(),
+                Literal::String(_) => todo!(),
+            },
+            Operand::Register(register) => self.get_register(register).clone(),
+            Operand::ProgramID(_) => todo!(),
+            Operand::Signer => Value::Address(self.signer),
+            Operand::Caller => {
+                if let Some(function_context) = self.contexts.last() {
+                    Value::Address(function_context.caller)
+                } else {
+                    Value::Address(self.signer)
+                }
+            }
+            Operand::BlockHeight => Value::U32(self.block_height),
+            Operand::NetworkID => todo!(),
+        }
+    }
+
+    fn step_aleo_instruction(&mut self, instruction: Instruction<TestnetV0>) -> Result<()> {
+        // The Aleo VM code is a linear sequence of instructions, so we don't need to keep
+        // a stack of Elements (except for calls). Just run instructions in order.
+        use Instruction::*;
+
+        let Some(Frame { step, .. }) = self.frames.last() else {
+            panic!("frame expected");
+        };
+
+        macro_rules! unary {
+            ($svm_op: expr, $op: ident) => {{
+                let operand = self.operand_value(&$svm_op.operands()[0]);
+                let value = evaluate_unary(Default::default(), UnaryOperation::$op, operand)?;
+                self.increment_instruction_index();
+                (value, $svm_op.destinations()[0].clone())
+            }};
+        }
+
+        macro_rules! binary {
+            ($svm_op: expr, $op: ident) => {{
+                let operand0 = self.operand_value(&$svm_op.operands()[0]);
+                let operand1 = self.operand_value(&$svm_op.operands()[1]);
+                let value = evaluate_binary(Default::default(), BinaryOperation::$op, operand0, operand1)?;
+                self.increment_instruction_index();
+                (value, $svm_op.destinations()[0].clone())
+            }};
+        }
+
+        macro_rules! commit_function {
+            ($commit: expr,
+             $to_address: ident,
+             $to_field: ident,
+             $to_group: ident,
+            ) => {{
+                let core_function = match $commit.destination_type() {
+                    LiteralType::Address => CoreFunction::$to_address,
+                    LiteralType::Field => CoreFunction::$to_field,
+                    LiteralType::Group => CoreFunction::$to_group,
+                    _ => panic!("invalid commit destination type"),
+                };
+
+                let randomizer_value = self.operand_value(&$commit.operands()[0]);
+                let operand_value = self.operand_value(&$commit.operands()[1]);
+                self.values.push(randomizer_value);
+                self.values.push(operand_value);
+                let value = self.evaluate_core_function(core_function, &[], Span::default())?;
+                self.increment_instruction_index();
+                (value, $commit.destinations()[0].clone())
+            }};
+        }
+
+        macro_rules! hash_function {
+            ($hash: expr,
+             $to_address: ident,
+             $to_field: ident,
+             $to_group: ident,
+             $to_i8: ident,
+             $to_i16: ident,
+             $to_i32: ident,
+             $to_i64: ident,
+             $to_i128: ident,
+             $to_u8: ident,
+             $to_u16: ident,
+             $to_u32: ident,
+             $to_u64: ident,
+             $to_u128: ident,
+             $to_scalar: ident,
+            ) => {{
+                let core_function = match $hash.destination_type() {
+                    PlaintextType::Literal(LiteralType::Address) => CoreFunction::$to_address,
+                    PlaintextType::Literal(LiteralType::Field) => CoreFunction::$to_field,
+                    PlaintextType::Literal(LiteralType::Group) => CoreFunction::$to_group,
+                    PlaintextType::Literal(LiteralType::I8) => CoreFunction::$to_i8,
+                    PlaintextType::Literal(LiteralType::I16) => CoreFunction::$to_i16,
+                    PlaintextType::Literal(LiteralType::I32) => CoreFunction::$to_i32,
+                    PlaintextType::Literal(LiteralType::I64) => CoreFunction::$to_i64,
+                    PlaintextType::Literal(LiteralType::I128) => CoreFunction::$to_i128,
+                    PlaintextType::Literal(LiteralType::U8) => CoreFunction::$to_u8,
+                    PlaintextType::Literal(LiteralType::U16) => CoreFunction::$to_u16,
+                    PlaintextType::Literal(LiteralType::U32) => CoreFunction::$to_u32,
+                    PlaintextType::Literal(LiteralType::U64) => CoreFunction::$to_u64,
+                    PlaintextType::Literal(LiteralType::U128) => CoreFunction::$to_u128,
+                    PlaintextType::Literal(LiteralType::Scalar) => CoreFunction::$to_scalar,
+                    _ => panic!("invalid hash destination type"),
+                };
+                let operand_value = self.operand_value(&$hash.operands()[0]);
+                self.values.push(operand_value);
+                let value = self.evaluate_core_function(core_function, &[], Span::default())?;
+                self.increment_instruction_index();
+                (value, $hash.destinations()[0].clone())
+            }};
+        }
+
+        let (value, destination) = match instruction {
+            Abs(abs) => unary!(abs, Abs),
+            AbsWrapped(abs_wrapped) => unary!(abs_wrapped, AbsWrapped),
+            Add(add) => binary!(add, Add),
+            AddWrapped(add_wrapped) => binary!(add_wrapped, AddWrapped),
+            And(and) => binary!(and, BitwiseAnd),
+            AssertEq(assert_eq) => {
+                let operand0 = self.operand_value(&assert_eq.operands()[0]);
+                let operand1 = self.operand_value(&assert_eq.operands()[1]);
+                if operand0.neq(&operand1)? {
+                    halt_no_span!("assertion failure: {operand0} != {operand1}");
+                }
+                self.increment_instruction_index();
+                return Ok(());
+            }
+            AssertNeq(assert_neq) => {
+                let operand0 = self.operand_value(&assert_neq.operands()[0]);
+                let operand1 = self.operand_value(&assert_neq.operands()[1]);
+                if operand0.eq(&operand1)? {
+                    halt_no_span!("assertion failure: {operand0} != {operand1}");
+                }
+                self.increment_instruction_index();
+                return Ok(());
+            }
+            Async(async_) if *step == 0 => {
+                let program = self.contexts.current_program().expect("there should be a program");
+                let name = snarkvm_identifier_to_symbol(async_.function_name());
+                let arguments: Vec<Value> = async_.operands().iter().map(|op| self.operand_value(op)).collect();
+                if self.really_async {
+                    self.increment_instruction_index();
+                    let async_ex = AsyncExecution { function: GlobalId { name, program }, arguments };
+                    (Value::Future(Future(vec![async_ex])), async_.destinations()[0].clone())
+                } else {
+                    self.do_call(
+                        program,
+                        name,
+                        arguments.into_iter(),
+                        true, // finalize
+                        Span::default(),
+                    )?;
+                    self.increment_step();
+                    return Ok(());
+                }
+            }
+            Call(call) if *step == 0 => {
+                let (program, name) = match call.operator() {
+                    CallOperator::Locator(locator) => (
+                        snarkvm_identifier_to_symbol(locator.resource()),
+                        snarkvm_identifier_to_symbol(locator.program_id().name()),
+                    ),
+                    CallOperator::Resource(id) => (
+                        snarkvm_identifier_to_symbol(id),
+                        self.contexts.current_program().expect("there should be a program"),
+                    ),
+                };
+                let arguments: Vec<Value> = call.operands().iter().map(|op| self.operand_value(op)).collect();
+                self.do_call(
+                    program,
+                    name,
+                    arguments.into_iter(),
+                    false, // finalize
+                    Span::default(),
+                )?;
+                self.increment_step();
+                return Ok(());
+            }
+            Async(async_) if *step == 1 => {
+                // We've done a call, and the result is on the value stack.
+                self.values.pop();
+                self.set_register(async_.destinations()[0].clone(), Value::Future(Future(Vec::new())));
+                self.increment_instruction_index();
+                return Ok(());
+            }
+            Call(call) if *step == 1 => {
+                // We've done a call, and the result is on the value stack.
+                let Some(result) = self.values.pop() else {
+                    panic!("should have a result");
+                };
+                if call.destinations().len() == 1 {
+                    self.set_register(call.destinations()[0].clone(), result);
+                } else {
+                    let Value::Tuple(tuple) = result else {
+                        panic!("function returning multiple values should create a tuple");
+                    };
+                    for (dest, value) in call.destinations().iter().zip(tuple.into_iter()) {
+                        self.set_register(dest.clone(), value);
+                    }
+                }
+                self.increment_instruction_index();
+                return Ok(());
+            }
+            Call(_) | Async(_) => unreachable!("all cases covered above"),
+            Cast(cast) => {
+                let destination = cast.destinations()[0].clone();
+
+                self.increment_instruction_index();
+
+                let make_struct = |program, name_identifier| {
+                    let name = snarkvm_identifier_to_symbol(name_identifier);
+                    let id = GlobalId { program, name };
+                    let struct_type = self.structs.get(&id).expect("struct type should exist");
+                    let operands = cast.operands().iter().map(|op| self.operand_value(op));
+                    Value::Struct(StructContents {
+                        name,
+                        contents: struct_type.iter().cloned().zip(operands).collect(),
+                    })
+                };
+
+                match cast.cast_type() {
+                    CastType::GroupXCoordinate => {
+                        let Value::Group(g) = self.operand_value(&cast.operands()[0]) else {
+                            tc_fail!();
+                        };
+                        let value = Value::Field(g.to_x_coordinate());
+                        (value, destination)
+                    }
+                    CastType::GroupYCoordinate => {
+                        let Value::Group(g) = self.operand_value(&cast.operands()[0]) else {
+                            tc_fail!();
+                        };
+                        let value = Value::Field(g.to_y_coordinate());
+                        (value, destination)
+                    }
+                    CastType::Plaintext(PlaintextType::Array(_array)) => {
+                        let value = Value::Array(cast.operands().iter().map(|op| self.operand_value(op)).collect());
+                        (value, destination)
+                    }
+                    CastType::Plaintext(PlaintextType::Literal(literal_type)) => {
+                        let operand = self.operand_value(&cast.operands()[0]);
+                        let value = match operand.cast(&snarkvm_literal_type_to_type(*literal_type)) {
+                            Some(value) => value,
+                            None => halt_no_span!("cast failure"),
+                        };
+                        (value, destination)
+                    }
+                    CastType::Record(struct_name) | CastType::Plaintext(PlaintextType::Struct(struct_name)) => {
+                        let program = self.contexts.current_program().expect("there should be a current program");
+                        let value = make_struct(program, struct_name);
+                        (value, destination)
+                    }
+                    CastType::ExternalRecord(locator) => {
+                        let program = snarkvm_identifier_to_symbol(locator.program_id().name());
+                        let value = make_struct(program, locator.name());
+                        (value, destination)
+                    }
+                }
+            }
+            CastLossy(cast_lossy) => {
+                match cast_lossy.cast_type() {
+                    CastType::Plaintext(PlaintextType::Literal(literal_type)) => {
+                        // This is the only variant supported for lossy casts.
+                        let operand = self.operand_value(&cast_lossy.operands()[0]);
+                        let operand_literal = value_to_snarkvm_literal(operand);
+                        let result_literal = match operand_literal.cast_lossy(*literal_type) {
+                            Ok(result_literal) => result_literal,
+                            Err(_) => halt_no_span!("cast failure"),
+                        };
+                        let destination = cast_lossy.destinations()[0].clone();
+                        self.increment_instruction_index();
+                        (snarkvm_literal_to_value(result_literal), destination)
+                    }
+                    _ => tc_fail!(),
+                }
+            }
+            CommitBHP256(commit) => {
+                commit_function!(commit, BHP256CommitToAddress, BHP256CommitToField, BHP256CommitToGroup,)
+            }
+            CommitBHP512(commit) => {
+                commit_function!(commit, BHP512CommitToAddress, BHP512CommitToField, BHP512CommitToGroup,)
+            }
+            CommitBHP768(commit) => {
+                commit_function!(commit, BHP768CommitToAddress, BHP768CommitToField, BHP768CommitToGroup,)
+            }
+            CommitBHP1024(commit) => {
+                commit_function!(commit, BHP1024CommitToAddress, BHP1024CommitToField, BHP1024CommitToGroup,)
+            }
+            CommitPED64(commit) => {
+                commit_function!(commit, Pedersen64CommitToAddress, Pedersen64CommitToField, Pedersen64CommitToGroup,)
+            }
+            CommitPED128(commit) => {
+                commit_function!(commit, Pedersen128CommitToAddress, Pedersen128CommitToField, Pedersen128CommitToGroup,)
+            }
+            Div(div) => binary!(div, Div),
+            DivWrapped(div_wrapped) => binary!(div_wrapped, DivWrapped),
+            Double(double) => unary!(double, Double),
+            GreaterThan(gt) => binary!(gt, Gt),
+            GreaterThanOrEqual(gte) => binary!(gte, Gte),
+            HashBHP256(hash) => hash_function!(
+                hash,
+                BHP256HashToAddress,
+                BHP256HashToField,
+                BHP256HashToGroup,
+                BHP256HashToI8,
+                BHP256HashToI16,
+                BHP256HashToI32,
+                BHP256HashToI64,
+                BHP256HashToI128,
+                BHP256HashToU8,
+                BHP256HashToU16,
+                BHP256HashToU32,
+                BHP256HashToU64,
+                BHP256HashToU128,
+                BHP256HashToScalar,
+            ),
+            HashBHP512(hash) => hash_function!(
+                hash,
+                BHP512HashToAddress,
+                BHP512HashToField,
+                BHP512HashToGroup,
+                BHP512HashToI8,
+                BHP512HashToI16,
+                BHP512HashToI32,
+                BHP512HashToI64,
+                BHP512HashToI128,
+                BHP512HashToU8,
+                BHP512HashToU16,
+                BHP512HashToU32,
+                BHP512HashToU64,
+                BHP512HashToU128,
+                BHP512HashToScalar,
+            ),
+            HashBHP768(hash) => hash_function!(
+                hash,
+                BHP768HashToAddress,
+                BHP768HashToField,
+                BHP768HashToGroup,
+                BHP768HashToI8,
+                BHP768HashToI16,
+                BHP768HashToI32,
+                BHP768HashToI64,
+                BHP768HashToI128,
+                BHP768HashToU8,
+                BHP768HashToU16,
+                BHP768HashToU32,
+                BHP768HashToU64,
+                BHP768HashToU128,
+                BHP768HashToScalar,
+            ),
+            HashBHP1024(hash) => hash_function!(
+                hash,
+                BHP1024HashToAddress,
+                BHP1024HashToField,
+                BHP1024HashToGroup,
+                BHP1024HashToI8,
+                BHP1024HashToI16,
+                BHP1024HashToI32,
+                BHP1024HashToI64,
+                BHP1024HashToI128,
+                BHP1024HashToU8,
+                BHP1024HashToU16,
+                BHP1024HashToU32,
+                BHP1024HashToU64,
+                BHP1024HashToU128,
+                BHP1024HashToScalar,
+            ),
+            HashKeccak256(hash) => hash_function!(
+                hash,
+                Keccak256HashToAddress,
+                Keccak256HashToField,
+                Keccak256HashToGroup,
+                Keccak256HashToI8,
+                Keccak256HashToI16,
+                Keccak256HashToI32,
+                Keccak256HashToI64,
+                Keccak256HashToI128,
+                Keccak256HashToU8,
+                Keccak256HashToU16,
+                Keccak256HashToU32,
+                Keccak256HashToU64,
+                Keccak256HashToU128,
+                Keccak256HashToScalar,
+            ),
+            HashKeccak384(hash) => hash_function!(
+                hash,
+                Keccak384HashToAddress,
+                Keccak384HashToField,
+                Keccak384HashToGroup,
+                Keccak384HashToI8,
+                Keccak384HashToI16,
+                Keccak384HashToI32,
+                Keccak384HashToI64,
+                Keccak384HashToI128,
+                Keccak384HashToU8,
+                Keccak384HashToU16,
+                Keccak384HashToU32,
+                Keccak384HashToU64,
+                Keccak384HashToU128,
+                Keccak384HashToScalar,
+            ),
+            HashKeccak512(hash) => hash_function!(
+                hash,
+                Keccak512HashToAddress,
+                Keccak512HashToField,
+                Keccak512HashToGroup,
+                Keccak512HashToI8,
+                Keccak512HashToI16,
+                Keccak512HashToI32,
+                Keccak512HashToI64,
+                Keccak512HashToI128,
+                Keccak512HashToU8,
+                Keccak512HashToU16,
+                Keccak512HashToU32,
+                Keccak512HashToU64,
+                Keccak512HashToU128,
+                Keccak512HashToScalar,
+            ),
+            HashPED64(hash) => hash_function!(
+                hash,
+                Pedersen64HashToAddress,
+                Pedersen64HashToField,
+                Pedersen64HashToGroup,
+                Pedersen64HashToI8,
+                Pedersen64HashToI16,
+                Pedersen64HashToI32,
+                Pedersen64HashToI64,
+                Pedersen64HashToI128,
+                Pedersen64HashToU8,
+                Pedersen64HashToU16,
+                Pedersen64HashToU32,
+                Pedersen64HashToU64,
+                Pedersen64HashToU128,
+                Pedersen64HashToScalar,
+            ),
+            HashPED128(hash) => hash_function!(
+                hash,
+                Pedersen128HashToAddress,
+                Pedersen128HashToField,
+                Pedersen128HashToGroup,
+                Pedersen128HashToI8,
+                Pedersen128HashToI16,
+                Pedersen128HashToI32,
+                Pedersen128HashToI64,
+                Pedersen128HashToI128,
+                Pedersen128HashToU8,
+                Pedersen128HashToU16,
+                Pedersen128HashToU32,
+                Pedersen128HashToU64,
+                Pedersen128HashToU128,
+                Pedersen128HashToScalar,
+            ),
+            HashPSD2(hash) => hash_function!(
+                hash,
+                Poseidon2HashToAddress,
+                Poseidon2HashToField,
+                Poseidon2HashToGroup,
+                Poseidon2HashToI8,
+                Poseidon2HashToI16,
+                Poseidon2HashToI32,
+                Poseidon2HashToI64,
+                Poseidon2HashToI128,
+                Poseidon2HashToU8,
+                Poseidon2HashToU16,
+                Poseidon2HashToU32,
+                Poseidon2HashToU64,
+                Poseidon2HashToU128,
+                Poseidon2HashToScalar,
+            ),
+            HashPSD4(hash) => hash_function!(
+                hash,
+                Poseidon4HashToAddress,
+                Poseidon4HashToField,
+                Poseidon4HashToGroup,
+                Poseidon4HashToI8,
+                Poseidon4HashToI16,
+                Poseidon4HashToI32,
+                Poseidon4HashToI64,
+                Poseidon4HashToI128,
+                Poseidon4HashToU8,
+                Poseidon4HashToU16,
+                Poseidon4HashToU32,
+                Poseidon4HashToU64,
+                Poseidon4HashToU128,
+                Poseidon4HashToScalar,
+            ),
+            HashPSD8(hash) => hash_function!(
+                hash,
+                Poseidon8HashToAddress,
+                Poseidon8HashToField,
+                Poseidon8HashToGroup,
+                Poseidon8HashToI8,
+                Poseidon8HashToI16,
+                Poseidon8HashToI32,
+                Poseidon8HashToI64,
+                Poseidon8HashToI128,
+                Poseidon8HashToU8,
+                Poseidon8HashToU16,
+                Poseidon8HashToU32,
+                Poseidon8HashToU64,
+                Poseidon8HashToU128,
+                Poseidon8HashToScalar,
+            ),
+            HashSha3_256(hash) => hash_function!(
+                hash,
+                SHA3_256HashToAddress,
+                SHA3_256HashToField,
+                SHA3_256HashToGroup,
+                SHA3_256HashToI8,
+                SHA3_256HashToI16,
+                SHA3_256HashToI32,
+                SHA3_256HashToI64,
+                SHA3_256HashToI128,
+                SHA3_256HashToU8,
+                SHA3_256HashToU16,
+                SHA3_256HashToU32,
+                SHA3_256HashToU64,
+                SHA3_256HashToU128,
+                SHA3_256HashToScalar,
+            ),
+            HashSha3_384(hash) => hash_function!(
+                hash,
+                SHA3_384HashToAddress,
+                SHA3_384HashToField,
+                SHA3_384HashToGroup,
+                SHA3_384HashToI8,
+                SHA3_384HashToI16,
+                SHA3_384HashToI32,
+                SHA3_384HashToI64,
+                SHA3_384HashToI128,
+                SHA3_384HashToU8,
+                SHA3_384HashToU16,
+                SHA3_384HashToU32,
+                SHA3_384HashToU64,
+                SHA3_384HashToU128,
+                SHA3_384HashToScalar,
+            ),
+            HashSha3_512(hash) => hash_function!(
+                hash,
+                SHA3_512HashToAddress,
+                SHA3_512HashToField,
+                SHA3_512HashToGroup,
+                SHA3_512HashToI8,
+                SHA3_512HashToI16,
+                SHA3_512HashToI32,
+                SHA3_512HashToI64,
+                SHA3_512HashToI128,
+                SHA3_512HashToU8,
+                SHA3_512HashToU16,
+                SHA3_512HashToU32,
+                SHA3_512HashToU64,
+                SHA3_512HashToU128,
+                SHA3_512HashToScalar,
+            ),
+            HashManyPSD2(_) | HashManyPSD4(_) | HashManyPSD8(_) => panic!("these instructions don't exist yet"),
+            Inv(inv) => unary!(inv, Inverse),
+            IsEq(eq) => binary!(eq, Eq),
+            IsNeq(neq) => binary!(neq, Neq),
+            LessThan(lt) => binary!(lt, Lt),
+            LessThanOrEqual(lte) => binary!(lte, Lte),
+            Modulo(modulo) => binary!(modulo, Mod),
+            Mul(mul) => binary!(mul, Mul),
+            MulWrapped(mul_wrapped) => binary!(mul_wrapped, MulWrapped),
+            Nand(nand) => binary!(nand, Nand),
+            Neg(neg) => unary!(neg, Negate),
+            Nor(nor) => binary!(nor, Nor),
+            Not(not) => unary!(not, Not),
+            Or(or) => binary!(or, BitwiseOr),
+            Pow(pow) => binary!(pow, Pow),
+            PowWrapped(pow_wrapped) => binary!(pow_wrapped, PowWrapped),
+            Rem(rem) => binary!(rem, Rem),
+            RemWrapped(rem_wrapped) => binary!(rem_wrapped, RemWrapped),
+            Shl(shl) => binary!(shl, Shl),
+            ShlWrapped(shl_wrapped) => binary!(shl_wrapped, ShlWrapped),
+            Shr(shr) => binary!(shr, Shr),
+            ShrWrapped(shr_wrapped) => binary!(shr_wrapped, ShrWrapped),
+            SignVerify(_) => todo!(),
+            Square(square) => unary!(square, Square),
+            SquareRoot(sqrt) => unary!(sqrt, SquareRoot),
+            Sub(sub) => binary!(sub, Sub),
+            SubWrapped(sub_wrapped) => binary!(sub_wrapped, SubWrapped),
+            Ternary(ternary) => {
+                let condition = self.operand_value(&ternary.operands()[0]);
+                let result = match condition {
+                    Value::Bool(true) => &ternary.operands()[1],
+                    Value::Bool(false) => &ternary.operands()[2],
+                    _ => panic!(),
+                };
+                self.increment_instruction_index();
+                (self.operand_value(result), ternary.destinations()[0].clone())
+            }
+            Xor(xor) => binary!(xor, Xor),
+        };
+
+        self.set_register(destination, value);
+
+        Ok(())
+    }
+
+    fn outputs(&self) -> Vec<Value> {
+        let Some(Frame { element, .. }) = self.frames.last() else {
+            panic!("frame expected");
+        };
+        let Element::AleoExecution { context, .. } = element else {
+            panic!("aleo execution expected");
+        };
+
+        let mut result = match context {
+            AleoContext::Closure(closure) => {
+                closure.outputs().iter().map(|output| self.operand_value(output.operand())).collect()
+            }
+            AleoContext::Function(function) => {
+                function.outputs().iter().map(|output| self.operand_value(output.operand())).collect()
+            }
+            AleoContext::Finalize(_finalize) => Vec::new(),
+        };
+
+        if result.is_empty() {
+            result.push(Value::Unit);
+        }
+        result
+    }
+
+    fn step_aleo_command(&mut self, command: Command<TestnetV0>) -> Result<()> {
+        use Command::*;
+
+        let (value, destination) = match command {
+            Instruction(instruction) => {
+                self.step_aleo_instruction(instruction)?;
+                return Ok(());
+            }
+            Await(await_) => {
+                let Value::Future(future) = self.get_register(await_.register()) else {
+                    halt_no_span!("attempted to await a non-future");
+                };
+                self.contexts.add_future(future.clone());
+                self.increment_instruction_index();
+                return Ok(());
+            }
+            Contains(contains) => {
+                let mapping = self.mapping_by_call_operator(contains.mapping()).expect("mapping should be present");
+                let key = self.operand_value(contains.key());
+                let result = Value::Bool(mapping.contains_key(&key));
+                self.increment_instruction_index();
+                (result, contains.destination().clone())
+            }
+            Get(get) => {
+                let key = self.operand_value(get.key());
+                let value = self.mapping_by_call_operator(get.mapping()).and_then(|mapping| mapping.get(&key)).cloned();
+                self.increment_instruction_index();
+
+                match value {
+                    Some(v) => (v, get.destination().clone()),
+                    None => halt_no_span!("map access failure: {key}"),
+                }
+            }
+            GetOrUse(get_or_use) => {
+                let key = self.operand_value(get_or_use.key());
+                let value =
+                    self.mapping_by_call_operator(get_or_use.mapping()).and_then(|mapping| mapping.get(&key)).cloned();
+
+                let use_value = value.unwrap_or_else(|| self.operand_value(get_or_use.default()));
+                self.increment_instruction_index();
+
+                (use_value, get_or_use.destination().clone())
+            }
+            Remove(remove) => {
+                let key = self.operand_value(remove.key());
+                let mapping_name = snarkvm_identifier_to_symbol(remove.mapping_name());
+                let maybe_mapping = self.lookup_mapping_mut(None, mapping_name);
+                match maybe_mapping {
+                    None => halt_no_span!("no such mapping {mapping_name}"),
+                    Some(mapping) => {
+                        mapping.remove(&key);
+                    }
+                }
+                self.increment_instruction_index();
+                return Ok(());
+            }
+            Set(set) => {
+                let key = self.operand_value(set.key());
+                let value = self.operand_value(set.value());
+                let mapping_name = snarkvm_identifier_to_symbol(set.mapping_name());
+                let maybe_mapping = self.lookup_mapping_mut(None, mapping_name);
+                match maybe_mapping {
+                    None => halt_no_span!("no such mapping {mapping_name}"),
+                    Some(mapping) => {
+                        mapping.insert(key, value);
+                    }
+                }
+                self.increment_instruction_index();
+                return Ok(());
+            }
+            RandChaCha(rand) => {
+                // If there are operands, they are additional seeds.
+                let mut bits = Vec::new();
+                for value in rand.operands().iter().map(|op| self.operand_value(op)) {
+                    value.write_bits_le(&mut bits);
+                }
+                let field: Field<TestnetV0> = self.rng.gen();
+                field.write_bits_le(&mut bits);
+                let seed_vec = TestnetV0::hash_bhp1024(&bits)?.to_bytes_le()?;
+                let mut seed = [0u8; 32];
+                seed.copy_from_slice(&seed_vec[..32]);
+                let mut rng = ChaCha20Rng::from_seed(seed);
+                let value = match rand.destination_type() {
+                    LiteralType::Address => Value::Address(rng.gen()),
+                    LiteralType::Boolean => Value::Bool(rng.gen()),
+                    LiteralType::Field => Value::Field(rng.gen()),
+                    LiteralType::Group => Value::Group(rng.gen()),
+                    LiteralType::I8 => Value::I8(rng.gen()),
+                    LiteralType::I16 => Value::I16(rng.gen()),
+                    LiteralType::I32 => Value::I32(rng.gen()),
+                    LiteralType::I64 => Value::I64(rng.gen()),
+                    LiteralType::I128 => Value::I128(rng.gen()),
+                    LiteralType::U8 => Value::U8(rng.gen()),
+                    LiteralType::U16 => Value::U16(rng.gen()),
+                    LiteralType::U32 => Value::U32(rng.gen()),
+                    LiteralType::U64 => Value::U64(rng.gen()),
+                    LiteralType::U128 => Value::U128(rng.gen()),
+                    LiteralType::Scalar => Value::Scalar(rng.gen()),
+                    LiteralType::Signature => halt_no_span!("Cannot create a random signature"),
+                    LiteralType::String => halt_no_span!("Cannot create a random string"),
+                };
+                self.increment_instruction_index();
+                (value, rand.destination().clone())
+            }
+            BranchEq(branch_eq) => {
+                let first = self.operand_value(branch_eq.first());
+                let second = self.operand_value(branch_eq.second());
+                if first.eq(&second)? {
+                    self.branch(branch_eq.position());
+                } else {
+                    self.increment_instruction_index();
+                }
+                return Ok(());
+            }
+            BranchNeq(branch_neq) => {
+                let first = self.operand_value(branch_neq.first());
+                let second = self.operand_value(branch_neq.second());
+                if first.neq(&second)? {
+                    self.branch(branch_neq.position());
+                } else {
+                    self.increment_instruction_index();
+                }
+                return Ok(());
+            }
+            Position(_) => return Ok(()),
+        };
+
+        self.set_register(destination, value);
+
+        Ok(())
+    }
+
+    fn branch(&mut self, label: &Identifier<TestnetV0>) {
+        let Some(Frame {
+            element: Element::AleoExecution { instruction_index, context: AleoContext::Finalize(finalize), .. },
+            ..
+        }) = self.frames.last_mut()
+        else {
+            panic!();
+        };
+        for (i, cmd) in finalize.commands().iter().enumerate() {
+            if let Command::Position(position) = cmd {
+                if position.name() == label {
+                    *instruction_index = i;
+                    return;
+                }
+            }
+        }
+        panic!("branch to nonexistent label {}", label);
+    }
+
+    pub fn step_aleo(&mut self) -> Result<()> {
+        if let Some(command) = self.next_command().cloned() {
+            self.step_aleo_command(command)?;
+        } else if let Some(instruction) = self.next_instruction().cloned() {
+            self.step_aleo_instruction(instruction)?;
+        }
+
+        if self.execution_complete() {
+            let mut outputs = self.outputs();
+            self.frames.pop();
+            self.contexts.pop();
+            if outputs.len() > 1 {
+                self.values.push(Value::Tuple(outputs));
+            } else {
+                self.values.push(mem::take(&mut outputs[0]));
+            }
+        }
+
+        Ok(())
+    }
+}
+
+fn snarkvm_literal_type_to_type(snarkvm_type: LiteralType) -> Type {
+    use Type::*;
+    match snarkvm_type {
+        LiteralType::Address => Address,
+        LiteralType::Boolean => Boolean,
+        LiteralType::Field => Field,
+        LiteralType::Group => Group,
+        LiteralType::I8 => Integer(IntegerType::I8),
+        LiteralType::I16 => Integer(IntegerType::I16),
+        LiteralType::I32 => Integer(IntegerType::I32),
+        LiteralType::I64 => Integer(IntegerType::I64),
+        LiteralType::I128 => Integer(IntegerType::I128),
+        LiteralType::U8 => Integer(IntegerType::U8),
+        LiteralType::U16 => Integer(IntegerType::U16),
+        LiteralType::U32 => Integer(IntegerType::U32),
+        LiteralType::U64 => Integer(IntegerType::U64),
+        LiteralType::U128 => Integer(IntegerType::U128),
+        LiteralType::Scalar => Scalar,
+        LiteralType::Signature => todo!(),
+        LiteralType::String => todo!(),
+    }
+}
+
+fn snarkvm_literal_to_value(literal: Literal<TestnetV0>) -> Value {
+    match literal {
+        Literal::Address(x) => Value::Address(x),
+        Literal::Boolean(x) => Value::Bool(*x),
+        Literal::Field(x) => Value::Field(x),
+        Literal::Group(x) => Value::Group(x),
+        Literal::I8(x) => Value::I8(*x),
+        Literal::I16(x) => Value::I16(*x),
+        Literal::I32(x) => Value::I32(*x),
+        Literal::I64(x) => Value::I64(*x),
+        Literal::I128(x) => Value::I128(*x),
+        Literal::U8(x) => Value::U8(*x),
+        Literal::U16(x) => Value::U16(*x),
+        Literal::U32(x) => Value::U32(*x),
+        Literal::U64(x) => Value::U64(*x),
+        Literal::U128(x) => Value::U128(*x),
+        Literal::Scalar(x) => Value::Scalar(x),
+        Literal::Signature(_) | Literal::String(_) => tc_fail!(),
+    }
+}
+
+fn value_to_snarkvm_literal(value: Value) -> Literal<TestnetV0> {
+    match value {
+        Value::Bool(x) => Literal::Boolean(Boolean::new(x)),
+        Value::U8(x) => Literal::U8(Integer::new(x)),
+        Value::U16(x) => Literal::U16(Integer::new(x)),
+        Value::U32(x) => Literal::U32(Integer::new(x)),
+        Value::U64(x) => Literal::U64(Integer::new(x)),
+        Value::U128(x) => Literal::U128(Integer::new(x)),
+        Value::I8(x) => Literal::I8(Integer::new(x)),
+        Value::I16(x) => Literal::I16(Integer::new(x)),
+        Value::I32(x) => Literal::I32(Integer::new(x)),
+        Value::I64(x) => Literal::I64(Integer::new(x)),
+        Value::I128(x) => Literal::I128(Integer::new(x)),
+        Value::Group(x) => Literal::Group(x),
+        Value::Field(x) => Literal::Field(x),
+        Value::Scalar(x) => Literal::Scalar(x),
+        Value::Address(x) => Literal::Address(x),
+        Value::Array(_) | Value::Tuple(_) | Value::Unit | Value::Future(_) | Value::Struct(_) => tc_fail!(),
+    }
+}
+
\ No newline at end of file diff --git a/src/leo_interpreter/dialoguer_input.rs.html b/src/leo_interpreter/dialoguer_input.rs.html new file mode 100644 index 0000000000..daeaf6ea8f --- /dev/null +++ b/src/leo_interpreter/dialoguer_input.rs.html @@ -0,0 +1,125 @@ +dialoguer_input.rs - source

leo_interpreter/
dialoguer_input.rs

+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
// Copyright (C) 2019-2024 Aleo Systems Inc.
+// This file is part of the Leo library.
+
+// The Leo library is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// The Leo library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with the Leo library. If not, see <https://www.gnu.org/licenses/>.
+
+use super::ui::{Ui, UserData};
+
+use colored::*;
+
+pub struct DialoguerUi {
+    history: dialoguer::BasicHistory,
+}
+
+impl DialoguerUi {
+    pub fn new() -> Self {
+        DialoguerUi { history: dialoguer::BasicHistory::new() }
+    }
+}
+
+impl Ui for DialoguerUi {
+    fn display_user_data(&mut self, data: &UserData<'_>) {
+        if let Some(result) = data.result {
+            println!("{}: {}", "Result".bold(), result.bright_cyan());
+        }
+        println!("{}", data.message);
+        if let Some(highlight_span) = data.highlight {
+            let first = data.code.get(0..highlight_span.0).expect("spans should be valid");
+            let second = data.code.get(highlight_span.0..highlight_span.1).expect("spans should be valid");
+            let third = data.code.get(highlight_span.1..).expect("spans should be valid");
+            println!("{first}{}{third}", second.red());
+        } else {
+            println!("{}", data.code);
+        }
+
+        for (i, future) in data.futures.iter().enumerate() {
+            println!("{i:>4}: {future}");
+        }
+
+        for (i, watchpoint) in data.watchpoints.iter().enumerate() {
+            println!("{i:>4}: {watchpoint}");
+        }
+    }
+
+    fn receive_user_input(&mut self) -> String {
+        dialoguer::Input::with_theme(&dialoguer::theme::ColorfulTheme::default())
+            .with_prompt("Command?")
+            .history_with(&mut self.history)
+            .interact_text()
+            .unwrap()
+    }
+}
+
\ No newline at end of file diff --git a/src/leo_interpreter/interpreter.rs.html b/src/leo_interpreter/interpreter.rs.html new file mode 100644 index 0000000000..1f5bcbb53b --- /dev/null +++ b/src/leo_interpreter/interpreter.rs.html @@ -0,0 +1,907 @@ +interpreter.rs - source

leo_interpreter/
interpreter.rs

+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
// Copyright (C) 2019-2024 Aleo Systems Inc.
+// This file is part of the Leo library.
+
+// The Leo library is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// The Leo library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with the Leo library. If not, see <https://www.gnu.org/licenses/>.
+
+use super::*;
+
+use leo_errors::{CompilerError, InterpreterHalt, LeoError, Result, emitter::Handler};
+
+/// Contains the state of interpretation, in the form of the `Cursor`,
+/// as well as information needed to interact with the user, like
+/// the breakpoints.
+pub struct Interpreter {
+    pub cursor: Cursor<'static>,
+    actions: Vec<InterpreterAction>,
+    handler: Handler,
+    node_builder: NodeBuilder,
+    breakpoints: Vec<Breakpoint>,
+    pub watchpoints: Vec<Watchpoint>,
+    saved_cursors: Vec<Cursor<'static>>,
+    filename_to_program: HashMap<PathBuf, String>,
+    parsed_inputs: u32,
+}
+
+#[derive(Clone, Debug)]
+pub struct Breakpoint {
+    pub program: String,
+    pub line: usize,
+}
+
+#[derive(Clone, Debug)]
+pub struct Watchpoint {
+    pub code: String,
+    pub last_result: Option<String>,
+}
+
+#[derive(Clone, Debug)]
+pub enum InterpreterAction {
+    LeoInterpretInto(String),
+    LeoInterpretOver(String),
+    Watch(String),
+    RunFuture(usize),
+    Breakpoint(Breakpoint),
+    PrintRegister(u64),
+    Into,
+    Over,
+    Step,
+    Run,
+}
+
+impl Interpreter {
+    pub fn new<'a, P: 'a + AsRef<Path>, Q: 'a + AsRef<Path>>(
+        leo_source_files: impl IntoIterator<Item = &'a P>,
+        aleo_source_files: impl IntoIterator<Item = &'a Q>,
+        signer: SvmAddress,
+        block_height: u32,
+    ) -> Result<Self> {
+        Self::new_impl(
+            &mut leo_source_files.into_iter().map(|p| p.as_ref()),
+            &mut aleo_source_files.into_iter().map(|p| p.as_ref()),
+            signer,
+            block_height,
+        )
+    }
+
+    fn get_ast(path: &Path, handler: &Handler, node_builder: &NodeBuilder) -> Result<Ast> {
+        let text = fs::read_to_string(path).map_err(|e| CompilerError::file_read_error(path, e))?;
+        let filename = FileName::Real(path.to_path_buf());
+        let source_file = with_session_globals(|s| s.source_map.new_source(&text, filename));
+        leo_parser::parse_ast::<TestnetV0>(handler, node_builder, &text, source_file.start_pos)
+    }
+
+    fn new_impl(
+        leo_source_files: &mut dyn Iterator<Item = &Path>,
+        aleo_source_files: &mut dyn Iterator<Item = &Path>,
+        signer: SvmAddress,
+        block_height: u32,
+    ) -> Result<Self> {
+        let handler = Handler::default();
+        let node_builder = Default::default();
+        let mut cursor: Cursor<'_> = Cursor::new(
+            true, // really_async
+            signer,
+            block_height,
+        );
+        let mut filename_to_program = HashMap::new();
+        for path in leo_source_files {
+            let ast = Self::get_ast(path, &handler, &node_builder)?;
+            // TODO: This leak is silly.
+            let ast = Box::leak(Box::new(ast));
+            for (&program, scope) in ast.ast.program_scopes.iter() {
+                filename_to_program.insert(path.to_path_buf(), program.to_string());
+                for (name, function) in scope.functions.iter() {
+                    cursor.functions.insert(GlobalId { program, name: *name }, FunctionVariant::Leo(function));
+                }
+
+                for (name, composite) in scope.structs.iter() {
+                    cursor.structs.insert(
+                        GlobalId { program, name: *name },
+                        composite.members.iter().map(|member| member.identifier.name).collect(),
+                    );
+                }
+
+                for (name, _mapping) in scope.mappings.iter() {
+                    cursor.mappings.insert(GlobalId { program, name: *name }, HashMap::new());
+                }
+
+                for (name, const_declaration) in scope.consts.iter() {
+                    cursor.frames.push(Frame {
+                        step: 0,
+                        element: Element::Expression(&const_declaration.value),
+                        user_initiated: false,
+                    });
+                    cursor.over()?;
+                    let value = cursor.values.pop().unwrap();
+                    cursor.globals.insert(GlobalId { program, name: *name }, value);
+                }
+            }
+        }
+
+        for path in aleo_source_files {
+            let aleo_program = Self::get_aleo_program(path)?;
+            // TODO: Another goofy leak.
+            let aleo_program = Box::leak(Box::new(aleo_program));
+            let program = snarkvm_identifier_to_symbol(aleo_program.id().name());
+            filename_to_program.insert(path.to_path_buf(), program.to_string());
+
+            for (name, struct_type) in aleo_program.structs().iter() {
+                cursor.structs.insert(
+                    GlobalId { program, name: snarkvm_identifier_to_symbol(name) },
+                    struct_type.members().keys().map(snarkvm_identifier_to_symbol).collect(),
+                );
+            }
+
+            for (name, record_type) in aleo_program.records().iter() {
+                cursor.structs.insert(
+                    GlobalId { program, name: snarkvm_identifier_to_symbol(name) },
+                    record_type.entries().keys().map(snarkvm_identifier_to_symbol).collect(),
+                );
+            }
+
+            for (name, _mapping) in aleo_program.mappings().iter() {
+                cursor.mappings.insert(GlobalId { program, name: snarkvm_identifier_to_symbol(name) }, HashMap::new());
+            }
+
+            for (name, function) in aleo_program.functions().iter() {
+                cursor.functions.insert(
+                    GlobalId { program, name: snarkvm_identifier_to_symbol(name) },
+                    FunctionVariant::AleoFunction(function),
+                );
+            }
+
+            for (name, closure) in aleo_program.closures().iter() {
+                cursor.functions.insert(
+                    GlobalId { program, name: snarkvm_identifier_to_symbol(name) },
+                    FunctionVariant::AleoClosure(closure),
+                );
+            }
+        }
+
+        Ok(Interpreter {
+            cursor,
+            handler,
+            node_builder,
+            actions: Vec::new(),
+            breakpoints: Vec::new(),
+            watchpoints: Vec::new(),
+            saved_cursors: Vec::new(),
+            filename_to_program,
+            parsed_inputs: 0,
+        })
+    }
+
+    pub fn save_cursor(&mut self) {
+        self.saved_cursors.push(self.cursor.clone());
+    }
+
+    /// Returns false if there was no saved cursor to restore.
+    pub fn restore_cursor(&mut self) -> bool {
+        if let Some(old_cursor) = self.saved_cursors.pop() {
+            self.cursor = old_cursor;
+            true
+        } else {
+            false
+        }
+    }
+
+    fn get_aleo_program(path: &Path) -> Result<Program<TestnetV0>> {
+        let text = fs::read_to_string(path).map_err(|e| CompilerError::file_read_error(path, e))?;
+        let program = text.parse()?;
+        Ok(program)
+    }
+
+    /// Returns true if any watchpoints changed.
+    pub fn update_watchpoints(&mut self) -> Result<bool> {
+        let mut changed = false;
+        let safe_cursor = self.cursor.clone();
+
+        for i in 0..self.watchpoints.len() {
+            let code = self.watchpoints[i].code.clone();
+            let new_value = match self.action(InterpreterAction::LeoInterpretOver(code)) {
+                Ok(None) => None,
+                Ok(Some(ret)) => Some(ret.to_string()),
+                Err(LeoError::InterpreterHalt(halt)) => {
+                    self.cursor = safe_cursor.clone();
+                    Some(halt.to_string())
+                }
+                Err(e) => return Err(e),
+            };
+            if self.watchpoints[i].last_result != new_value {
+                changed = true;
+                self.watchpoints[i].last_result = new_value;
+            }
+        }
+        Ok(changed)
+    }
+
+    pub fn action(&mut self, act: InterpreterAction) -> Result<Option<Value>> {
+        use InterpreterAction::*;
+
+        let ret = match &act {
+            RunFuture(n) => {
+                let future = self.cursor.futures.remove(*n);
+                for async_exec in future.0.into_iter().rev() {
+                    self.cursor.values.extend(async_exec.arguments);
+                    self.cursor.frames.push(Frame {
+                        step: 0,
+                        element: Element::DelayedCall(async_exec.function),
+                        user_initiated: true,
+                    });
+                }
+                self.cursor.step()?
+            }
+            LeoInterpretInto(s) | LeoInterpretOver(s) => {
+                let filename = FileName::Custom(format!("user_input{:04}", self.parsed_inputs));
+                self.parsed_inputs += 1;
+                let source_file = with_session_globals(|globals| globals.source_map.new_source(s, filename));
+                let s = s.trim();
+                if s.ends_with(';') {
+                    let statement = leo_parser::parse_statement::<TestnetV0>(
+                        &self.handler,
+                        &self.node_builder,
+                        s,
+                        source_file.start_pos,
+                    )
+                    .map_err(|_e| {
+                        LeoError::InterpreterHalt(InterpreterHalt::new("failed to parse statement".into()))
+                    })?;
+                    // TODO: This leak is silly.
+                    let stmt = Box::leak(Box::new(statement));
+
+                    // The spans of the code the user wrote at the REPL are meaningless, so get rid of them.
+                    self.cursor.frames.push(Frame { step: 0, element: Element::Statement(stmt), user_initiated: true });
+                } else {
+                    let expression = leo_parser::parse_expression::<TestnetV0>(
+                        &self.handler,
+                        &self.node_builder,
+                        s,
+                        source_file.start_pos,
+                    )
+                    .map_err(|e| {
+                        LeoError::InterpreterHalt(InterpreterHalt::new(format!("Failed to parse expression: {e}")))
+                    })?;
+                    // TODO: This leak is silly.
+                    let expr = Box::leak(Box::new(expression));
+
+                    // The spans of the code the user wrote at the REPL are meaningless, so get rid of them.
+                    self.cursor.frames.push(Frame {
+                        step: 0,
+                        element: Element::Expression(expr),
+                        user_initiated: true,
+                    });
+                };
+
+                if matches!(act, LeoInterpretOver(..)) {
+                    self.cursor.over()?
+                } else {
+                    StepResult { finished: false, value: None }
+                }
+            }
+
+            Step => self.cursor.whole_step()?,
+
+            Into => self.cursor.step()?,
+
+            Over => self.cursor.over()?,
+
+            Breakpoint(breakpoint) => {
+                self.breakpoints.push(breakpoint.clone());
+                StepResult { finished: false, value: None }
+            }
+
+            Watch(code) => {
+                self.watchpoints.push(Watchpoint { code: code.clone(), last_result: None });
+                StepResult { finished: false, value: None }
+            }
+
+            PrintRegister(register_index) => {
+                let Some(Frame { element: Element::AleoExecution { registers, .. }, .. }) = self.cursor.frames.last()
+                else {
+                    halt_no_span!("cannot print register - not currently interpreting Aleo VM code");
+                };
+
+                if let Some(value) = registers.get(register_index) {
+                    StepResult { finished: false, value: Some(value.clone()) }
+                } else {
+                    halt_no_span!("no such register {register_index}");
+                }
+            }
+
+            Run => {
+                while !self.cursor.frames.is_empty() {
+                    if let Some((program, line)) = self.current_program_and_line() {
+                        if self.breakpoints.iter().any(|bp| bp.program == program && bp.line == line) {
+                            return Ok(None);
+                        }
+                    }
+                    self.cursor.step()?;
+                    if self.update_watchpoints()? {
+                        return Ok(None);
+                    }
+                }
+                StepResult { finished: false, value: None }
+            }
+        };
+
+        self.actions.push(act);
+
+        Ok(ret.value)
+    }
+
+    pub fn view_current(&self) -> Option<impl Display> {
+        if let Some(span) = self.current_span() {
+            if span != Default::default() {
+                return with_session_globals(|s| s.source_map.contents_of_span(span));
+            }
+        }
+
+        Some(match self.cursor.frames.last()?.element {
+            Element::Statement(statement) => format!("{statement}"),
+            Element::Expression(expression) => format!("{expression}"),
+            Element::Block { block, .. } => format!("{block}"),
+            Element::DelayedCall(gid) => format!("Delayed call to {gid}"),
+            Element::AleoExecution { context, instruction_index, .. } => match context {
+                AleoContext::Closure(closure) => closure.instructions().get(instruction_index).map(|i| format!("{i}")),
+                AleoContext::Function(function) => {
+                    function.instructions().get(instruction_index).map(|i| format!("{i}"))
+                }
+                AleoContext::Finalize(finalize) => finalize.commands().get(instruction_index).map(|i| format!("{i}")),
+            }
+            .unwrap_or_else(|| "...".to_string()),
+        })
+    }
+
+    pub fn view_current_in_context(&self) -> Option<(impl Display, usize, usize)> {
+        if let Some(Frame { element: Element::AleoExecution { context, instruction_index, .. }, .. }) =
+            self.cursor.frames.last()
+        {
+            // For Aleo VM code, there are no spans; just print out the code without referring to the source code.
+
+            fn write_all<I: Display>(
+                items: impl Iterator<Item = I>,
+                instruction_index: usize,
+                result: &mut String,
+                start: &mut usize,
+                stop: &mut usize,
+            ) {
+                for (i, item) in items.enumerate() {
+                    if i == instruction_index {
+                        *start = result.len();
+                    }
+                    writeln!(result, "    {item}").expect("write shouldn't fail");
+                    if i == instruction_index {
+                        *stop = result.len();
+                    }
+                }
+            }
+
+            let mut result = String::new();
+            let mut start: usize = 0usize;
+            let mut stop: usize = 0usize;
+
+            match context {
+                AleoContext::Closure(closure) => {
+                    writeln!(&mut result, "closure {}", closure.name()).expect("write shouldn't fail");
+                    write_all(closure.inputs().iter(), usize::MAX, &mut result, &mut 0usize, &mut 0usize);
+                    write_all(closure.instructions().iter(), *instruction_index, &mut result, &mut start, &mut stop);
+                    write_all(closure.outputs().iter(), usize::MAX, &mut result, &mut 0usize, &mut 0usize);
+                }
+                AleoContext::Function(function) => {
+                    writeln!(&mut result, "function {}", function.name()).expect("write shouldn't fail");
+                    write_all(function.inputs().iter(), usize::MAX, &mut result, &mut 0usize, &mut 0usize);
+                    write_all(function.instructions().iter(), *instruction_index, &mut result, &mut start, &mut stop);
+                    write_all(function.outputs().iter(), usize::MAX, &mut result, &mut 0usize, &mut 0usize);
+                }
+                AleoContext::Finalize(finalize) => {
+                    writeln!(&mut result, "finalize {}", finalize.name()).expect("write shouldn't fail");
+                    write_all(finalize.inputs().iter(), usize::MAX, &mut result, &mut 0usize, &mut 0usize);
+                    write_all(finalize.commands().iter(), *instruction_index, &mut result, &mut start, &mut stop);
+                }
+            }
+
+            Some((result, start, stop))
+        } else {
+            // For Leo code, we use spans to print the original source code.
+            let span = self.current_span()?;
+            if span == Default::default() {
+                return None;
+            }
+            with_session_globals(|s| {
+                let source_file = s.source_map.find_source_file(span.lo)?;
+                let first_span = Span::new(source_file.start_pos, span.lo);
+                let last_span = Span::new(span.hi, source_file.end_pos);
+                let mut result = String::new();
+                result.push_str(&s.source_map.contents_of_span(first_span)?);
+                let start = result.len();
+                result.push_str(&s.source_map.contents_of_span(span)?);
+                let stop = result.len();
+                result.push_str(&s.source_map.contents_of_span(last_span)?);
+                Some((result, start, stop))
+            })
+        }
+    }
+
+    fn current_program_and_line(&self) -> Option<(String, usize)> {
+        if let Some(span) = self.current_span() {
+            if let Some(location) = with_session_globals(|s| s.source_map.span_to_location(span)) {
+                let line = location.line_start;
+                if let FileName::Real(name) = &location.source_file.name {
+                    if let Some(program) = self.filename_to_program.get(name) {
+                        return Some((program.clone(), line));
+                    }
+                }
+            }
+        }
+        None
+    }
+
+    fn current_span(&self) -> Option<Span> {
+        self.cursor.frames.last().map(|f| f.element.span())
+    }
+}
+
\ No newline at end of file diff --git a/src/leo_interpreter/lib.rs.html b/src/leo_interpreter/lib.rs.html new file mode 100644 index 0000000000..9c23ff2b5a --- /dev/null +++ b/src/leo_interpreter/lib.rs.html @@ -0,0 +1,535 @@ +lib.rs - source

leo_interpreter/
lib.rs

+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
// Copyright (C) 2019-2024 Aleo Systems Inc.
+// This file is part of the Leo library.
+
+// The Leo library is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// The Leo library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with the Leo library. If not, see <https://www.gnu.org/licenses/>.
+
+use leo_ast::{Ast, Node as _, NodeBuilder};
+use leo_errors::{InterpreterHalt, LeoError, Result};
+use leo_span::{Span, source_map::FileName, symbol::with_session_globals};
+
+use snarkvm::prelude::{Program, TestnetV0};
+
+use std::{
+    collections::HashMap,
+    fmt::{Display, Write as _},
+    fs,
+    path::{Path, PathBuf},
+};
+
+#[cfg(test)]
+mod test;
+
+mod util;
+use util::*;
+
+mod cursor;
+use cursor::*;
+
+mod interpreter;
+use interpreter::*;
+
+mod cursor_aleo;
+
+mod value;
+use value::*;
+
+mod ui;
+use ui::Ui;
+
+mod dialoguer_input;
+
+mod ratatui_ui;
+
+const INTRO: &str = "This is the Leo Interpreter. Try the command `#help`.";
+
+const HELP: &str = "
+You probably want to start by running a function or transition.
+For instance
+#into program.aleo/main()
+Once a function is running, commands include
+#into    to evaluate into the next expression or statement;
+#step    to take one step towards evaluating the current expression or statement;
+#over    to complete evaluating the current expression or statement;
+#run     to finish evaluating
+#quit    to quit the interpreter.
+
+You can set a breakpoint with
+#break program_name line_number
+
+When executing Aleo VM code, you can print the value of a register like this:
+#print 2
+
+Some of the commands may be run with one letter abbreviations, such as #i.
+
+Note that this interpreter is not line oriented as in many common debuggers;
+rather it is oriented around expressions and statements.
+As you step into code, individual expressions or statements will
+be evaluated one by one, including arguments of function calls.
+
+You may simply enter Leo expressions or statements on the command line
+to evaluate. For instance, if you want to see the value of a variable w:
+w
+If you want to set w to a new value:
+w = z + 2u8;
+
+Note that statements (like the assignment above) must end with a semicolon.
+
+If there are futures available to be executed, they will be listed by
+numerical index, and you may run them using `#future` (or `#f`); for instance
+#future 0
+
+The interpreter begins in a global context, not in any Leo program. You can set
+the current program with
+
+#set_program program_name
+
+This allows you to refer to structs and other items in the indicated program.
+
+The interpreter may enter an invalid state, often due to Leo code entered at the
+REPL. In this case, you may use the command
+
+#restore
+
+Which will restore to the last saved state of the interpreter. Any time you
+enter Leo code at the prompt, interpreter state is saved.
+
+Input history is available - use the up and down arrow keys.
+";
+
+fn parse_breakpoint(s: &str) -> Option<Breakpoint> {
+    let strings: Vec<&str> = s.split_whitespace().collect();
+    if strings.len() == 2 {
+        if let Ok(line) = strings[1].parse::<usize>() {
+            let program = strings[0].strip_suffix(".aleo").unwrap_or(strings[0]).to_string();
+            return Some(Breakpoint { program, line });
+        }
+    }
+    None
+}
+
+/// Load all the Leo source files indicated and open the interpreter
+/// to commands from the user.
+pub fn interpret(
+    leo_filenames: &[PathBuf],
+    aleo_filenames: &[PathBuf],
+    signer: SvmAddress,
+    block_height: u32,
+    tui: bool,
+) -> Result<()> {
+    let mut interpreter = Interpreter::new(leo_filenames.iter(), aleo_filenames.iter(), signer, block_height)?;
+
+    let mut user_interface: Box<dyn Ui> =
+        if tui { Box::new(ratatui_ui::RatatuiUi::new()) } else { Box::new(dialoguer_input::DialoguerUi::new()) };
+
+    let mut code = String::new();
+    let mut futures = Vec::new();
+    let mut watchpoints = Vec::new();
+    let mut message = INTRO.to_string();
+    let mut result = String::new();
+
+    loop {
+        code.clear();
+        futures.clear();
+        watchpoints.clear();
+
+        let (code, highlight) = if let Some((code, lo, hi)) = interpreter.view_current_in_context() {
+            (code.to_string(), Some((lo, hi)))
+        } else if let Some(v) = interpreter.view_current() {
+            (v.to_string(), None)
+        } else {
+            ("".to_string(), None)
+        };
+
+        futures.extend(interpreter.cursor.futures.iter().map(|f| f.to_string()));
+
+        interpreter.update_watchpoints()?;
+
+        watchpoints.extend(interpreter.watchpoints.iter().map(|watchpoint| {
+            format!("{:>15} = {}", watchpoint.code, if let Some(s) = &watchpoint.last_result { &**s } else { "?" })
+        }));
+
+        let user_data = ui::UserData {
+            code: &code,
+            highlight,
+            message: &message,
+            futures: &futures,
+            watchpoints: &watchpoints,
+            result: if result.is_empty() { None } else { Some(&result) },
+        };
+
+        user_interface.display_user_data(&user_data);
+
+        message.clear();
+        result.clear();
+
+        let user_input = user_interface.receive_user_input();
+
+        let (command, rest) = tokenize_user_input(&user_input);
+
+        let action = match (command, rest) {
+            ("", "") => continue,
+            ("#h" | "#help", "") => {
+                message = HELP.to_string();
+                continue;
+            }
+            ("#i" | "#into", "") => InterpreterAction::Into,
+            ("#i" | "#into", rest) => InterpreterAction::LeoInterpretInto(rest.into()),
+            ("#s" | "#step", "") => InterpreterAction::Step,
+            ("#o" | "#over", "") => InterpreterAction::Over,
+            ("#r" | "#run", "") => InterpreterAction::Run,
+            ("#q" | "#quit", "") => return Ok(()),
+            ("#f" | "#future", rest) => {
+                if let Ok(num) = rest.trim().parse::<usize>() {
+                    if num >= interpreter.cursor.futures.len() {
+                        message = "No such future.".to_string();
+                        continue;
+                    }
+                    InterpreterAction::RunFuture(num)
+                } else {
+                    message = "Failed to parse future.".to_string();
+                    continue;
+                }
+            }
+            ("#restore", "") => {
+                if !interpreter.restore_cursor() {
+                    message = "No saved state to restore".to_string();
+                }
+                continue;
+            }
+            ("#b" | "#break", rest) => {
+                let Some(breakpoint) = parse_breakpoint(rest) else {
+                    message = "Failed to parse breakpoint".to_string();
+                    continue;
+                };
+                InterpreterAction::Breakpoint(breakpoint)
+            }
+            ("#p" | "#print", rest) => {
+                let without_r = rest.strip_prefix("r").unwrap_or(rest);
+                if let Ok(num) = without_r.parse::<u64>() {
+                    InterpreterAction::PrintRegister(num)
+                } else {
+                    message = "Failed to parse register number".to_string();
+                    continue;
+                }
+            }
+            ("#w" | "#watch", rest) => InterpreterAction::Watch(rest.to_string()),
+            ("#set_program", rest) => {
+                interpreter.cursor.set_program(rest);
+                continue;
+            }
+            ("", rest) => InterpreterAction::LeoInterpretOver(rest.to_string()),
+            _ => {
+                message = "Failed to parse command".to_string();
+                continue;
+            }
+        };
+
+        if matches!(action, InterpreterAction::LeoInterpretInto(..) | InterpreterAction::LeoInterpretOver(..)) {
+            interpreter.save_cursor();
+        }
+
+        match interpreter.action(action) {
+            Ok(Some(value)) => {
+                result = value.to_string();
+            }
+            Ok(None) => {}
+            Err(LeoError::InterpreterHalt(interpreter_halt)) => {
+                message = format!("Halted: {interpreter_halt}");
+            }
+            Err(e) => return Err(e),
+        }
+    }
+}
+
+fn tokenize_user_input(input: &str) -> (&str, &str) {
+    let input = input.trim();
+
+    if !input.starts_with("#") {
+        return ("", input);
+    }
+
+    let Some((first, rest)) = input.split_once(' ') else {
+        return (input, "");
+    };
+
+    (first.trim(), rest.trim())
+}
+
\ No newline at end of file diff --git a/src/leo_interpreter/ratatui_ui.rs.html b/src/leo_interpreter/ratatui_ui.rs.html new file mode 100644 index 0000000000..974d8f3b41 --- /dev/null +++ b/src/leo_interpreter/ratatui_ui.rs.html @@ -0,0 +1,741 @@ +ratatui_ui.rs - source

leo_interpreter/
ratatui_ui.rs

+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
// Copyright (C) 2019-2024 Aleo Systems Inc.
+// This file is part of the Leo library.
+
+// The Leo library is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// The Leo library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with the Leo library. If not, see <https://www.gnu.org/licenses/>.
+
+use super::ui::{Ui, UserData};
+
+use std::{cmp, collections::VecDeque, io::Stdout, mem};
+
+use crossterm::event::{self, Event, KeyCode, KeyModifiers};
+use ratatui::{
+    Frame,
+    Terminal,
+    prelude::{
+        Buffer,
+        Constraint,
+        CrosstermBackend,
+        Direction,
+        Layout,
+        Line,
+        Modifier,
+        Rect,
+        Span,
+        Style,
+        Stylize as _,
+    },
+    text::Text,
+    widgets::{Block, Paragraph, Widget},
+};
+
+#[derive(Default)]
+struct DrawData {
+    code: String,
+    highlight: Option<(usize, usize)>,
+    result: String,
+    watchpoints: Vec<String>,
+    message: String,
+    prompt: Prompt,
+}
+
+pub struct RatatuiUi {
+    terminal: Terminal<CrosstermBackend<Stdout>>,
+    data: DrawData,
+}
+
+impl Drop for RatatuiUi {
+    fn drop(&mut self) {
+        ratatui::restore();
+    }
+}
+
+impl RatatuiUi {
+    pub fn new() -> Self {
+        RatatuiUi { terminal: ratatui::init(), data: Default::default() }
+    }
+}
+
+fn append_lines<'a>(
+    lines: &mut Vec<Line<'a>>,
+    mut last_chunk: Option<Line<'a>>,
+    string: &'a str,
+    style: Style,
+) -> Option<Line<'a>> {
+    let mut line_iter = string.lines().peekable();
+    while let Some(line) = line_iter.next() {
+        let this_span = Span::styled(line, style);
+        let mut real_last_chunk = mem::take(&mut last_chunk).unwrap_or_else(|| Line::raw(""));
+        real_last_chunk.push_span(this_span);
+        if line_iter.peek().is_some() {
+            lines.push(real_last_chunk);
+        } else if string.ends_with('\n') {
+            lines.push(real_last_chunk);
+            return None;
+        } else {
+            return Some(real_last_chunk);
+        }
+    }
+
+    last_chunk
+}
+
+fn code_text(s: &str, highlight: Option<(usize, usize)>) -> (Text, usize) {
+    let Some((lo, hi)) = highlight else {
+        return (Text::from(s), 0);
+    };
+
+    let s1 = s.get(..lo).expect("should be able to split text");
+    let s2 = s.get(lo..hi).expect("should be able to split text");
+    let s3 = s.get(hi..).expect("should be able to split text");
+
+    let mut lines = Vec::new();
+
+    let s1_chunk = append_lines(&mut lines, None, s1, Style::default());
+    let line = lines.len();
+    let s2_chunk = append_lines(&mut lines, s1_chunk, s2, Style::new().red());
+    let s3_chunk = append_lines(&mut lines, s2_chunk, s3, Style::default());
+
+    if let Some(chunk) = s3_chunk {
+        lines.push(chunk);
+    }
+
+    (Text::from(lines), line)
+}
+
+struct DebuggerLayout {
+    code: Rect,
+    result: Rect,
+    watchpoints: Rect,
+    user_input: Rect,
+    message: Rect,
+}
+
+impl DebuggerLayout {
+    fn new(total: Rect) -> Self {
+        let overall_layout = Layout::default()
+            .direction(Direction::Vertical)
+            .constraints([
+                Constraint::Fill(1),   // Code
+                Constraint::Length(6), // Result and watchpoints
+                Constraint::Length(3), // Message
+                Constraint::Length(3), // User input
+            ])
+            .split(total);
+        let code = overall_layout[0];
+        let middle = overall_layout[1];
+        let message = overall_layout[2];
+        let user_input = overall_layout[3];
+
+        let middle = Layout::default()
+            .direction(Direction::Horizontal)
+            .constraints([Constraint::Percentage(50), Constraint::Percentage(50)])
+            .split(middle);
+
+        DebuggerLayout { code, result: middle[0], watchpoints: middle[1], user_input, message }
+    }
+}
+
+#[derive(Debug, Default)]
+struct Prompt {
+    history: VecDeque<String>,
+    history_index: usize,
+    current: String,
+    cursor: usize,
+}
+
+impl<'a> Widget for &'a Prompt {
+    fn render(self, area: Rect, buf: &mut Buffer) {
+        let mut plain = || {
+            Text::raw(&self.current).render(area, buf);
+        };
+
+        if self.cursor >= self.current.len() {
+            let span1 = Span::raw(&self.current);
+            let span2 = Span::styled(" ", Style::new().add_modifier(Modifier::REVERSED));
+            Text::from(Line::from_iter([span1, span2])).render(area, buf);
+            return;
+        }
+
+        let Some(pre) = self.current.get(..self.cursor) else {
+            plain();
+            return;
+        };
+
+        let Some(c) = self.current.get(self.cursor..self.cursor + 1) else {
+            plain();
+            return;
+        };
+
+        let Some(post) = self.current.get(self.cursor + 1..) else {
+            plain();
+            return;
+        };
+
+        Text::from(Line::from_iter([
+            Span::raw(pre),
+            Span::styled(c, Style::new().add_modifier(Modifier::REVERSED)),
+            Span::raw(post),
+        ]))
+        .render(area, buf);
+    }
+}
+
+impl Prompt {
+    fn handle_key(&mut self, key: KeyCode, control: bool) -> Option<String> {
+        match (key, control) {
+            (KeyCode::Enter, _) => {
+                self.history.push_back(mem::take(&mut self.current));
+                self.history_index = self.history.len();
+                return self.history.back().cloned();
+            }
+            (KeyCode::Backspace, _) => self.backspace(),
+            (KeyCode::Left, _) => self.left(),
+            (KeyCode::Right, _) => self.right(),
+            (KeyCode::Up, _) => self.history_prev(),
+            (KeyCode::Down, _) => self.history_next(),
+            (KeyCode::Delete, _) => self.delete(),
+            (KeyCode::Char(c), false) => self.new_character(c),
+            (KeyCode::Char('a'), true) => self.beginning_of_line(),
+            (KeyCode::Char('e'), true) => self.end_of_line(),
+            _ => {}
+        }
+
+        None
+    }
+
+    fn new_character(&mut self, c: char) {
+        if self.cursor >= self.current.len() {
+            self.current.push(c);
+            self.cursor = self.current.len();
+        } else {
+            let Some(pre) = self.current.get(..self.cursor) else {
+                return;
+            };
+            let Some(post) = self.current.get(self.cursor..) else {
+                return;
+            };
+            let mut with_char = format!("{pre}{c}");
+            self.cursor = with_char.len();
+            with_char.push_str(post);
+            self.current = with_char;
+        }
+        self.check_history();
+    }
+
+    fn right(&mut self) {
+        self.cursor = cmp::min(self.cursor + 1, self.current.len());
+    }
+
+    fn left(&mut self) {
+        self.cursor = self.cursor.saturating_sub(1);
+    }
+
+    fn backspace(&mut self) {
+        if self.cursor == 0 {
+            return;
+        }
+
+        if self.cursor >= self.current.len() {
+            self.current.pop();
+            self.cursor = self.current.len();
+            return;
+        }
+
+        let Some(pre) = self.current.get(..self.cursor - 1) else {
+            return;
+        };
+        let Some(post) = self.current.get(self.cursor..) else {
+            return;
+        };
+        self.cursor -= 1;
+
+        let s = format!("{pre}{post}");
+
+        self.current = s;
+
+        self.check_history();
+    }
+
+    fn delete(&mut self) {
+        if self.cursor + 1 >= self.current.len() {
+            return;
+        }
+
+        let Some(pre) = self.current.get(..self.cursor) else {
+            return;
+        };
+        let Some(post) = self.current.get(self.cursor + 1..) else {
+            return;
+        };
+
+        let s = format!("{pre}{post}");
+
+        self.current = s;
+
+        self.check_history();
+    }
+
+    fn beginning_of_line(&mut self) {
+        self.cursor = 0;
+    }
+
+    fn end_of_line(&mut self) {
+        self.cursor = self.current.len();
+    }
+
+    fn history_next(&mut self) {
+        self.history_index += 1;
+        if self.history_index > self.history.len() {
+            self.history_index = 0;
+        }
+        self.current = self.history.get(self.history_index).cloned().unwrap_or(String::new());
+    }
+
+    fn history_prev(&mut self) {
+        if self.history_index == 0 {
+            self.history_index = self.history.len();
+        } else {
+            self.history_index -= 1;
+        }
+        self.current = self.history.get(self.history_index).cloned().unwrap_or(String::new());
+    }
+
+    fn check_history(&mut self) {
+        const MAX_HISTORY: usize = 50;
+
+        while self.history.len() > MAX_HISTORY {
+            self.history.pop_front();
+        }
+
+        self.history_index = self.history.len();
+    }
+}
+
+fn render_titled<W: Widget>(frame: &mut Frame, widget: W, title: &str, area: Rect) {
+    let block = Block::bordered().title(title);
+    frame.render_widget(widget, block.inner(area));
+    frame.render_widget(block, area);
+}
+
+impl DrawData {
+    fn draw(&mut self, frame: &mut Frame) {
+        let layout = DebuggerLayout::new(frame.area());
+
+        let (code, line) = code_text(&self.code, self.highlight);
+        let p = Paragraph::new(code).scroll((line.saturating_sub(4) as u16, 0));
+        render_titled(frame, p, "code", layout.code);
+
+        render_titled(frame, Text::raw(&self.result), "Result", layout.result);
+
+        render_titled(frame, Text::from_iter(self.watchpoints.iter().map(|s| &**s)), "Watchpoints", layout.watchpoints);
+
+        render_titled(frame, Text::raw(&self.message), "Message", layout.message);
+
+        render_titled(frame, &self.prompt, "Command:", layout.user_input);
+    }
+}
+
+impl Ui for RatatuiUi {
+    fn display_user_data(&mut self, data: &UserData<'_>) {
+        self.data.code = data.code.to_string();
+        self.data.highlight = data.highlight;
+        self.data.result = data.result.map(|s| s.to_string()).unwrap_or_default();
+        self.data.watchpoints.clear();
+        self.data.watchpoints.extend(data.watchpoints.iter().enumerate().map(|(i, s)| format!("{i:>2} {s}")));
+        self.data.message = data.message.to_string();
+    }
+
+    fn receive_user_input(&mut self) -> String {
+        loop {
+            self.terminal.draw(|frame| self.data.draw(frame)).expect("failed to draw frame");
+            if let Event::Key(key_event) = event::read().expect("event") {
+                let control = key_event.modifiers.contains(KeyModifiers::CONTROL);
+                if let Some(string) = self.data.prompt.handle_key(key_event.code, control) {
+                    return string;
+                }
+            }
+        }
+    }
+}
+
\ No newline at end of file diff --git a/src/leo_interpreter/ui.rs.html b/src/leo_interpreter/ui.rs.html new file mode 100644 index 0000000000..0f261e5555 --- /dev/null +++ b/src/leo_interpreter/ui.rs.html @@ -0,0 +1,61 @@ +ui.rs - source

leo_interpreter/
ui.rs

+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
// Copyright (C) 2019-2024 Aleo Systems Inc.
+// This file is part of the Leo library.
+
+// The Leo library is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// The Leo library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with the Leo library. If not, see <https://www.gnu.org/licenses/>.
+
+pub struct UserData<'a> {
+    pub code: &'a str,
+    pub highlight: Option<(usize, usize)>,
+    pub message: &'a str,
+    pub futures: &'a [String],
+    pub watchpoints: &'a [String],
+    pub result: Option<&'a str>,
+}
+
+pub trait Ui {
+    fn display_user_data(&mut self, data: &UserData<'_>);
+
+    fn receive_user_input(&mut self) -> String;
+}
+
\ No newline at end of file diff --git a/src/leo_interpreter/util.rs.html b/src/leo_interpreter/util.rs.html new file mode 100644 index 0000000000..b569737c9a --- /dev/null +++ b/src/leo_interpreter/util.rs.html @@ -0,0 +1,151 @@ +util.rs - source

leo_interpreter/
util.rs

+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
// Copyright (C) 2019-2024 Aleo Systems Inc.
+// This file is part of the Leo library.
+
+// The Leo library is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// The Leo library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with the Leo library. If not, see <https://www.gnu.org/licenses/>.
+
+use leo_errors::{InterpreterHalt, Result};
+use leo_span::{Span, Symbol};
+
+use snarkvm::prelude::{Identifier, TestnetV0};
+
+#[macro_export]
+macro_rules! tc_fail {
+    () => {
+        panic!("type checker failure")
+    };
+}
+
+#[macro_export]
+macro_rules! halt_no_span {
+    ($($x:tt)*) => {
+        return Err(InterpreterHalt::new(format!($($x)*)).into())
+    }
+}
+
+#[macro_export]
+macro_rules! halt {
+    ($span: expr) => {
+        return Err(InterpreterHalt::new_spanned(String::new(), $span).into())
+
+    };
+
+    ($span: expr, $($x:tt)*) => {
+        return Err(InterpreterHalt::new_spanned(format!($($x)*), $span).into())
+    };
+}
+
+pub trait ExpectTc {
+    type T;
+    fn expect_tc(self, span: Span) -> Result<Self::T>;
+}
+
+impl<T> ExpectTc for Option<T> {
+    type T = T;
+
+    fn expect_tc(self, span: Span) -> Result<Self::T> {
+        match self {
+            Some(t) => Ok(t),
+            None => Err(InterpreterHalt::new_spanned("type failure".into(), span).into()),
+        }
+    }
+}
+
+impl<T, U: std::fmt::Debug> ExpectTc for Result<T, U> {
+    type T = T;
+
+    fn expect_tc(self, span: Span) -> Result<Self::T> {
+        self.map_err(|_e| InterpreterHalt::new_spanned("type failure".into(), span).into())
+    }
+}
+
+pub fn snarkvm_identifier_to_symbol(id: &Identifier<TestnetV0>) -> Symbol {
+    let s = id.to_string();
+    Symbol::intern(&s)
+}
+
\ No newline at end of file diff --git a/src/leo_interpreter/value.rs.html b/src/leo_interpreter/value.rs.html new file mode 100644 index 0000000000..cd6fb39af7 --- /dev/null +++ b/src/leo_interpreter/value.rs.html @@ -0,0 +1,977 @@ +value.rs - source

leo_interpreter/
value.rs

+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+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
// Copyright (C) 2019-2024 Aleo Systems Inc.
+// This file is part of the Leo library.
+
+// The Leo library is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// The Leo library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with the Leo library. If not, see <https://www.gnu.org/licenses/>.
+
+use super::*;
+
+use leo_ast::{IntegerType, Type};
+use leo_span::Symbol;
+
+use snarkvm::prelude::{
+    Address as SvmAddressParam,
+    Boolean as SvmBooleanParam,
+    Cast,
+    Field as SvmFieldParam,
+    FromBits as _,
+    Group as SvmGroupParam,
+    Identifier as SvmIdentifierParam,
+    Literal,
+    Plaintext,
+    Scalar as SvmScalarParam,
+    // Signature as SvmSignatureParam,
+    TestnetV0,
+    ToBits,
+    integers::Integer as SvmIntegerParam,
+};
+
+use indexmap::IndexMap;
+use std::{
+    fmt,
+    hash::{Hash, Hasher},
+    str::FromStr as _,
+};
+
+pub type SvmAddress = SvmAddressParam<TestnetV0>;
+type SvmBoolean = SvmBooleanParam<TestnetV0>;
+type SvmField = SvmFieldParam<TestnetV0>;
+type SvmGroup = SvmGroupParam<TestnetV0>;
+type SvmIdentifier = SvmIdentifierParam<TestnetV0>;
+type SvmInteger<I> = SvmIntegerParam<TestnetV0, I>;
+type SvmScalar = SvmScalarParam<TestnetV0>;
+// type SvmSignature = SvmSignatureParam<TestnetV0>;
+
+#[derive(Clone, Debug, Eq, PartialEq)]
+pub struct StructContents {
+    pub name: Symbol,
+    pub contents: IndexMap<Symbol, Value>,
+}
+
+impl Hash for StructContents {
+    fn hash<H: Hasher>(&self, state: &mut H) {
+        self.name.hash(state);
+        for (_symbol, value) in self.contents.iter() {
+            value.hash(state);
+        }
+    }
+}
+
+#[derive(Clone, Debug, Eq, PartialEq, Hash)]
+pub struct AsyncExecution {
+    pub function: GlobalId,
+    pub arguments: Vec<Value>,
+}
+
+#[derive(Clone, Debug, Default, Eq, PartialEq, Hash)]
+pub struct Future(pub Vec<AsyncExecution>);
+
+impl fmt::Display for Future {
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+        write!(f, "Future")?;
+        if !self.0.is_empty() {
+            write!(f, " with calls to ")?;
+            let mut names = self.0.iter().map(|async_ex| async_ex.function).peekable();
+            while let Some(name) = names.next() {
+                write!(f, "{name}")?;
+                if names.peek().is_some() {
+                    write!(f, ", ")?;
+                }
+            }
+        }
+        Ok(())
+    }
+}
+
+/// A Leo value of any type.
+///
+/// Mappings and functions aren't considered values.
+#[derive(Clone, Debug, Default, Eq, PartialEq, Hash)]
+pub enum Value {
+    #[default]
+    Unit,
+    Bool(bool),
+    U8(u8),
+    U16(u16),
+    U32(u32),
+    U64(u64),
+    U128(u128),
+    I8(i8),
+    I16(i16),
+    I32(i32),
+    I64(i64),
+    I128(i128),
+    Group(SvmGroup),
+    Field(SvmField),
+    Scalar(SvmScalar),
+    Array(Vec<Value>),
+    // Signature(Box<SvmSignature>),
+    Tuple(Vec<Value>),
+    Address(SvmAddress),
+    Future(Future),
+    Struct(StructContents),
+    // String(()),
+}
+
+impl fmt::Display for Value {
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+        use Value::*;
+        match self {
+            Unit => write!(f, "()"),
+
+            Bool(x) => write!(f, "{x}"),
+            U8(x) => write!(f, "{x}u8"),
+            U16(x) => write!(f, "{x}u16"),
+            U32(x) => write!(f, "{x}u32"),
+            U64(x) => write!(f, "{x}u64"),
+            U128(x) => write!(f, "{x}u128"),
+            I8(x) => write!(f, "{x}i8"),
+            I16(x) => write!(f, "{x}i16"),
+            I32(x) => write!(f, "{x}i32"),
+            I64(x) => write!(f, "{x}i64"),
+            I128(x) => write!(f, "{x}i128"),
+            Group(x) => write!(f, "{x}"),
+            Field(x) => write!(f, "{x}"),
+            Scalar(x) => write!(f, "{x}"),
+            Array(x) => {
+                write!(f, "[")?;
+                let mut iter = x.iter().peekable();
+                while let Some(value) = iter.next() {
+                    write!(f, "{value}")?;
+                    if iter.peek().is_some() {
+                        write!(f, ", ")?;
+                    }
+                }
+                write!(f, "]")
+            }
+            Struct(StructContents { name, contents }) => {
+                write!(f, "{name} {{")?;
+                let mut iter = contents.iter().peekable();
+                while let Some((member_name, value)) = iter.next() {
+                    write!(f, "{member_name}: {value}")?;
+                    if iter.peek().is_some() {
+                        write!(f, ", ")?;
+                    }
+                }
+                write!(f, "}}")
+            }
+            Tuple(x) => {
+                write!(f, "(")?;
+                let mut iter = x.iter().peekable();
+                while let Some(value) = iter.next() {
+                    write!(f, "{value}")?;
+                    if iter.peek().is_some() {
+                        write!(f, ", ")?;
+                    }
+                }
+                write!(f, ")")
+            }
+            Address(x) => write!(f, "{x}"),
+            Future(future) => write!(f, "{future}"),
+            // Signature(x) => write!(f, "{x}"),
+            // String(_) => todo!(),
+        }
+    }
+}
+
+impl ToBits for Value {
+    fn write_bits_le(&self, vec: &mut Vec<bool>) {
+        use Value::*;
+
+        let plaintext: Plaintext<TestnetV0> = match self {
+            Bool(x) => Literal::Boolean(SvmBoolean::new(*x)).into(),
+            U8(x) => Literal::U8(SvmInteger::new(*x)).into(),
+            U16(x) => Literal::U16(SvmInteger::new(*x)).into(),
+            U32(x) => Literal::U32(SvmInteger::new(*x)).into(),
+            U64(x) => Literal::U64(SvmInteger::new(*x)).into(),
+            U128(x) => Literal::U128(SvmInteger::new(*x)).into(),
+            I8(x) => Literal::I8(SvmInteger::new(*x)).into(),
+            I16(x) => Literal::I16(SvmInteger::new(*x)).into(),
+            I32(x) => Literal::I32(SvmInteger::new(*x)).into(),
+            I64(x) => Literal::I64(SvmInteger::new(*x)).into(),
+            I128(x) => Literal::I128(SvmInteger::new(*x)).into(),
+            Group(x) => Literal::Group(*x).into(),
+            Field(x) => Literal::Field(*x).into(),
+            Scalar(x) => Literal::Scalar(*x).into(),
+            Address(x) => Literal::Address(*x).into(),
+            Struct(StructContents { name: _, contents }) => {
+                (contents.len() as u8).write_bits_le(vec);
+                for (name, value) in contents.iter() {
+                    let name_s = name.to_string();
+                    let identifier = SvmIdentifier::from_str(&name_s).expect("identifier should parse");
+                    identifier.size_in_bits().write_bits_le(vec);
+                    identifier.write_bits_le(vec);
+                    let value_bits = value.to_bits_le();
+                    (value_bits.len() as u16).write_bits_le(vec);
+                    vec.extend_from_slice(&value_bits);
+                }
+                return;
+            }
+
+            Array(array) => {
+                for element in array.iter() {
+                    let bits = element.to_bits_le();
+                    (bits.len() as u16).write_bits_le(vec);
+                    vec.extend_from_slice(&bits);
+                }
+                return;
+            }
+            _ => tc_fail!(),
+        };
+
+        plaintext.write_bits_le(vec);
+    }
+
+    fn write_bits_be(&self, _vec: &mut Vec<bool>) {
+        todo!()
+    }
+}
+
+impl Value {
+    pub fn to_fields(&self) -> Vec<SvmField> {
+        let mut bits = self.to_bits_le();
+        bits.push(true);
+        bits.chunks(SvmField::SIZE_IN_DATA_BITS)
+            .map(|bits| SvmField::from_bits_le(bits).expect("conversion should work"))
+            .collect()
+    }
+
+    pub fn gte(&self, rhs: &Self) -> Result<bool> {
+        rhs.gt(self).map(|v| !v)
+    }
+
+    pub fn lte(&self, rhs: &Self) -> Result<bool> {
+        rhs.lt(self).map(|v| !v)
+    }
+
+    pub fn lt(&self, rhs: &Self) -> Result<bool> {
+        use Value::*;
+        Ok(match (self, rhs) {
+            (U8(x), U8(y)) => x < y,
+            (U16(x), U16(y)) => x < y,
+            (U32(x), U32(y)) => x < y,
+            (U64(x), U64(y)) => x < y,
+            (U128(x), U128(y)) => x < y,
+            (I8(x), I8(y)) => x < y,
+            (I16(x), I16(y)) => x < y,
+            (I32(x), I32(y)) => x < y,
+            (I64(x), I64(y)) => x < y,
+            (I128(x), I128(y)) => x < y,
+            (Field(x), Field(y)) => x < y,
+            (a, b) => halt_no_span!("Type failure: {a} < {b}"),
+        })
+    }
+
+    pub fn gt(&self, rhs: &Self) -> Result<bool> {
+        use Value::*;
+        Ok(match (self, rhs) {
+            (U8(x), U8(y)) => x > y,
+            (U16(x), U16(y)) => x > y,
+            (U32(x), U32(y)) => x > y,
+            (U64(x), U64(y)) => x > y,
+            (U128(x), U128(y)) => x > y,
+            (I8(x), I8(y)) => x > y,
+            (I16(x), I16(y)) => x > y,
+            (I32(x), I32(y)) => x > y,
+            (I64(x), I64(y)) => x > y,
+            (I128(x), I128(y)) => x > y,
+            (Field(x), Field(y)) => x > y,
+            (a, b) => halt_no_span!("Type failure: {a} > {b}"),
+        })
+    }
+
+    pub fn neq(&self, rhs: &Self) -> Result<bool> {
+        self.eq(rhs).map(|v| !v)
+    }
+
+    /// Are the values equal, according to SnarkVM?
+    ///
+    /// We use this rather than the Eq trait so we can
+    /// fail when comparing values of different types,
+    /// rather than just returning false.
+    pub fn eq(&self, rhs: &Self) -> Result<bool> {
+        use Value::*;
+        Ok(match (self, rhs) {
+            (Unit, Unit) => true,
+            (Bool(x), Bool(y)) => x == y,
+            (U8(x), U8(y)) => x == y,
+            (U16(x), U16(y)) => x == y,
+            (U32(x), U32(y)) => x == y,
+            (U64(x), U64(y)) => x == y,
+            (U128(x), U128(y)) => x == y,
+            (I8(x), I8(y)) => x == y,
+            (I16(x), I16(y)) => x == y,
+            (I32(x), I32(y)) => x == y,
+            (I64(x), I64(y)) => x == y,
+            (I128(x), I128(y)) => x == y,
+            (Field(x), Field(y)) => x == y,
+            (Group(x), Group(y)) => x == y,
+            (Array(x), Array(y)) => {
+                if x.len() != y.len() {
+                    return Ok(false);
+                }
+                for (lhs, rhs) in x.iter().zip(y.iter()) {
+                    match lhs.eq(rhs) {
+                        Ok(true) => {}
+                        Ok(false) => return Ok(false),
+                        Err(e) => return Err(e),
+                    }
+                }
+                true
+            }
+            (a, b) => halt_no_span!("Type failure: {a} == {b}"),
+        })
+    }
+
+    pub fn inc_wrapping(&self) -> Self {
+        match self {
+            Value::U8(x) => Value::U8(x.wrapping_add(1)),
+            Value::U16(x) => Value::U16(x.wrapping_add(1)),
+            Value::U32(x) => Value::U32(x.wrapping_add(1)),
+            Value::U64(x) => Value::U64(x.wrapping_add(1)),
+            Value::U128(x) => Value::U128(x.wrapping_add(1)),
+            Value::I8(x) => Value::I8(x.wrapping_add(1)),
+            Value::I16(x) => Value::I16(x.wrapping_add(1)),
+            Value::I32(x) => Value::I32(x.wrapping_add(1)),
+            Value::I64(x) => Value::I64(x.wrapping_add(1)),
+            Value::I128(x) => Value::I128(x.wrapping_add(1)),
+            _ => tc_fail!(),
+        }
+    }
+
+    /// Return the group generator.
+    pub fn generator() -> Self {
+        Value::Group(SvmGroup::generator())
+    }
+
+    /// Doesn't correspond to Aleo's shl, because it
+    /// does not fail when set bits are shifted out.
+    pub fn simple_shl(&self, shift: u32) -> Self {
+        match self {
+            Value::U8(x) => Value::U8(x << shift),
+            Value::U16(x) => Value::U16(x << shift),
+            Value::U32(x) => Value::U32(x << shift),
+            Value::U64(x) => Value::U64(x << shift),
+            Value::U128(x) => Value::U128(x << shift),
+            Value::I8(x) => Value::I8(x << shift),
+            Value::I16(x) => Value::I16(x << shift),
+            Value::I32(x) => Value::I32(x << shift),
+            Value::I64(x) => Value::I64(x << shift),
+            Value::I128(x) => Value::I128(x << shift),
+            _ => tc_fail!(),
+        }
+    }
+
+    pub fn simple_shr(&self, shift: u32) -> Self {
+        match self {
+            Value::U8(x) => Value::U8(x >> shift),
+            Value::U16(x) => Value::U16(x >> shift),
+            Value::U32(x) => Value::U32(x >> shift),
+            Value::U64(x) => Value::U64(x >> shift),
+            Value::U128(x) => Value::U128(x >> shift),
+            Value::I8(x) => Value::I8(x >> shift),
+            Value::I16(x) => Value::I16(x >> shift),
+            Value::I32(x) => Value::I32(x >> shift),
+            Value::I64(x) => Value::I64(x >> shift),
+            Value::I128(x) => Value::I128(x >> shift),
+            _ => tc_fail!(),
+        }
+    }
+
+    /// Convert to the given type if possible under Aleo casting rules.
+    pub fn cast(self, cast_type: &Type) -> Option<Value> {
+        match self {
+            Value::Bool(b) => really_cast(SvmBoolean::new(b), cast_type),
+            Value::U8(x) => really_cast(SvmInteger::new(x), cast_type),
+            Value::U16(x) => really_cast(SvmInteger::new(x), cast_type),
+            Value::U32(x) => really_cast(SvmInteger::new(x), cast_type),
+            Value::U64(x) => really_cast(SvmInteger::new(x), cast_type),
+            Value::U128(x) => really_cast(SvmInteger::new(x), cast_type),
+            Value::I8(x) => really_cast(SvmInteger::new(x), cast_type),
+            Value::I16(x) => really_cast(SvmInteger::new(x), cast_type),
+            Value::I32(x) => really_cast(SvmInteger::new(x), cast_type),
+            Value::I64(x) => really_cast(SvmInteger::new(x), cast_type),
+            Value::I128(x) => really_cast(SvmInteger::new(x), cast_type),
+            Value::Group(g) => really_cast(g.to_x_coordinate(), cast_type),
+            Value::Field(f) => really_cast(f, cast_type),
+            Value::Scalar(s) => really_cast(s, cast_type),
+            Value::Address(a) => really_cast(a.to_group().to_x_coordinate(), cast_type),
+            _ => None,
+        }
+    }
+}
+
+fn really_cast<C>(c: C, cast_type: &Type) -> Option<Value>
+where
+    C: Cast<SvmAddress>
+        + Cast<SvmField>
+        + Cast<SvmAddress>
+        + Cast<SvmGroup>
+        + Cast<SvmBoolean>
+        + Cast<SvmScalar>
+        + Cast<SvmInteger<u8>>
+        + Cast<SvmInteger<u16>>
+        + Cast<SvmInteger<u32>>
+        + Cast<SvmInteger<u64>>
+        + Cast<SvmInteger<u128>>
+        + Cast<SvmInteger<i8>>
+        + Cast<SvmInteger<i16>>
+        + Cast<SvmInteger<i32>>
+        + Cast<SvmInteger<i64>>
+        + Cast<SvmInteger<i128>>,
+{
+    use Type::*;
+
+    let value = match cast_type {
+        Address => Value::Address(c.cast().ok()?),
+        Boolean => Value::Bool({
+            let b: SvmBoolean = c.cast().ok()?;
+            *b
+        }),
+        Field => Value::Field(c.cast().ok()?),
+        Group => Value::Group(c.cast().ok()?),
+        Integer(IntegerType::U8) => Value::U8({
+            let i: SvmInteger<u8> = c.cast().ok()?;
+            *i
+        }),
+        Integer(IntegerType::U16) => Value::U16({
+            let i: SvmInteger<u16> = c.cast().ok()?;
+            *i
+        }),
+        Integer(IntegerType::U32) => Value::U32({
+            let i: SvmInteger<u32> = c.cast().ok()?;
+            *i
+        }),
+        Integer(IntegerType::U64) => Value::U64({
+            let i: SvmInteger<u64> = c.cast().ok()?;
+            *i
+        }),
+        Integer(IntegerType::U128) => Value::U128({
+            let i: SvmInteger<u128> = c.cast().ok()?;
+            *i
+        }),
+        Integer(IntegerType::I8) => Value::I8({
+            let i: SvmInteger<i8> = c.cast().ok()?;
+            *i
+        }),
+        Integer(IntegerType::I16) => Value::I16({
+            let i: SvmInteger<i16> = c.cast().ok()?;
+            *i
+        }),
+        Integer(IntegerType::I32) => Value::I32({
+            let i: SvmInteger<i32> = c.cast().ok()?;
+            *i
+        }),
+        Integer(IntegerType::I64) => Value::I64({
+            let i: SvmInteger<i64> = c.cast().ok()?;
+            *i
+        }),
+        Integer(IntegerType::I128) => Value::I128({
+            let i: SvmInteger<i128> = c.cast().ok()?;
+            *i
+        }),
+        Scalar => Value::Scalar(c.cast().ok()?),
+
+        _ => tc_fail!(),
+    };
+    Some(value)
+}
+
\ No newline at end of file diff --git a/src/leo_lang/cli/cli.rs.html b/src/leo_lang/cli/cli.rs.html index 9b4adcb272..06157bb23f 100644 --- a/src/leo_lang/cli/cli.rs.html +++ b/src/leo_lang/cli/cli.rs.html @@ -922,7 +922,13 @@ 921 922 923 -924
// Copyright (C) 2019-2024 Aleo Systems Inc.
+924
+925
+926
+927
+928
+929
+930
// Copyright (C) 2019-2024 Aleo Systems Inc.
 // This file is part of the Leo library.
 
 // The Leo library is free software: you can redistribute it and/or modify
@@ -1006,6 +1012,11 @@
         #[clap(flatten)]
         command: LeoBuild,
     },
+    #[clap(about = "Debug the current package via the interpreter")]
+    Debug {
+        #[clap(flatten)]
+        command: LeoDebug,
+    },
     #[clap(about = "Add a new on-chain or local dependency to the current package.")]
     Add {
         #[clap(flatten)]
@@ -1062,6 +1073,7 @@
         Commands::Account { command } => command.try_execute(context),
         Commands::New { command } => command.try_execute(context),
         Commands::Build { command } => command.try_execute(context),
+        Commands::Debug { command } => command.try_execute(context),
         Commands::Query { command } => command.try_execute(context),
         Commands::Clean { command } => command.try_execute(context),
         Commands::Deploy { command } => command.try_execute(context),
diff --git a/src/leo_lang/cli/commands/debug.rs.html b/src/leo_lang/cli/commands/debug.rs.html
new file mode 100644
index 0000000000..9be3ba1d2b
--- /dev/null
+++ b/src/leo_lang/cli/commands/debug.rs.html
@@ -0,0 +1,309 @@
+debug.rs - source

leo_lang/cli/commands/
debug.rs

+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
// Copyright (C) 2019-2024 Aleo Systems Inc.
+// This file is part of the Leo library.
+
+// The Leo library is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// The Leo library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with the Leo library. If not, see <https://www.gnu.org/licenses/>.
+
+use std::{fs, path::PathBuf};
+
+use snarkvm::prelude::{Network, ProgramID, TestnetV0};
+
+#[cfg(not(feature = "only_testnet"))]
+use snarkvm::prelude::{CanaryV0, MainnetV0};
+
+use leo_errors::UtilError;
+use leo_retriever::{Manifest, NetworkName, Retriever};
+use leo_span::Symbol;
+
+use super::*;
+
+/// Debugs an Aleo program through the interpreter.
+#[derive(Parser, Debug)]
+pub struct LeoDebug {
+    #[arg(long, help = "Use these source files instead of finding source files through the project structure.", num_args = 1..)]
+    pub(crate) paths: Vec<String>,
+
+    #[arg(long, help = "The block height, accessible via block.height.", default_value = "0")]
+    pub(crate) block_height: u32,
+
+    #[arg(long, action, help = "Use the text user interface.")]
+    pub(crate) tui: bool,
+
+    #[clap(flatten)]
+    pub(crate) compiler_options: BuildOptions,
+}
+
+impl Command for LeoDebug {
+    type Input = <LeoBuild as Command>::Output;
+    type Output = ();
+
+    fn log_span(&self) -> Span {
+        tracing::span!(tracing::Level::INFO, "Leo")
+    }
+
+    fn prelude(&self, context: Context) -> Result<Self::Input> {
+        if self.paths.is_empty() {
+            (LeoBuild { options: self.compiler_options.clone() }).execute(context)
+        } else {
+            Ok(())
+        }
+    }
+
+    fn apply(self, context: Context, _: Self::Input) -> Result<Self::Output> {
+        // Parse the network.
+        let network = NetworkName::try_from(context.get_network(&self.compiler_options.network)?)?;
+        match network {
+            NetworkName::TestnetV0 => handle_debug::<TestnetV0>(&self, context),
+            NetworkName::MainnetV0 => {
+                #[cfg(feature = "only_testnet")]
+                panic!("Mainnet chosen with only_testnet feature");
+                #[cfg(not(feature = "only_testnet"))]
+                return handle_debug::<MainnetV0>(&self, context);
+            }
+            NetworkName::CanaryV0 => {
+                #[cfg(feature = "only_testnet")]
+                panic!("Canary chosen with only_testnet feature");
+                #[cfg(not(feature = "only_testnet"))]
+                return handle_debug::<CanaryV0>(&self, context);
+            }
+        }
+    }
+}
+
+fn handle_debug<N: Network>(command: &LeoDebug, context: Context) -> Result<()> {
+    if command.paths.is_empty() {
+        // Get the package path.
+        let package_path = context.dir()?;
+        let home_path = context.home()?;
+
+        // Get the program id.
+        let manifest = Manifest::read_from_dir(&package_path)?;
+        let program_id = ProgramID::<N>::from_str(manifest.program())?;
+
+        // Get the private key.
+        let private_key = context.get_private_key(&None)?;
+        let address = Address::try_from(&private_key)?;
+
+        // Retrieve all local dependencies in post order
+        let main_sym = Symbol::intern(&program_id.name().to_string());
+        let mut retriever = Retriever::<N>::new(
+            main_sym,
+            &package_path,
+            &home_path,
+            context.get_endpoint(&command.compiler_options.endpoint)?.to_string(),
+        )
+        .map_err(|err| UtilError::failed_to_retrieve_dependencies(err, Default::default()))?;
+        let mut local_dependencies =
+            retriever.retrieve().map_err(|err| UtilError::failed_to_retrieve_dependencies(err, Default::default()))?;
+
+        // Push the main program at the end of the list.
+        local_dependencies.push(main_sym);
+
+        let paths: Vec<PathBuf> = local_dependencies
+            .into_iter()
+            .map(|dependency| {
+                let base_path = retriever.get_context(&dependency).full_path();
+                base_path.join("src/main.leo")
+            })
+            .collect();
+
+        let imports_directory = package_path.join("build/imports");
+
+        let aleo_paths: Vec<PathBuf> = if let Ok(dir) = fs::read_dir(imports_directory) {
+            dir.flat_map(|maybe_filename| maybe_filename.ok())
+                .filter(|entry| entry.file_type().ok().map(|filetype| filetype.is_file()).unwrap_or(false))
+                .flat_map(|entry| {
+                    let path = entry.path();
+                    if path.extension().map(|e| e == "aleo").unwrap_or(false) { Some(path) } else { None }
+                })
+                .collect()
+        } else {
+            Vec::new()
+        };
+
+        leo_interpreter::interpret(&paths, &aleo_paths, address, command.block_height, command.tui)
+    } else {
+        let private_key: PrivateKey<TestnetV0> = PrivateKey::from_str(leo_package::TEST_PRIVATE_KEY)?;
+        let address = Address::try_from(&private_key)?;
+
+        let leo_paths: Vec<PathBuf> = command
+            .paths
+            .iter()
+            .filter(|path_str| path_str.ends_with(".leo"))
+            .map(|path_str| path_str.into())
+            .collect();
+        let aleo_paths: Vec<PathBuf> = command
+            .paths
+            .iter()
+            .filter(|path_str| !path_str.ends_with(".leo"))
+            .map(|path_str| path_str.into())
+            .collect();
+
+        leo_interpreter::interpret(&leo_paths, &aleo_paths, address, command.block_height, command.tui)
+    }
+}
+
\ No newline at end of file diff --git a/src/leo_lang/cli/commands/mod.rs.html b/src/leo_lang/cli/commands/mod.rs.html index e9b6b7ce22..653bfd9f6a 100644 --- a/src/leo_lang/cli/commands/mod.rs.html +++ b/src/leo_lang/cli/commands/mod.rs.html @@ -350,7 +350,10 @@ 349 350 351 -352
// Copyright (C) 2019-2024 Aleo Systems Inc.
+352
+353
+354
+355

// Copyright (C) 2019-2024 Aleo Systems Inc.
 // This file is part of the Leo library.
 
 // The Leo library is free software: you can redistribute it and/or modify
@@ -378,6 +381,9 @@
 pub mod clean;
 pub use clean::LeoClean;
 
+pub mod debug;
+pub use debug::LeoDebug;
+
 pub mod deploy;
 pub use deploy::Deploy;
 
diff --git a/src/leo_package/lib.rs.html b/src/leo_package/lib.rs.html
index 40aa5e443f..d3d5537244 100644
--- a/src/leo_package/lib.rs.html
+++ b/src/leo_package/lib.rs.html
@@ -56,7 +56,9 @@
 55
 56
 57
-58
// Copyright (C) 2019-2024 Aleo Systems Inc.
+58
+59
+60
// Copyright (C) 2019-2024 Aleo Systems Inc.
 // This file is part of the Leo library.
 
 // The Leo library is free software: you can redistribute it and/or modify
@@ -89,6 +91,8 @@
 
 pub static LEO_FILE_EXTENSION: &str = ".leo";
 
+pub static TEST_PRIVATE_KEY: &str = "APrivateKey1zkp8CZNn3yeCseEtxuVPbDCwSyhGW6yZKUYKfgXmcpoGPWH";
+
 pub(crate) fn parse_file_paths(directory: ReadDir, file_paths: &mut Vec<PathBuf>) -> Result<()> {
     for file_entry in directory {
         let file_entry = file_entry.map_err(PackageError::failed_to_get_leo_file_entry)?;
diff --git a/src/leo_package/package.rs.html b/src/leo_package/package.rs.html
index f878b257a6..2839a60851 100644
--- a/src/leo_package/package.rs.html
+++ b/src/leo_package/package.rs.html
@@ -203,10 +203,7 @@
 202
 203
 204
-205
-206
-207
-208
// Copyright (C) 2019-2024 Aleo Systems Inc.
+205
// Copyright (C) 2019-2024 Aleo Systems Inc.
 // This file is part of the Leo library.
 
 // The Leo library is free software: you can redistribute it and/or modify
@@ -223,6 +220,7 @@
 // along with the Leo library. If not, see <https://www.gnu.org/licenses/>.
 
 use crate::{
+    TEST_PRIVATE_KEY,
     root::{Env, Gitignore},
     source::{MainFile, SourceDirectory},
 };
@@ -356,11 +354,7 @@
 
         // Create the .env file.
         // Include the private key of validator 0 for ease of use with local devnets, as it will automatically be seeded with funds.
-        Env::<N>::new(
-            Some(PrivateKey::<N>::from_str("APrivateKey1zkp8CZNn3yeCseEtxuVPbDCwSyhGW6yZKUYKfgXmcpoGPWH")?),
-            endpoint,
-        )?
-        .write_to(&path)?;
+        Env::<N>::new(Some(PrivateKey::<N>::from_str(TEST_PRIVATE_KEY)?), endpoint)?.write_to(&path)?;
 
         // Create a manifest.
         let manifest = Manifest::default(package_name);
diff --git a/src/leo_parser/parser/mod.rs.html b/src/leo_parser/parser/mod.rs.html
index 7740eac7ed..9e44f02a38 100644
--- a/src/leo_parser/parser/mod.rs.html
+++ b/src/leo_parser/parser/mod.rs.html
@@ -49,7 +49,39 @@
 48
 49
 50
-51
// Copyright (C) 2019-2024 Aleo Systems Inc.
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
// Copyright (C) 2019-2024 Aleo Systems Inc.
 // This file is part of the Leo library.
 
 // The Leo library is free software: you can redistribute it and/or modify
@@ -73,7 +105,7 @@
 use crate::{Token, tokenizer::*};
 
 use leo_ast::*;
-use leo_errors::{Result, emitter::Handler};
+use leo_errors::{ParserError, Result, emitter::Handler};
 use leo_span::{Span, span::BytePos};
 
 use snarkvm::prelude::Network;
@@ -100,4 +132,36 @@
 
     tokens.parse_program()
 }
+
+pub fn parse_expression<N: Network>(
+    handler: &Handler,
+    node_builder: &NodeBuilder,
+    source: &str,
+    start_pos: BytePos,
+) -> Result<Expression> {
+    let mut context = ParserContext::<N>::new(handler, node_builder, crate::tokenize(source, start_pos)?);
+
+    let expression = context.parse_expression()?;
+    if context.token.token == Token::Eof {
+        Ok(expression)
+    } else {
+        Err(ParserError::unexpected(context.token.token, Token::Eof, context.token.span).into())
+    }
+}
+
+pub fn parse_statement<N: Network>(
+    handler: &Handler,
+    node_builder: &NodeBuilder,
+    source: &str,
+    start_pos: BytePos,
+) -> Result<Statement> {
+    let mut context = ParserContext::<N>::new(handler, node_builder, crate::tokenize(source, start_pos)?);
+
+    let statement = context.parse_statement()?;
+    if context.token.token == Token::Eof {
+        Ok(statement)
+    } else {
+        Err(ParserError::unexpected(context.token.token, Token::Eof, context.token.span).into())
+    }
+}
 
\ No newline at end of file diff --git a/src/leo_passes/code_generation/visit_expressions.rs.html b/src/leo_passes/code_generation/visit_expressions.rs.html index 354ff3681c..6f7e85c2bb 100644 --- a/src/leo_passes/code_generation/visit_expressions.rs.html +++ b/src/leo_passes/code_generation/visit_expressions.rs.html @@ -617,7 +617,11 @@ 616 617 618 -619
// Copyright (C) 2019-2024 Aleo Systems Inc.
+619
+620
+621
+622
+623
// Copyright (C) 2019-2024 Aleo Systems Inc.
 // This file is part of the Leo library.
 
 // The Leo library is free software: you can redistribute it and/or modify
@@ -1104,6 +1108,10 @@
                 writeln!(instruction, " {};", arguments[0]).expect("failed to write to string");
                 (String::new(), instruction)
             }
+            sym::CheatCode => {
+                (String::new(), String::new())
+                // Do nothing. Cheat codes do not generate instructions.
+            }
             _ => {
                 unreachable!("All core functions should be known at this phase of compilation")
             }
diff --git a/src/leo_passes/dead_code_elimination/eliminate_expression.rs.html b/src/leo_passes/dead_code_elimination/eliminate_expression.rs.html
index 57beaccabb..5628fa9f27 100644
--- a/src/leo_passes/dead_code_elimination/eliminate_expression.rs.html
+++ b/src/leo_passes/dead_code_elimination/eliminate_expression.rs.html
@@ -93,7 +93,10 @@
 92
 93
 94
-95
// Copyright (C) 2019-2024 Aleo Systems Inc.
+95
+96
+97
+98
// Copyright (C) 2019-2024 Aleo Systems Inc.
 // This file is part of the Leo library.
 
 // The Leo library is free software: you can redistribute it and/or modify
@@ -127,9 +130,12 @@
 
     /// Reconstructs the associated function access expression.
     fn reconstruct_associated_function(&mut self, input: AssociatedFunction) -> (Expression, Self::AdditionalOutput) {
-        // If the associated function manipulates a mapping, mark the statement as necessary.
+        // If the associated function manipulates a mapping, or a cheat code, mark the statement as necessary.
         match (&input.variant.name, input.name.name) {
-            (&sym::Mapping, sym::remove) | (&sym::Mapping, sym::set) | (&sym::Future, sym::Await) => {
+            (&sym::Mapping, sym::remove)
+            | (&sym::Mapping, sym::set)
+            | (&sym::Future, sym::Await)
+            | (&sym::CheatCode, _) => {
                 self.is_necessary = true;
             }
             _ => {}
diff --git a/src/leo_passes/type_checking/checker.rs.html b/src/leo_passes/type_checking/checker.rs.html
index b11407e088..e3e2cc8569 100644
--- a/src/leo_passes/type_checking/checker.rs.html
+++ b/src/leo_passes/type_checking/checker.rs.html
@@ -1354,7 +1354,17 @@
 1353
 1354
 1355
-1356
// Copyright (C) 2019-2024 Aleo Systems Inc.
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
// Copyright (C) 2019-2024 Aleo Systems Inc.
 // This file is part of the Leo library.
 
 // The Leo library is free software: you can redistribute it and/or modify
@@ -2376,6 +2386,16 @@
                 Some(Type::Boolean)
             }
             CoreFunction::FutureAwait => Some(Type::Unit),
+            CoreFunction::CheatCodePrintMapping => {
+                // Check that the argument is a mapping.
+                let _ = self.assert_mapping_type(&arguments[0].0, arguments[0].1);
+                Some(Type::Unit)
+            }
+            CoreFunction::CheatCodeSetBlockHeight => {
+                // Assert that the argument is a u32.
+                self.assert_type(&arguments[0].0, &Type::Integer(IntegerType::U32), arguments[0].1);
+                Some(Type::Unit)
+            }
         }
     }
 
diff --git a/src/leo_span/source_map.rs.html b/src/leo_span/source_map.rs.html
index d18a55d5bf..4783274156 100644
--- a/src/leo_span/source_map.rs.html
+++ b/src/leo_span/source_map.rs.html
@@ -530,7 +530,7 @@
     }
 
     /// Find the source file containing `pos`.
-    fn find_source_file(&self, pos: BytePos) -> Option<Rc<SourceFile>> {
+    pub fn find_source_file(&self, pos: BytePos) -> Option<Rc<SourceFile>> {
         Some(self.inner.borrow().source_files[self.find_source_file_index(pos)?].clone())
     }
 
diff --git a/src/leo_span/symbol.rs.html b/src/leo_span/symbol.rs.html
index 1bb8122ba5..f35d81990a 100644
--- a/src/leo_span/symbol.rs.html
+++ b/src/leo_span/symbol.rs.html
@@ -453,7 +453,12 @@
 452
 453
 454
-455
// Copyright (C) 2019-2024 Aleo Systems Inc.
+455
+456
+457
+458
+459
+460
// Copyright (C) 2019-2024 Aleo Systems Inc.
 // This file is part of the Leo library.
 
 // The Leo library is free software: you can redistribute it and/or modify
@@ -659,6 +664,11 @@
     verify,
     Await: "await",
 
+    // CheatCodes
+    CheatCode,
+    print_mapping,
+    set_block_height,
+
     // types
     address,
     bool,
diff --git a/src/leo_test_framework/error.rs.html b/src/leo_test_framework/error.rs.html
index 76e0f8e339..c3090c1b42 100644
--- a/src/leo_test_framework/error.rs.html
+++ b/src/leo_test_framework/error.rs.html
@@ -135,7 +135,9 @@
 134
 135
 136
-137
// Copyright (C) 2019-2024 Aleo Systems Inc.
+137
+138
+139
// Copyright (C) 2019-2024 Aleo Systems Inc.
 // This file is part of the Leo library.
 
 // The Leo library is free software: you can redistribute it and/or modify
@@ -185,6 +187,8 @@
             s.push('\n');
         }
         s
+    } else if let Some(s) = x.as_str() {
+        s.to_string()
     } else {
         toml::to_string(x).expect("serialization failed")
     }
diff --git a/trait.impl/clap_builder/derive/trait.Args.js b/trait.impl/clap_builder/derive/trait.Args.js
index f073946af5..d016e7038d 100644
--- a/trait.impl/clap_builder/derive/trait.Args.js
+++ b/trait.impl/clap_builder/derive/trait.Args.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["leo_lang",[["impl Args for CLI"],["impl Args for LeoAdd"],["impl Args for LeoBuild"],["impl Args for LeoClean"],["impl Args for Deploy"],["impl Args for LeoExample"],["impl Args for LeoExecute"],["impl Args for LeoNew"],["impl Args for LeoBlock"],["impl Args for LeoCommittee"],["impl Args for LeoMempool"],["impl Args for LeoPeers"],["impl Args for LeoProgram"],["impl Args for StateRoot"],["impl Args for LeoQuery"],["impl Args for LeoTransaction"],["impl Args for LeoRemove"],["impl Args for LeoRun"],["impl Args for BuildOptions"],["impl Args for FeeOptions"],["impl Args for LeoUpdate"]]]]);
+    var implementors = Object.fromEntries([["leo_lang",[["impl Args for CLI"],["impl Args for LeoAdd"],["impl Args for LeoBuild"],["impl Args for LeoClean"],["impl Args for LeoDebug"],["impl Args for Deploy"],["impl Args for LeoExample"],["impl Args for LeoExecute"],["impl Args for LeoNew"],["impl Args for LeoBlock"],["impl Args for LeoCommittee"],["impl Args for LeoMempool"],["impl Args for LeoPeers"],["impl Args for LeoProgram"],["impl Args for StateRoot"],["impl Args for LeoQuery"],["impl Args for LeoTransaction"],["impl Args for LeoRemove"],["impl Args for LeoRun"],["impl Args for BuildOptions"],["impl Args for FeeOptions"],["impl Args for LeoUpdate"]]]]);
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[3645]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[3812]}
\ No newline at end of file
diff --git a/trait.impl/clap_builder/derive/trait.CommandFactory.js b/trait.impl/clap_builder/derive/trait.CommandFactory.js
index ad7afd5c0b..35032d46e3 100644
--- a/trait.impl/clap_builder/derive/trait.CommandFactory.js
+++ b/trait.impl/clap_builder/derive/trait.CommandFactory.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["leo_lang",[["impl CommandFactory for Commands"],["impl CommandFactory for Account"],["impl CommandFactory for ExampleVariant"],["impl CommandFactory for QueryCommands"],["impl CommandFactory for CLI"],["impl CommandFactory for LeoAdd"],["impl CommandFactory for LeoBuild"],["impl CommandFactory for LeoClean"],["impl CommandFactory for Deploy"],["impl CommandFactory for LeoExample"],["impl CommandFactory for LeoExecute"],["impl CommandFactory for LeoNew"],["impl CommandFactory for LeoBlock"],["impl CommandFactory for LeoCommittee"],["impl CommandFactory for LeoMempool"],["impl CommandFactory for LeoPeers"],["impl CommandFactory for LeoProgram"],["impl CommandFactory for StateRoot"],["impl CommandFactory for LeoQuery"],["impl CommandFactory for LeoTransaction"],["impl CommandFactory for LeoRemove"],["impl CommandFactory for LeoRun"],["impl CommandFactory for BuildOptions"],["impl CommandFactory for FeeOptions"],["impl CommandFactory for LeoUpdate"]]]]);
+    var implementors = Object.fromEntries([["leo_lang",[["impl CommandFactory for Commands"],["impl CommandFactory for Account"],["impl CommandFactory for ExampleVariant"],["impl CommandFactory for QueryCommands"],["impl CommandFactory for CLI"],["impl CommandFactory for LeoAdd"],["impl CommandFactory for LeoBuild"],["impl CommandFactory for LeoClean"],["impl CommandFactory for LeoDebug"],["impl CommandFactory for Deploy"],["impl CommandFactory for LeoExample"],["impl CommandFactory for LeoExecute"],["impl CommandFactory for LeoNew"],["impl CommandFactory for LeoBlock"],["impl CommandFactory for LeoCommittee"],["impl CommandFactory for LeoMempool"],["impl CommandFactory for LeoPeers"],["impl CommandFactory for LeoProgram"],["impl CommandFactory for StateRoot"],["impl CommandFactory for LeoQuery"],["impl CommandFactory for LeoTransaction"],["impl CommandFactory for LeoRemove"],["impl CommandFactory for LeoRun"],["impl CommandFactory for BuildOptions"],["impl CommandFactory for FeeOptions"],["impl CommandFactory for LeoUpdate"]]]]);
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[4554]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[4731]}
\ No newline at end of file
diff --git a/trait.impl/clap_builder/derive/trait.FromArgMatches.js b/trait.impl/clap_builder/derive/trait.FromArgMatches.js
index 5b38e9a954..e586481e86 100644
--- a/trait.impl/clap_builder/derive/trait.FromArgMatches.js
+++ b/trait.impl/clap_builder/derive/trait.FromArgMatches.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["leo_lang",[["impl FromArgMatches for Commands"],["impl FromArgMatches for Account"],["impl FromArgMatches for ExampleVariant"],["impl FromArgMatches for QueryCommands"],["impl FromArgMatches for CLI"],["impl FromArgMatches for LeoAdd"],["impl FromArgMatches for LeoBuild"],["impl FromArgMatches for LeoClean"],["impl FromArgMatches for Deploy"],["impl FromArgMatches for LeoExample"],["impl FromArgMatches for LeoExecute"],["impl FromArgMatches for LeoNew"],["impl FromArgMatches for LeoBlock"],["impl FromArgMatches for LeoCommittee"],["impl FromArgMatches for LeoMempool"],["impl FromArgMatches for LeoPeers"],["impl FromArgMatches for LeoProgram"],["impl FromArgMatches for StateRoot"],["impl FromArgMatches for LeoQuery"],["impl FromArgMatches for LeoTransaction"],["impl FromArgMatches for LeoRemove"],["impl FromArgMatches for LeoRun"],["impl FromArgMatches for BuildOptions"],["impl FromArgMatches for FeeOptions"],["impl FromArgMatches for LeoUpdate"]]]]);
+    var implementors = Object.fromEntries([["leo_lang",[["impl FromArgMatches for Commands"],["impl FromArgMatches for Account"],["impl FromArgMatches for ExampleVariant"],["impl FromArgMatches for QueryCommands"],["impl FromArgMatches for CLI"],["impl FromArgMatches for LeoAdd"],["impl FromArgMatches for LeoBuild"],["impl FromArgMatches for LeoClean"],["impl FromArgMatches for LeoDebug"],["impl FromArgMatches for Deploy"],["impl FromArgMatches for LeoExample"],["impl FromArgMatches for LeoExecute"],["impl FromArgMatches for LeoNew"],["impl FromArgMatches for LeoBlock"],["impl FromArgMatches for LeoCommittee"],["impl FromArgMatches for LeoMempool"],["impl FromArgMatches for LeoPeers"],["impl FromArgMatches for LeoProgram"],["impl FromArgMatches for StateRoot"],["impl FromArgMatches for LeoQuery"],["impl FromArgMatches for LeoTransaction"],["impl FromArgMatches for LeoRemove"],["impl FromArgMatches for LeoRun"],["impl FromArgMatches for BuildOptions"],["impl FromArgMatches for FeeOptions"],["impl FromArgMatches for LeoUpdate"]]]]);
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[4554]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[4731]}
\ No newline at end of file
diff --git a/trait.impl/clap_builder/derive/trait.Parser.js b/trait.impl/clap_builder/derive/trait.Parser.js
index b6801e6301..712227a7d4 100644
--- a/trait.impl/clap_builder/derive/trait.Parser.js
+++ b/trait.impl/clap_builder/derive/trait.Parser.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["leo_lang",[["impl Parser for Commands"],["impl Parser for Account"],["impl Parser for ExampleVariant"],["impl Parser for QueryCommands"],["impl Parser for CLI"],["impl Parser for LeoAdd"],["impl Parser for LeoBuild"],["impl Parser for LeoClean"],["impl Parser for Deploy"],["impl Parser for LeoExample"],["impl Parser for LeoExecute"],["impl Parser for LeoNew"],["impl Parser for LeoBlock"],["impl Parser for LeoCommittee"],["impl Parser for LeoMempool"],["impl Parser for LeoPeers"],["impl Parser for LeoProgram"],["impl Parser for StateRoot"],["impl Parser for LeoQuery"],["impl Parser for LeoTransaction"],["impl Parser for LeoRemove"],["impl Parser for LeoRun"],["impl Parser for BuildOptions"],["impl Parser for FeeOptions"],["impl Parser for LeoUpdate"]]]]);
+    var implementors = Object.fromEntries([["leo_lang",[["impl Parser for Commands"],["impl Parser for Account"],["impl Parser for ExampleVariant"],["impl Parser for QueryCommands"],["impl Parser for CLI"],["impl Parser for LeoAdd"],["impl Parser for LeoBuild"],["impl Parser for LeoClean"],["impl Parser for LeoDebug"],["impl Parser for Deploy"],["impl Parser for LeoExample"],["impl Parser for LeoExecute"],["impl Parser for LeoNew"],["impl Parser for LeoBlock"],["impl Parser for LeoCommittee"],["impl Parser for LeoMempool"],["impl Parser for LeoPeers"],["impl Parser for LeoProgram"],["impl Parser for StateRoot"],["impl Parser for LeoQuery"],["impl Parser for LeoTransaction"],["impl Parser for LeoRemove"],["impl Parser for LeoRun"],["impl Parser for BuildOptions"],["impl Parser for FeeOptions"],["impl Parser for LeoUpdate"]]]]);
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[4354]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[4523]}
\ No newline at end of file
diff --git a/trait.impl/core/clone/trait.Clone.js b/trait.impl/core/clone/trait.Clone.js
index cc204ca8d4..cf39859a7d 100644
--- a/trait.impl/core/clone/trait.Clone.js
+++ b/trait.impl/core/clone/trait.Clone.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["leo_abnf",[["impl Clone for Scope"],["impl<'a> Clone for Processor<'a>"]]],["leo_ast",[["impl Clone for AccessExpression"],["impl Clone for BinaryOperation"],["impl Clone for Expression"],["impl Clone for Literal"],["impl Clone for UnaryOperation"],["impl Clone for CoreFunction"],["impl Clone for Mode"],["impl Clone for Variant"],["impl Clone for GroupCoordinate"],["impl Clone for GroupLiteral"],["impl Clone for AssertVariant"],["impl Clone for ConsoleFunction"],["impl Clone for DeclarationType"],["impl Clone for Statement"],["impl Clone for CoreConstant"],["impl Clone for IntegerType"],["impl Clone for Type"],["impl Clone for Value"],["impl Clone for ArrayAccess"],["impl Clone for AssociatedConstant"],["impl Clone for AssociatedFunction"],["impl Clone for MemberAccess"],["impl Clone for TupleAccess"],["impl Clone for Identifier"],["impl Clone for Location"],["impl Clone for NodeBuilder"],["impl Clone for NodeBuilderInner"],["impl Clone for NonNegativeNumber"],["impl Clone for StaticString"],["impl Clone for ArrayExpression"],["impl Clone for BinaryExpression"],["impl Clone for CallExpression"],["impl Clone for CastExpression"],["impl Clone for ErrExpression"],["impl Clone for LocatorExpression"],["impl Clone for StructExpression"],["impl Clone for StructVariableInitializer"],["impl Clone for TernaryExpression"],["impl Clone for TupleExpression"],["impl Clone for UnaryExpression"],["impl Clone for UnitExpression"],["impl Clone for Annotation"],["impl Clone for Input"],["impl Clone for Output"],["impl Clone for Function"],["impl Clone for GroupTuple"],["impl Clone for Mapping"],["impl Clone for ProgramId"],["impl Clone for ProgramScope"],["impl Clone for Program"],["impl Clone for AssertStatement"],["impl Clone for AssignStatement"],["impl Clone for Block"],["impl Clone for ConditionalStatement"],["impl Clone for ConsoleStatement"],["impl Clone for ConstDeclaration"],["impl Clone for DefinitionStatement"],["impl Clone for ExpressionStatement"],["impl Clone for IterationStatement"],["impl Clone for ReturnStatement"],["impl Clone for Ast"],["impl Clone for Member"],["impl Clone for Composite"],["impl Clone for FunctionStub"],["impl Clone for Stub"],["impl Clone for ArrayType"],["impl Clone for FutureType"],["impl Clone for MappingType"],["impl Clone for CompositeType"],["impl Clone for TupleType"]]],["leo_compiler",[["impl Clone for BuildOptions"],["impl Clone for CompilerOptions"],["impl Clone for OutputOptions"],["impl<'a, N: Clone + Network> Clone for Compiler<'a, N>"]]],["leo_errors",[["impl Clone for AstError"],["impl Clone for CliError"],["impl Clone for CompilerError"],["impl Clone for FlattenError"],["impl Clone for LoopUnrollerError"],["impl Clone for PackageError"],["impl Clone for ParserError"],["impl Clone for ParserWarning"],["impl Clone for StaticAnalyzerError"],["impl Clone for StaticAnalyzerWarning"],["impl Clone for TypeCheckerError"],["impl Clone for TypeCheckerWarning"],["impl Clone for UtilError"],["impl Clone for Backtraced"],["impl Clone for Formatted"],["impl Clone for BufferEmitter"]]],["leo_lang",[["impl Clone for ExampleVariant"],["impl Clone for BuildOptions"],["impl Clone for FeeOptions"],["impl Clone for Context"],["impl<F: Clone, T: Clone> Clone for Format<F, T>"]]],["leo_parser",[["impl Clone for Delimiter"],["impl Clone for Token"],["impl Clone for SpannedToken"]]],["leo_passes",[["impl Clone for VariableType"],["impl Clone for Guard"],["impl Clone for ReturnGuard"],["impl Clone for Position"],["impl Clone for Assigner"],["impl Clone for AssignerInner"],["impl Clone for ConstantPropagationTable"],["impl Clone for RenameTable"],["impl Clone for FunctionSymbol"],["impl Clone for SymbolTable"],["impl Clone for VariableSymbol"],["impl Clone for TypeTable"],["impl<N: Clone + Node> Clone for TreeNode<N>"]]],["leo_retriever",[["impl Clone for Location"],["impl Clone for NetworkName"],["impl Clone for Dependency"],["impl Clone for LockFileEntry"],["impl Clone for Manifest"],["impl Clone for ProgramContext"]]],["leo_span",[["impl Clone for FileName"],["impl Clone for MultiByteChar"],["impl Clone for BytePos"],["impl Clone for CharPos"],["impl Clone for Span"],["impl Clone for Symbol"]]],["leo_test_framework",[["impl Clone for ParseType"],["impl Clone for TestExpectationMode"],["impl Clone for TestExpectation"],["impl Clone for TestConfig"]]]]);
+    var implementors = Object.fromEntries([["leo_abnf",[["impl Clone for Scope"],["impl<'a> Clone for Processor<'a>"]]],["leo_ast",[["impl Clone for AccessExpression"],["impl Clone for BinaryOperation"],["impl Clone for Expression"],["impl Clone for Literal"],["impl Clone for UnaryOperation"],["impl Clone for CoreFunction"],["impl Clone for Mode"],["impl Clone for Variant"],["impl Clone for GroupCoordinate"],["impl Clone for GroupLiteral"],["impl Clone for AssertVariant"],["impl Clone for ConsoleFunction"],["impl Clone for DeclarationType"],["impl Clone for Statement"],["impl Clone for CoreConstant"],["impl Clone for IntegerType"],["impl Clone for Type"],["impl Clone for Value"],["impl Clone for ArrayAccess"],["impl Clone for AssociatedConstant"],["impl Clone for AssociatedFunction"],["impl Clone for MemberAccess"],["impl Clone for TupleAccess"],["impl Clone for Identifier"],["impl Clone for Location"],["impl Clone for NodeBuilder"],["impl Clone for NodeBuilderInner"],["impl Clone for NonNegativeNumber"],["impl Clone for StaticString"],["impl Clone for ArrayExpression"],["impl Clone for BinaryExpression"],["impl Clone for CallExpression"],["impl Clone for CastExpression"],["impl Clone for ErrExpression"],["impl Clone for LocatorExpression"],["impl Clone for StructExpression"],["impl Clone for StructVariableInitializer"],["impl Clone for TernaryExpression"],["impl Clone for TupleExpression"],["impl Clone for UnaryExpression"],["impl Clone for UnitExpression"],["impl Clone for Annotation"],["impl Clone for Input"],["impl Clone for Output"],["impl Clone for Function"],["impl Clone for GroupTuple"],["impl Clone for Mapping"],["impl Clone for ProgramId"],["impl Clone for ProgramScope"],["impl Clone for Program"],["impl Clone for AssertStatement"],["impl Clone for AssignStatement"],["impl Clone for Block"],["impl Clone for ConditionalStatement"],["impl Clone for ConsoleStatement"],["impl Clone for ConstDeclaration"],["impl Clone for DefinitionStatement"],["impl Clone for ExpressionStatement"],["impl Clone for IterationStatement"],["impl Clone for ReturnStatement"],["impl Clone for Ast"],["impl Clone for Member"],["impl Clone for Composite"],["impl Clone for FunctionStub"],["impl Clone for Stub"],["impl Clone for ArrayType"],["impl Clone for FutureType"],["impl Clone for MappingType"],["impl Clone for CompositeType"],["impl Clone for TupleType"]]],["leo_compiler",[["impl Clone for BuildOptions"],["impl Clone for CompilerOptions"],["impl Clone for OutputOptions"],["impl<'a, N: Clone + Network> Clone for Compiler<'a, N>"]]],["leo_errors",[["impl Clone for AstError"],["impl Clone for CliError"],["impl Clone for CompilerError"],["impl Clone for FlattenError"],["impl Clone for LoopUnrollerError"],["impl Clone for PackageError"],["impl Clone for ParserError"],["impl Clone for ParserWarning"],["impl Clone for StaticAnalyzerError"],["impl Clone for StaticAnalyzerWarning"],["impl Clone for TypeCheckerError"],["impl Clone for TypeCheckerWarning"],["impl Clone for UtilError"],["impl Clone for Backtraced"],["impl Clone for Formatted"],["impl Clone for BufferEmitter"],["impl Clone for InterpreterHalt"]]],["leo_interpreter",[["impl Clone for InterpreterAction"],["impl Clone for Value"],["impl Clone for ContextStack"],["impl Clone for FunctionContext"],["impl Clone for GlobalId"],["impl Clone for StepResult"],["impl Clone for Breakpoint"],["impl Clone for Watchpoint"],["impl Clone for AsyncExecution"],["impl Clone for Future"],["impl Clone for StructContents"],["impl<'a> Clone for AleoContext<'a>"],["impl<'a> Clone for Element<'a>"],["impl<'a> Clone for FunctionVariant<'a>"],["impl<'a> Clone for Cursor<'a>"],["impl<'a> Clone for Frame<'a>"]]],["leo_lang",[["impl Clone for ExampleVariant"],["impl Clone for BuildOptions"],["impl Clone for FeeOptions"],["impl Clone for Context"],["impl<F: Clone, T: Clone> Clone for Format<F, T>"]]],["leo_parser",[["impl Clone for Delimiter"],["impl Clone for Token"],["impl Clone for SpannedToken"]]],["leo_passes",[["impl Clone for VariableType"],["impl Clone for Guard"],["impl Clone for ReturnGuard"],["impl Clone for Position"],["impl Clone for Assigner"],["impl Clone for AssignerInner"],["impl Clone for ConstantPropagationTable"],["impl Clone for RenameTable"],["impl Clone for FunctionSymbol"],["impl Clone for SymbolTable"],["impl Clone for VariableSymbol"],["impl Clone for TypeTable"],["impl<N: Clone + Node> Clone for TreeNode<N>"]]],["leo_retriever",[["impl Clone for Location"],["impl Clone for NetworkName"],["impl Clone for Dependency"],["impl Clone for LockFileEntry"],["impl Clone for Manifest"],["impl Clone for ProgramContext"]]],["leo_span",[["impl Clone for FileName"],["impl Clone for MultiByteChar"],["impl Clone for BytePos"],["impl Clone for CharPos"],["impl Clone for Span"],["impl Clone for Symbol"]]],["leo_test_framework",[["impl Clone for ParseType"],["impl Clone for TestExpectationMode"],["impl Clone for TestExpectation"],["impl Clone for TestConfig"]]]]);
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[532,21182,1360,5330,1790,890,4453,1965,1624,1228]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[532,21182,1360,5660,4769,1790,890,4453,1965,1624,1228]}
\ No newline at end of file
diff --git a/trait.impl/core/cmp/trait.Eq.js b/trait.impl/core/cmp/trait.Eq.js
index cd9e463e58..890d1fecdf 100644
--- a/trait.impl/core/cmp/trait.Eq.js
+++ b/trait.impl/core/cmp/trait.Eq.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["leo_ast",[["impl Eq for AccessExpression"],["impl Eq for BinaryOperation"],["impl Eq for Expression"],["impl Eq for Literal"],["impl Eq for UnaryOperation"],["impl Eq for CoreFunction"],["impl Eq for Mode"],["impl Eq for Variant"],["impl Eq for GroupCoordinate"],["impl Eq for GroupLiteral"],["impl Eq for AssertVariant"],["impl Eq for ConsoleFunction"],["impl Eq for DeclarationType"],["impl Eq for Statement"],["impl Eq for CoreConstant"],["impl Eq for IntegerType"],["impl Eq for Type"],["impl Eq for Value"],["impl Eq for ArrayAccess"],["impl Eq for AssociatedConstant"],["impl Eq for AssociatedFunction"],["impl Eq for MemberAccess"],["impl Eq for TupleAccess"],["impl Eq for Identifier"],["impl Eq for Location"],["impl Eq for NonNegativeNumber"],["impl Eq for StaticString"],["impl Eq for ArrayExpression"],["impl Eq for BinaryExpression"],["impl Eq for CallExpression"],["impl Eq for CastExpression"],["impl Eq for ErrExpression"],["impl Eq for LocatorExpression"],["impl Eq for StructExpression"],["impl Eq for StructVariableInitializer"],["impl Eq for TernaryExpression"],["impl Eq for TupleExpression"],["impl Eq for UnaryExpression"],["impl Eq for UnitExpression"],["impl Eq for Annotation"],["impl Eq for Input"],["impl Eq for Output"],["impl Eq for Function"],["impl Eq for GroupTuple"],["impl Eq for Mapping"],["impl Eq for ProgramId"],["impl Eq for ProgramScope"],["impl Eq for Program"],["impl Eq for AssertStatement"],["impl Eq for AssignStatement"],["impl Eq for Block"],["impl Eq for ConditionalStatement"],["impl Eq for ConsoleStatement"],["impl Eq for ConstDeclaration"],["impl Eq for DefinitionStatement"],["impl Eq for ExpressionStatement"],["impl Eq for IterationStatement"],["impl Eq for ReturnStatement"],["impl Eq for Ast"],["impl Eq for Member"],["impl Eq for Composite"],["impl Eq for FunctionStub"],["impl Eq for Stub"],["impl Eq for ArrayType"],["impl Eq for FutureType"],["impl Eq for MappingType"],["impl Eq for CompositeType"],["impl Eq for TupleType"]]],["leo_parser",[["impl Eq for Token"]]],["leo_passes",[["impl Eq for VariableType"],["impl Eq for RenameTable"],["impl Eq for VariableSymbol"],["impl<N: Eq + Node> Eq for DiGraph<N>"],["impl<N: Eq + Node> Eq for TreeNode<N>"]]],["leo_retriever",[["impl Eq for Location"],["impl Eq for NetworkName"],["impl Eq for Dependency"]]],["leo_span",[["impl Eq for InternedStr"],["impl Eq for MultiByteChar"],["impl Eq for BytePos"],["impl Eq for CharPos"],["impl Eq for Span"],["impl Eq for Symbol"]]],["leo_test_framework",[["impl Eq for ParseType"],["impl Eq for TestExpectationMode"]]]]);
+    var implementors = Object.fromEntries([["leo_ast",[["impl Eq for AccessExpression"],["impl Eq for BinaryOperation"],["impl Eq for Expression"],["impl Eq for Literal"],["impl Eq for UnaryOperation"],["impl Eq for CoreFunction"],["impl Eq for Mode"],["impl Eq for Variant"],["impl Eq for GroupCoordinate"],["impl Eq for GroupLiteral"],["impl Eq for AssertVariant"],["impl Eq for ConsoleFunction"],["impl Eq for DeclarationType"],["impl Eq for Statement"],["impl Eq for CoreConstant"],["impl Eq for IntegerType"],["impl Eq for Type"],["impl Eq for Value"],["impl Eq for ArrayAccess"],["impl Eq for AssociatedConstant"],["impl Eq for AssociatedFunction"],["impl Eq for MemberAccess"],["impl Eq for TupleAccess"],["impl Eq for Identifier"],["impl Eq for Location"],["impl Eq for NonNegativeNumber"],["impl Eq for StaticString"],["impl Eq for ArrayExpression"],["impl Eq for BinaryExpression"],["impl Eq for CallExpression"],["impl Eq for CastExpression"],["impl Eq for ErrExpression"],["impl Eq for LocatorExpression"],["impl Eq for StructExpression"],["impl Eq for StructVariableInitializer"],["impl Eq for TernaryExpression"],["impl Eq for TupleExpression"],["impl Eq for UnaryExpression"],["impl Eq for UnitExpression"],["impl Eq for Annotation"],["impl Eq for Input"],["impl Eq for Output"],["impl Eq for Function"],["impl Eq for GroupTuple"],["impl Eq for Mapping"],["impl Eq for ProgramId"],["impl Eq for ProgramScope"],["impl Eq for Program"],["impl Eq for AssertStatement"],["impl Eq for AssignStatement"],["impl Eq for Block"],["impl Eq for ConditionalStatement"],["impl Eq for ConsoleStatement"],["impl Eq for ConstDeclaration"],["impl Eq for DefinitionStatement"],["impl Eq for ExpressionStatement"],["impl Eq for IterationStatement"],["impl Eq for ReturnStatement"],["impl Eq for Ast"],["impl Eq for Member"],["impl Eq for Composite"],["impl Eq for FunctionStub"],["impl Eq for Stub"],["impl Eq for ArrayType"],["impl Eq for FutureType"],["impl Eq for MappingType"],["impl Eq for CompositeType"],["impl Eq for TupleType"]]],["leo_interpreter",[["impl Eq for Value"],["impl Eq for GlobalId"],["impl Eq for AsyncExecution"],["impl Eq for Future"],["impl Eq for StructContents"]]],["leo_parser",[["impl Eq for Token"]]],["leo_passes",[["impl Eq for VariableType"],["impl Eq for RenameTable"],["impl Eq for VariableSymbol"],["impl<N: Eq + Node> Eq for DiGraph<N>"],["impl<N: Eq + Node> Eq for TreeNode<N>"]]],["leo_retriever",[["impl Eq for Location"],["impl Eq for NetworkName"],["impl Eq for Dependency"]]],["leo_span",[["impl Eq for InternedStr"],["impl Eq for MultiByteChar"],["impl Eq for BytePos"],["impl Eq for CharPos"],["impl Eq for Span"],["impl Eq for Symbol"]]],["leo_test_framework",[["impl Eq for ParseType"],["impl Eq for TestExpectationMode"]]]]);
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[19674,282,2075,947,1547,599]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[19674,1384,282,2075,947,1547,599]}
\ No newline at end of file
diff --git a/trait.impl/core/cmp/trait.PartialEq.js b/trait.impl/core/cmp/trait.PartialEq.js
index b01ea4b806..03a2e57ff3 100644
--- a/trait.impl/core/cmp/trait.PartialEq.js
+++ b/trait.impl/core/cmp/trait.PartialEq.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["leo_ast",[["impl PartialEq for AccessExpression"],["impl PartialEq for BinaryOperation"],["impl PartialEq for Expression"],["impl PartialEq for Literal"],["impl PartialEq for UnaryOperation"],["impl PartialEq for CoreFunction"],["impl PartialEq for Mode"],["impl PartialEq for Variant"],["impl PartialEq for GroupCoordinate"],["impl PartialEq for GroupLiteral"],["impl PartialEq for AssertVariant"],["impl PartialEq for ConsoleFunction"],["impl PartialEq for DeclarationType"],["impl PartialEq for Statement"],["impl PartialEq for CoreConstant"],["impl PartialEq for IntegerType"],["impl PartialEq for Type"],["impl PartialEq for Value"],["impl PartialEq for ArrayAccess"],["impl PartialEq for AssociatedConstant"],["impl PartialEq for AssociatedFunction"],["impl PartialEq for MemberAccess"],["impl PartialEq for TupleAccess"],["impl PartialEq for Identifier"],["impl PartialEq for Location"],["impl PartialEq for NonNegativeNumber"],["impl PartialEq for StaticString"],["impl PartialEq for ArrayExpression"],["impl PartialEq for BinaryExpression"],["impl PartialEq for CallExpression"],["impl PartialEq for CastExpression"],["impl PartialEq for ErrExpression"],["impl PartialEq for LocatorExpression"],["impl PartialEq for StructExpression"],["impl PartialEq for StructVariableInitializer"],["impl PartialEq for TernaryExpression"],["impl PartialEq for TupleExpression"],["impl PartialEq for UnaryExpression"],["impl PartialEq for UnitExpression"],["impl PartialEq for Annotation"],["impl PartialEq for Input"],["impl PartialEq for Output"],["impl PartialEq for Function"],["impl PartialEq for GroupTuple"],["impl PartialEq for Mapping"],["impl PartialEq for ProgramId"],["impl PartialEq for ProgramScope"],["impl PartialEq for Program"],["impl PartialEq for AssertStatement"],["impl PartialEq for AssignStatement"],["impl PartialEq for Block"],["impl PartialEq for ConditionalStatement"],["impl PartialEq for ConsoleStatement"],["impl PartialEq for ConstDeclaration"],["impl PartialEq for DefinitionStatement"],["impl PartialEq for ExpressionStatement"],["impl PartialEq for IterationStatement"],["impl PartialEq for ReturnStatement"],["impl PartialEq for Ast"],["impl PartialEq for Member"],["impl PartialEq for Composite"],["impl PartialEq for FunctionStub"],["impl PartialEq for Stub"],["impl PartialEq for ArrayType"],["impl PartialEq for FutureType"],["impl PartialEq for MappingType"],["impl PartialEq for CompositeType"],["impl PartialEq for TupleType"]]],["leo_errors",[["impl PartialEq for Backtraced"],["impl PartialEq for Formatted"]]],["leo_parser",[["impl PartialEq for Token"]]],["leo_passes",[["impl PartialEq for VariableType"],["impl PartialEq for RenameTable"],["impl PartialEq for FunctionSymbol"],["impl PartialEq for SymbolTable"],["impl PartialEq for VariableSymbol"],["impl<N: PartialEq + Node> PartialEq for DiGraph<N>"],["impl<N: PartialEq + Node> PartialEq for TreeNode<N>"]]],["leo_retriever",[["impl PartialEq for Location"],["impl PartialEq for NetworkName"],["impl PartialEq for Dependency"]]],["leo_span",[["impl PartialEq for InternedStr"],["impl PartialEq for MultiByteChar"],["impl PartialEq for BytePos"],["impl PartialEq for CharPos"],["impl PartialEq for Span"],["impl PartialEq for Symbol"]]],["leo_test_framework",[["impl PartialEq for ParseType"],["impl PartialEq for TestExpectationMode"]]]]);
+    var implementors = Object.fromEntries([["leo_ast",[["impl PartialEq for AccessExpression"],["impl PartialEq for BinaryOperation"],["impl PartialEq for Expression"],["impl PartialEq for Literal"],["impl PartialEq for UnaryOperation"],["impl PartialEq for CoreFunction"],["impl PartialEq for Mode"],["impl PartialEq for Variant"],["impl PartialEq for GroupCoordinate"],["impl PartialEq for GroupLiteral"],["impl PartialEq for AssertVariant"],["impl PartialEq for ConsoleFunction"],["impl PartialEq for DeclarationType"],["impl PartialEq for Statement"],["impl PartialEq for CoreConstant"],["impl PartialEq for IntegerType"],["impl PartialEq for Type"],["impl PartialEq for Value"],["impl PartialEq for ArrayAccess"],["impl PartialEq for AssociatedConstant"],["impl PartialEq for AssociatedFunction"],["impl PartialEq for MemberAccess"],["impl PartialEq for TupleAccess"],["impl PartialEq for Identifier"],["impl PartialEq for Location"],["impl PartialEq for NonNegativeNumber"],["impl PartialEq for StaticString"],["impl PartialEq for ArrayExpression"],["impl PartialEq for BinaryExpression"],["impl PartialEq for CallExpression"],["impl PartialEq for CastExpression"],["impl PartialEq for ErrExpression"],["impl PartialEq for LocatorExpression"],["impl PartialEq for StructExpression"],["impl PartialEq for StructVariableInitializer"],["impl PartialEq for TernaryExpression"],["impl PartialEq for TupleExpression"],["impl PartialEq for UnaryExpression"],["impl PartialEq for UnitExpression"],["impl PartialEq for Annotation"],["impl PartialEq for Input"],["impl PartialEq for Output"],["impl PartialEq for Function"],["impl PartialEq for GroupTuple"],["impl PartialEq for Mapping"],["impl PartialEq for ProgramId"],["impl PartialEq for ProgramScope"],["impl PartialEq for Program"],["impl PartialEq for AssertStatement"],["impl PartialEq for AssignStatement"],["impl PartialEq for Block"],["impl PartialEq for ConditionalStatement"],["impl PartialEq for ConsoleStatement"],["impl PartialEq for ConstDeclaration"],["impl PartialEq for DefinitionStatement"],["impl PartialEq for ExpressionStatement"],["impl PartialEq for IterationStatement"],["impl PartialEq for ReturnStatement"],["impl PartialEq for Ast"],["impl PartialEq for Member"],["impl PartialEq for Composite"],["impl PartialEq for FunctionStub"],["impl PartialEq for Stub"],["impl PartialEq for ArrayType"],["impl PartialEq for FutureType"],["impl PartialEq for MappingType"],["impl PartialEq for CompositeType"],["impl PartialEq for TupleType"]]],["leo_errors",[["impl PartialEq for Backtraced"],["impl PartialEq for Formatted"]]],["leo_interpreter",[["impl PartialEq for Value"],["impl PartialEq for GlobalId"],["impl PartialEq for AsyncExecution"],["impl PartialEq for Future"],["impl PartialEq for StructContents"]]],["leo_parser",[["impl PartialEq for Token"]]],["leo_passes",[["impl PartialEq for VariableType"],["impl PartialEq for RenameTable"],["impl PartialEq for FunctionSymbol"],["impl PartialEq for SymbolTable"],["impl PartialEq for VariableSymbol"],["impl<N: PartialEq + Node> PartialEq for DiGraph<N>"],["impl<N: PartialEq + Node> PartialEq for TreeNode<N>"]]],["leo_retriever",[["impl PartialEq for Location"],["impl PartialEq for NetworkName"],["impl PartialEq for Dependency"]]],["leo_span",[["impl PartialEq for InternedStr"],["impl PartialEq for MultiByteChar"],["impl PartialEq for BytePos"],["impl PartialEq for CharPos"],["impl PartialEq for Span"],["impl PartialEq for Symbol"]]],["leo_test_framework",[["impl PartialEq for ParseType"],["impl PartialEq for TestExpectationMode"]]]]);
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[21102,634,303,2900,1010,1673,641]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[21102,634,1489,303,2900,1010,1673,641]}
\ No newline at end of file
diff --git a/trait.impl/core/convert/trait.From.js b/trait.impl/core/convert/trait.From.js
index 09a7ab9e88..d795fc8932 100644
--- a/trait.impl/core/convert/trait.From.js
+++ b/trait.impl/core/convert/trait.From.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["leo_ast",[["impl From<&Value> for Type"],["impl From<&CompositeType> for Location"],["impl From<Value> for Type"],["impl From<usize> for NonNegativeNumber"],["impl From<String> for NonNegativeNumber"],["impl From<Identifier> for ProgramId"],["impl From<Function> for FunctionStub"],["impl From<FunctionStub> for Function"],["impl From<Stub> for ProgramScope"],["impl<N: Network> From<&Identifier<N>> for Identifier"],["impl<N: Network> From<&ProgramID<N>> for ProgramId"]]],["leo_errors",[["impl From<AstError> for LeoError"],["impl From<CliError> for LeoError"],["impl From<CompilerError> for LeoError"],["impl From<FlattenError> for LeoError"],["impl From<LoopUnrollerError> for LeoError"],["impl From<PackageError> for LeoError"],["impl From<ParserError> for LeoError"],["impl From<ParserWarning> for LeoWarning"],["impl From<StaticAnalyzerError> for LeoError"],["impl From<StaticAnalyzerWarning> for LeoWarning"],["impl From<TypeCheckerError> for LeoError"],["impl From<TypeCheckerWarning> for LeoWarning"],["impl From<UtilError> for LeoError"],["impl From<Error> for LeoError"],["impl From<Backtraced> for AstError"],["impl From<Backtraced> for CliError"],["impl From<Backtraced> for CompilerError"],["impl From<Backtraced> for FlattenError"],["impl From<Backtraced> for LoopUnrollerError"],["impl From<Backtraced> for PackageError"],["impl From<Backtraced> for ParserError"],["impl From<Backtraced> for ParserWarning"],["impl From<Backtraced> for StaticAnalyzerError"],["impl From<Backtraced> for StaticAnalyzerWarning"],["impl From<Backtraced> for TypeCheckerError"],["impl From<Backtraced> for TypeCheckerWarning"],["impl From<Backtraced> for UtilError"],["impl From<Formatted> for AstError"],["impl From<Formatted> for CliError"],["impl From<Formatted> for CompilerError"],["impl From<Formatted> for FlattenError"],["impl From<Formatted> for LoopUnrollerError"],["impl From<Formatted> for PackageError"],["impl From<Formatted> for ParserError"],["impl From<Formatted> for ParserWarning"],["impl From<Formatted> for StaticAnalyzerError"],["impl From<Formatted> for StaticAnalyzerWarning"],["impl From<Formatted> for TypeCheckerError"],["impl From<Formatted> for TypeCheckerWarning"],["impl From<Formatted> for UtilError"]]],["leo_lang",[["impl From<BuildOptions> for CompilerOptions"]]],["leo_retriever",[["impl From<&Dependency> for Symbol"],["impl From<&ProgramContext> for LockFileEntry"],["impl From<Dependency> for ProgramContext"]]]]);
+    var implementors = Object.fromEntries([["leo_ast",[["impl From<&Value> for Type"],["impl From<&CompositeType> for Location"],["impl From<Value> for Type"],["impl From<usize> for NonNegativeNumber"],["impl From<String> for NonNegativeNumber"],["impl From<Identifier> for ProgramId"],["impl From<Function> for FunctionStub"],["impl From<FunctionStub> for Function"],["impl From<Stub> for ProgramScope"],["impl<N: Network> From<&Identifier<N>> for Identifier"],["impl<N: Network> From<&ProgramID<N>> for ProgramId"]]],["leo_errors",[["impl From<AstError> for LeoError"],["impl From<CliError> for LeoError"],["impl From<CompilerError> for LeoError"],["impl From<FlattenError> for LeoError"],["impl From<LoopUnrollerError> for LeoError"],["impl From<PackageError> for LeoError"],["impl From<ParserError> for LeoError"],["impl From<ParserWarning> for LeoWarning"],["impl From<StaticAnalyzerError> for LeoError"],["impl From<StaticAnalyzerWarning> for LeoWarning"],["impl From<TypeCheckerError> for LeoError"],["impl From<TypeCheckerWarning> for LeoWarning"],["impl From<UtilError> for LeoError"],["impl From<Error> for LeoError"],["impl From<Backtraced> for AstError"],["impl From<Backtraced> for CliError"],["impl From<Backtraced> for CompilerError"],["impl From<Backtraced> for FlattenError"],["impl From<Backtraced> for LoopUnrollerError"],["impl From<Backtraced> for PackageError"],["impl From<Backtraced> for ParserError"],["impl From<Backtraced> for ParserWarning"],["impl From<Backtraced> for StaticAnalyzerError"],["impl From<Backtraced> for StaticAnalyzerWarning"],["impl From<Backtraced> for TypeCheckerError"],["impl From<Backtraced> for TypeCheckerWarning"],["impl From<Backtraced> for UtilError"],["impl From<Formatted> for AstError"],["impl From<Formatted> for CliError"],["impl From<Formatted> for CompilerError"],["impl From<Formatted> for FlattenError"],["impl From<Formatted> for LoopUnrollerError"],["impl From<Formatted> for PackageError"],["impl From<Formatted> for ParserError"],["impl From<Formatted> for ParserWarning"],["impl From<Formatted> for StaticAnalyzerError"],["impl From<Formatted> for StaticAnalyzerWarning"],["impl From<Formatted> for TypeCheckerError"],["impl From<Formatted> for TypeCheckerWarning"],["impl From<Formatted> for UtilError"],["impl From<InterpreterHalt> for LeoError"]]],["leo_lang",[["impl From<BuildOptions> for CompilerOptions"]]],["leo_retriever",[["impl From<&Dependency> for Symbol"],["impl From<&ProgramContext> for LockFileEntry"],["impl From<Dependency> for ProgramContext"]]]]);
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[4591,19575,472,1509]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[4591,20034,472,1509]}
\ No newline at end of file
diff --git a/trait.impl/core/default/trait.Default.js b/trait.impl/core/default/trait.Default.js
index ceda0bf0b1..679d20d3c9 100644
--- a/trait.impl/core/default/trait.Default.js
+++ b/trait.impl/core/default/trait.Default.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["leo_ast",[["impl Default for NodeBuilder"],["impl Default for StaticString"],["impl Default for Program"],["impl Default for Block"],["impl Default for Ast"],["impl Default for Stub"],["impl Default for FutureType"]]],["leo_compiler",[["impl Default for BuildOptions"],["impl Default for CompilerOptions"],["impl Default for OutputOptions"]]],["leo_errors",[["impl Default for Backtraced"],["impl Default for Formatted"],["impl Default for BufferEmitter"],["impl Default for Handler"],["impl<T> Default for Buffer<T>"]]],["leo_lang",[["impl Default for BuildOptions"],["impl Default for FeeOptions"],["impl Default for Format<Full, SystemTime>"]]],["leo_package",[["impl Default for Gitignore"]]],["leo_passes",[["impl Default for Position"],["impl Default for Assigner"],["impl Default for AssignerInner"],["impl Default for ConstantPropagationTable"],["impl Default for RenameTable"],["impl Default for SymbolTable"],["impl Default for TypeTable"]]],["leo_span",[["impl Default for SourceMap"],["impl Default for SourceMapInner"],["impl Default for BytePos"],["impl Default for Span"],["impl Default for SessionGlobals"]]]]);
+    var implementors = Object.fromEntries([["leo_ast",[["impl Default for NodeBuilder"],["impl Default for StaticString"],["impl Default for Program"],["impl Default for Block"],["impl Default for Ast"],["impl Default for Stub"],["impl Default for FutureType"]]],["leo_compiler",[["impl Default for BuildOptions"],["impl Default for CompilerOptions"],["impl Default for OutputOptions"]]],["leo_errors",[["impl Default for Backtraced"],["impl Default for Formatted"],["impl Default for BufferEmitter"],["impl Default for Handler"],["impl<T> Default for Buffer<T>"]]],["leo_interpreter",[["impl Default for Value"],["impl Default for ContextStack"],["impl Default for DrawData"],["impl Default for Prompt"],["impl Default for Future"]]],["leo_lang",[["impl Default for BuildOptions"],["impl Default for FeeOptions"],["impl Default for Format<Full, SystemTime>"]]],["leo_package",[["impl Default for Gitignore"]]],["leo_passes",[["impl Default for Position"],["impl Default for Assigner"],["impl Default for AssignerInner"],["impl Default for ConstantPropagationTable"],["impl Default for RenameTable"],["impl Default for SymbolTable"],["impl Default for TypeTable"]]],["leo_span",[["impl Default for SourceMap"],["impl Default for SourceMapInner"],["impl Default for BytePos"],["impl Default for Span"],["impl Default for SessionGlobals"]]]]);
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[2018,937,1520,943,324,2302,1447]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[2018,937,1520,1489,943,324,2302,1447]}
\ No newline at end of file
diff --git a/trait.impl/core/error/trait.Error.js b/trait.impl/core/error/trait.Error.js
index df821b4927..c742452891 100644
--- a/trait.impl/core/error/trait.Error.js
+++ b/trait.impl/core/error/trait.Error.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["leo_errors",[["impl Error for AstError"],["impl Error for CliError"],["impl Error for CompilerError"],["impl Error for LeoError"],["impl Error for LeoWarning"],["impl Error for FlattenError"],["impl Error for LoopUnrollerError"],["impl Error for PackageError"],["impl Error for ParserError"],["impl Error for ParserWarning"],["impl Error for StaticAnalyzerError"],["impl Error for StaticAnalyzerWarning"],["impl Error for TypeCheckerError"],["impl Error for TypeCheckerWarning"],["impl Error for UtilError"],["impl Error for Backtraced"],["impl Error for Formatted"]]]]);
+    var implementors = Object.fromEntries([["leo_errors",[["impl Error for AstError"],["impl Error for CliError"],["impl Error for CompilerError"],["impl Error for LeoError"],["impl Error for LeoWarning"],["impl Error for FlattenError"],["impl Error for LoopUnrollerError"],["impl Error for PackageError"],["impl Error for ParserError"],["impl Error for ParserWarning"],["impl Error for StaticAnalyzerError"],["impl Error for StaticAnalyzerWarning"],["impl Error for TypeCheckerError"],["impl Error for TypeCheckerWarning"],["impl Error for UtilError"],["impl Error for Backtraced"],["impl Error for Formatted"],["impl Error for InterpreterHalt"]]]]);
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[5580]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[5910]}
\ No newline at end of file
diff --git a/trait.impl/core/fmt/trait.Debug.js b/trait.impl/core/fmt/trait.Debug.js
index 767c11bcae..c6cef09aa1 100644
--- a/trait.impl/core/fmt/trait.Debug.js
+++ b/trait.impl/core/fmt/trait.Debug.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["leo_abnf",[["impl Debug for Scope"],["impl<'a> Debug for Processor<'a>"]]],["leo_ast",[["impl Debug for AccessExpression"],["impl Debug for BinaryOperation"],["impl Debug for Expression"],["impl Debug for Literal"],["impl Debug for UnaryOperation"],["impl Debug for Mode"],["impl Debug for Variant"],["impl Debug for GroupCoordinate"],["impl Debug for GroupLiteral"],["impl Debug for AssertVariant"],["impl Debug for ConsoleFunction"],["impl Debug for DeclarationType"],["impl Debug for Statement"],["impl Debug for IntegerType"],["impl Debug for Type"],["impl Debug for Value"],["impl Debug for ArrayAccess"],["impl Debug for AssociatedConstant"],["impl Debug for AssociatedFunction"],["impl Debug for MemberAccess"],["impl Debug for TupleAccess"],["impl Debug for Identifier"],["impl Debug for Location"],["impl Debug for NodeBuilder"],["impl Debug for NodeBuilderInner"],["impl Debug for NonNegativeNumber"],["impl Debug for StaticString"],["impl Debug for ArrayExpression"],["impl Debug for BinaryExpression"],["impl Debug for CallExpression"],["impl Debug for CastExpression"],["impl Debug for ErrExpression"],["impl Debug for LocatorExpression"],["impl Debug for StructExpression"],["impl Debug for StructVariableInitializer"],["impl Debug for TernaryExpression"],["impl Debug for TupleExpression"],["impl Debug for UnaryExpression"],["impl Debug for UnitExpression"],["impl Debug for Annotation"],["impl Debug for Input"],["impl Debug for Output"],["impl Debug for Function"],["impl Debug for GroupTuple"],["impl Debug for Mapping"],["impl Debug for ProgramId"],["impl Debug for ProgramScope"],["impl Debug for Program"],["impl Debug for AssertStatement"],["impl Debug for AssignStatement"],["impl Debug for Block"],["impl Debug for ConditionalStatement"],["impl Debug for ConsoleStatement"],["impl Debug for ConstDeclaration"],["impl Debug for DefinitionStatement"],["impl Debug for ExpressionStatement"],["impl Debug for IterationStatement"],["impl Debug for ReturnStatement"],["impl Debug for Ast"],["impl Debug for Member"],["impl Debug for Composite"],["impl Debug for FunctionStub"],["impl Debug for Stub"],["impl Debug for ArrayType"],["impl Debug for FutureType"],["impl Debug for MappingType"],["impl Debug for CompositeType"],["impl Debug for TupleType"]]],["leo_errors",[["impl Debug for AstError"],["impl Debug for CliError"],["impl Debug for CompilerError"],["impl Debug for LeoError"],["impl Debug for LeoWarning"],["impl Debug for FlattenError"],["impl Debug for LoopUnrollerError"],["impl Debug for PackageError"],["impl Debug for ParserError"],["impl Debug for ParserWarning"],["impl Debug for StaticAnalyzerError"],["impl Debug for StaticAnalyzerWarning"],["impl Debug for TypeCheckerError"],["impl Debug for TypeCheckerWarning"],["impl Debug for UtilError"],["impl Debug for Backtraced"],["impl Debug for Formatted"],["impl<T: Debug> Debug for Buffer<T>"]]],["leo_lang",[["impl Debug for Commands"],["impl Debug for Account"],["impl Debug for ExampleVariant"],["impl Debug for QueryCommands"],["impl Debug for CLI"],["impl Debug for LeoAdd"],["impl Debug for LeoBuild"],["impl Debug for LeoClean"],["impl Debug for Deploy"],["impl Debug for LeoExample"],["impl Debug for LeoExecute"],["impl Debug for LeoNew"],["impl Debug for LeoBlock"],["impl Debug for LeoCommittee"],["impl Debug for LeoMempool"],["impl Debug for LeoPeers"],["impl Debug for LeoProgram"],["impl Debug for StateRoot"],["impl Debug for LeoQuery"],["impl Debug for LeoTransaction"],["impl Debug for LeoRemove"],["impl Debug for LeoRun"],["impl Debug for BuildOptions"],["impl Debug for FeeOptions"],["impl Debug for LeoUpdate"],["impl<F: Debug, T: Debug> Debug for Format<F, T>"]]],["leo_parser",[["impl Debug for Token"],["impl Debug for SpannedToken"]]],["leo_passes",[["impl Debug for VariableType"],["impl Debug for Position"],["impl Debug for Assigner"],["impl Debug for AssignerInner"],["impl Debug for ConstantPropagationTable"],["impl Debug for RenameTable"],["impl Debug for FunctionSymbol"],["impl Debug for SymbolTable"],["impl Debug for VariableSymbol"],["impl Debug for TypeTable"],["impl<N: Debug + Node> Debug for DiGraphError<N>"],["impl<N: Debug + Node> Debug for DiGraph<N>"],["impl<N: Debug + Node> Debug for TreeNode<N>"]]],["leo_retriever",[["impl Debug for Location"],["impl Debug for NetworkName"],["impl Debug for Dependency"],["impl Debug for LockFileEntry"],["impl Debug for Manifest"],["impl Debug for ProgramContext"]]],["leo_span",[["impl Debug for MultiByteChar"],["impl Debug for BytePos"],["impl Debug for CharPos"],["impl Debug for Span"],["impl Debug for Symbol"]]],["leo_test_framework",[["impl Debug for TestError"],["impl Debug for ParseType"],["impl Debug for TestExpectationMode"],["impl Debug for TestConfig"]]]]);
+    var implementors = Object.fromEntries([["leo_abnf",[["impl Debug for Scope"],["impl<'a> Debug for Processor<'a>"]]],["leo_ast",[["impl Debug for AccessExpression"],["impl Debug for BinaryOperation"],["impl Debug for Expression"],["impl Debug for Literal"],["impl Debug for UnaryOperation"],["impl Debug for Mode"],["impl Debug for Variant"],["impl Debug for GroupCoordinate"],["impl Debug for GroupLiteral"],["impl Debug for AssertVariant"],["impl Debug for ConsoleFunction"],["impl Debug for DeclarationType"],["impl Debug for Statement"],["impl Debug for IntegerType"],["impl Debug for Type"],["impl Debug for Value"],["impl Debug for ArrayAccess"],["impl Debug for AssociatedConstant"],["impl Debug for AssociatedFunction"],["impl Debug for MemberAccess"],["impl Debug for TupleAccess"],["impl Debug for Identifier"],["impl Debug for Location"],["impl Debug for NodeBuilder"],["impl Debug for NodeBuilderInner"],["impl Debug for NonNegativeNumber"],["impl Debug for StaticString"],["impl Debug for ArrayExpression"],["impl Debug for BinaryExpression"],["impl Debug for CallExpression"],["impl Debug for CastExpression"],["impl Debug for ErrExpression"],["impl Debug for LocatorExpression"],["impl Debug for StructExpression"],["impl Debug for StructVariableInitializer"],["impl Debug for TernaryExpression"],["impl Debug for TupleExpression"],["impl Debug for UnaryExpression"],["impl Debug for UnitExpression"],["impl Debug for Annotation"],["impl Debug for Input"],["impl Debug for Output"],["impl Debug for Function"],["impl Debug for GroupTuple"],["impl Debug for Mapping"],["impl Debug for ProgramId"],["impl Debug for ProgramScope"],["impl Debug for Program"],["impl Debug for AssertStatement"],["impl Debug for AssignStatement"],["impl Debug for Block"],["impl Debug for ConditionalStatement"],["impl Debug for ConsoleStatement"],["impl Debug for ConstDeclaration"],["impl Debug for DefinitionStatement"],["impl Debug for ExpressionStatement"],["impl Debug for IterationStatement"],["impl Debug for ReturnStatement"],["impl Debug for Ast"],["impl Debug for Member"],["impl Debug for Composite"],["impl Debug for FunctionStub"],["impl Debug for Stub"],["impl Debug for ArrayType"],["impl Debug for FutureType"],["impl Debug for MappingType"],["impl Debug for CompositeType"],["impl Debug for TupleType"]]],["leo_errors",[["impl Debug for AstError"],["impl Debug for CliError"],["impl Debug for CompilerError"],["impl Debug for LeoError"],["impl Debug for LeoWarning"],["impl Debug for FlattenError"],["impl Debug for LoopUnrollerError"],["impl Debug for PackageError"],["impl Debug for ParserError"],["impl Debug for ParserWarning"],["impl Debug for StaticAnalyzerError"],["impl Debug for StaticAnalyzerWarning"],["impl Debug for TypeCheckerError"],["impl Debug for TypeCheckerWarning"],["impl Debug for UtilError"],["impl Debug for Backtraced"],["impl Debug for Formatted"],["impl Debug for InterpreterHalt"],["impl<T: Debug> Debug for Buffer<T>"]]],["leo_interpreter",[["impl Debug for InterpreterAction"],["impl Debug for Value"],["impl Debug for ContextStack"],["impl Debug for FunctionContext"],["impl Debug for GlobalId"],["impl Debug for StepResult"],["impl Debug for Breakpoint"],["impl Debug for Watchpoint"],["impl Debug for Prompt"],["impl Debug for AsyncExecution"],["impl Debug for Future"],["impl Debug for StructContents"],["impl<'a> Debug for AleoContext<'a>"],["impl<'a> Debug for Element<'a>"],["impl<'a> Debug for FunctionVariant<'a>"],["impl<'a> Debug for Cursor<'a>"],["impl<'a> Debug for Frame<'a>"]]],["leo_lang",[["impl Debug for Commands"],["impl Debug for Account"],["impl Debug for ExampleVariant"],["impl Debug for QueryCommands"],["impl Debug for CLI"],["impl Debug for LeoAdd"],["impl Debug for LeoBuild"],["impl Debug for LeoClean"],["impl Debug for LeoDebug"],["impl Debug for Deploy"],["impl Debug for LeoExample"],["impl Debug for LeoExecute"],["impl Debug for LeoNew"],["impl Debug for LeoBlock"],["impl Debug for LeoCommittee"],["impl Debug for LeoMempool"],["impl Debug for LeoPeers"],["impl Debug for LeoProgram"],["impl Debug for StateRoot"],["impl Debug for LeoQuery"],["impl Debug for LeoTransaction"],["impl Debug for LeoRemove"],["impl Debug for LeoRun"],["impl Debug for BuildOptions"],["impl Debug for FeeOptions"],["impl Debug for LeoUpdate"],["impl<F: Debug, T: Debug> Debug for Format<F, T>"]]],["leo_parser",[["impl Debug for Token"],["impl Debug for SpannedToken"]]],["leo_passes",[["impl Debug for VariableType"],["impl Debug for Position"],["impl Debug for Assigner"],["impl Debug for AssignerInner"],["impl Debug for ConstantPropagationTable"],["impl Debug for RenameTable"],["impl Debug for FunctionSymbol"],["impl Debug for SymbolTable"],["impl Debug for VariableSymbol"],["impl Debug for TypeTable"],["impl<N: Debug + Node> Debug for DiGraphError<N>"],["impl<N: Debug + Node> Debug for DiGraph<N>"],["impl<N: Debug + Node> Debug for TreeNode<N>"]]],["leo_retriever",[["impl Debug for Location"],["impl Debug for NetworkName"],["impl Debug for Dependency"],["impl Debug for LockFileEntry"],["impl Debug for Manifest"],["impl Debug for ProgramContext"]]],["leo_span",[["impl Debug for MultiByteChar"],["impl Debug for BytePos"],["impl Debug for CharPos"],["impl Debug for Span"],["impl Debug for Symbol"]]],["leo_test_framework",[["impl Debug for TestError"],["impl Debug for ParseType"],["impl Debug for TestExpectationMode"],["impl Debug for TestConfig"]]]]);
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[524,20300,5928,8002,592,4932,1941,1332,1186]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[524,20300,6254,4987,8294,592,4932,1941,1332,1186]}
\ No newline at end of file
diff --git a/trait.impl/core/fmt/trait.Display.js b/trait.impl/core/fmt/trait.Display.js
index f8ed83faf2..25e92e6199 100644
--- a/trait.impl/core/fmt/trait.Display.js
+++ b/trait.impl/core/fmt/trait.Display.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["leo_ast",[["impl Display for AccessExpression"],["impl Display for BinaryOperation"],["impl Display for Expression"],["impl Display for Literal"],["impl Display for Mode"],["impl Display for GroupCoordinate"],["impl Display for GroupLiteral"],["impl Display for ConsoleFunction"],["impl Display for DeclarationType"],["impl Display for Statement"],["impl Display for IntegerType"],["impl Display for Type"],["impl Display for Value"],["impl Display for ArrayAccess"],["impl Display for AssociatedConstant"],["impl Display for AssociatedFunction"],["impl Display for MemberAccess"],["impl Display for TupleAccess"],["impl Display for Identifier"],["impl Display for NonNegativeNumber"],["impl Display for StaticString"],["impl Display for ArrayExpression"],["impl Display for BinaryExpression"],["impl Display for CallExpression"],["impl Display for CastExpression"],["impl Display for ErrExpression"],["impl Display for DisplayDecimal<'_>"],["impl Display for LocatorExpression"],["impl Display for StructExpression"],["impl Display for StructVariableInitializer"],["impl Display for TernaryExpression"],["impl Display for TupleExpression"],["impl Display for UnaryExpression"],["impl Display for UnitExpression"],["impl Display for Annotation"],["impl Display for Input"],["impl Display for Output"],["impl Display for Function"],["impl Display for Mapping"],["impl Display for ProgramId"],["impl Display for ProgramScope"],["impl Display for Program"],["impl Display for AssertStatement"],["impl Display for AssignStatement"],["impl Display for Block"],["impl Display for ConditionalStatement"],["impl Display for ConsoleStatement"],["impl Display for ConstDeclaration"],["impl Display for DefinitionStatement"],["impl Display for ExpressionStatement"],["impl Display for IterationStatement"],["impl Display for ReturnStatement"],["impl Display for Member"],["impl Display for Composite"],["impl Display for FunctionStub"],["impl Display for Stub"],["impl Display for ArrayType"],["impl Display for FutureType"],["impl Display for MappingType"],["impl Display for CompositeType"],["impl Display for TupleType"]]],["leo_errors",[["impl Display for AstError"],["impl Display for CliError"],["impl Display for CompilerError"],["impl Display for LeoError"],["impl Display for LeoWarning"],["impl Display for FlattenError"],["impl Display for LoopUnrollerError"],["impl Display for PackageError"],["impl Display for ParserError"],["impl Display for ParserWarning"],["impl Display for StaticAnalyzerError"],["impl Display for StaticAnalyzerWarning"],["impl Display for TypeCheckerError"],["impl Display for TypeCheckerWarning"],["impl Display for UtilError"],["impl Display for Backtraced"],["impl Display for Formatted"],["impl<T: Display> Display for Buffer<T>"]]],["leo_package",[["impl Display for Snapshot"],["impl<N: Network> Display for Env<N>"]]],["leo_parser",[["impl Display for Token"],["impl Display for SpannedToken"]]],["leo_passes",[["impl Display for VariableType"],["impl Display for VariableSymbol"]]],["leo_retriever",[["impl Display for NetworkName"]]],["leo_span",[["impl Display for FileName"],["impl Display for Span"],["impl Display for Symbol"]]],["leo_test_framework",[["impl Display for TestError"]]]]);
+    var implementors = Object.fromEntries([["leo_ast",[["impl Display for AccessExpression"],["impl Display for BinaryOperation"],["impl Display for Expression"],["impl Display for Literal"],["impl Display for Mode"],["impl Display for GroupCoordinate"],["impl Display for GroupLiteral"],["impl Display for ConsoleFunction"],["impl Display for DeclarationType"],["impl Display for Statement"],["impl Display for IntegerType"],["impl Display for Type"],["impl Display for Value"],["impl Display for ArrayAccess"],["impl Display for AssociatedConstant"],["impl Display for AssociatedFunction"],["impl Display for MemberAccess"],["impl Display for TupleAccess"],["impl Display for Identifier"],["impl Display for NonNegativeNumber"],["impl Display for StaticString"],["impl Display for ArrayExpression"],["impl Display for BinaryExpression"],["impl Display for CallExpression"],["impl Display for CastExpression"],["impl Display for ErrExpression"],["impl Display for DisplayDecimal<'_>"],["impl Display for LocatorExpression"],["impl Display for StructExpression"],["impl Display for StructVariableInitializer"],["impl Display for TernaryExpression"],["impl Display for TupleExpression"],["impl Display for UnaryExpression"],["impl Display for UnitExpression"],["impl Display for Annotation"],["impl Display for Input"],["impl Display for Output"],["impl Display for Function"],["impl Display for Mapping"],["impl Display for ProgramId"],["impl Display for ProgramScope"],["impl Display for Program"],["impl Display for AssertStatement"],["impl Display for AssignStatement"],["impl Display for Block"],["impl Display for ConditionalStatement"],["impl Display for ConsoleStatement"],["impl Display for ConstDeclaration"],["impl Display for DefinitionStatement"],["impl Display for ExpressionStatement"],["impl Display for IterationStatement"],["impl Display for ReturnStatement"],["impl Display for Member"],["impl Display for Composite"],["impl Display for FunctionStub"],["impl Display for Stub"],["impl Display for ArrayType"],["impl Display for FutureType"],["impl Display for MappingType"],["impl Display for CompositeType"],["impl Display for TupleType"]]],["leo_errors",[["impl Display for AstError"],["impl Display for CliError"],["impl Display for CompilerError"],["impl Display for LeoError"],["impl Display for LeoWarning"],["impl Display for FlattenError"],["impl Display for LoopUnrollerError"],["impl Display for PackageError"],["impl Display for ParserError"],["impl Display for ParserWarning"],["impl Display for StaticAnalyzerError"],["impl Display for StaticAnalyzerWarning"],["impl Display for TypeCheckerError"],["impl Display for TypeCheckerWarning"],["impl Display for UtilError"],["impl Display for Backtraced"],["impl Display for Formatted"],["impl Display for InterpreterHalt"],["impl<T: Display> Display for Buffer<T>"]]],["leo_interpreter",[["impl Display for Value"],["impl Display for GlobalId"],["impl Display for Future"]]],["leo_package",[["impl Display for Snapshot"],["impl<N: Network> Display for Env<N>"]]],["leo_parser",[["impl Display for Token"],["impl Display for SpannedToken"]]],["leo_passes",[["impl Display for VariableType"],["impl Display for VariableSymbol"]]],["leo_retriever",[["impl Display for NetworkName"]]],["leo_span",[["impl Display for FileName"],["impl Display for Span"],["impl Display for Symbol"]]],["leo_test_framework",[["impl Display for TestError"]]]]);
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[18682,6042,614,604,713,350,811,312]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[18682,6374,855,614,604,713,350,811,312]}
\ No newline at end of file
diff --git a/trait.impl/core/hash/trait.Hash.js b/trait.impl/core/hash/trait.Hash.js
index 7d97f8f598..3e94922bfd 100644
--- a/trait.impl/core/hash/trait.Hash.js
+++ b/trait.impl/core/hash/trait.Hash.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["leo_ast",[["impl Hash for IntegerType"],["impl Hash for Type"],["impl Hash for Identifier"],["impl Hash for Location"],["impl Hash for NonNegativeNumber"],["impl Hash for LocatorExpression"],["impl Hash for ProgramId"],["impl Hash for ArrayType"],["impl Hash for FutureType"],["impl Hash for MappingType"],["impl Hash for CompositeType"],["impl Hash for TupleType"]]],["leo_errors",[["impl Hash for Backtraced"],["impl Hash for Formatted"]]],["leo_retriever",[["impl Hash for Location"],["impl Hash for NetworkName"],["impl Hash for Dependency"]]],["leo_span",[["impl Hash for InternedStr"],["impl Hash for BytePos"],["impl Hash for Span"],["impl Hash for Symbol"]]]]);
+    var implementors = Object.fromEntries([["leo_ast",[["impl Hash for IntegerType"],["impl Hash for Type"],["impl Hash for Identifier"],["impl Hash for Location"],["impl Hash for NonNegativeNumber"],["impl Hash for LocatorExpression"],["impl Hash for ProgramId"],["impl Hash for ArrayType"],["impl Hash for FutureType"],["impl Hash for MappingType"],["impl Hash for CompositeType"],["impl Hash for TupleType"]]],["leo_errors",[["impl Hash for Backtraced"],["impl Hash for Formatted"]]],["leo_interpreter",[["impl Hash for Value"],["impl Hash for GlobalId"],["impl Hash for AsyncExecution"],["impl Hash for Future"],["impl Hash for StructContents"]]],["leo_retriever",[["impl Hash for Location"],["impl Hash for NetworkName"],["impl Hash for Dependency"]]],["leo_span",[["impl Hash for InternedStr"],["impl Hash for BytePos"],["impl Hash for Span"],["impl Hash for Symbol"]]]]);
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[3489,608,971,1049]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[3489,608,1424,971,1049]}
\ No newline at end of file
diff --git a/trait.impl/core/marker/trait.Copy.js b/trait.impl/core/marker/trait.Copy.js
index e2a4f2201a..ada98433e0 100644
--- a/trait.impl/core/marker/trait.Copy.js
+++ b/trait.impl/core/marker/trait.Copy.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["leo_ast",[["impl Copy for BinaryOperation"],["impl Copy for UnaryOperation"],["impl Copy for Mode"],["impl Copy for Variant"],["impl Copy for DeclarationType"],["impl Copy for IntegerType"],["impl Copy for Identifier"],["impl Copy for LocatorExpression"],["impl Copy for ProgramId"],["impl Copy for CompositeType"]]],["leo_lang",[["impl Copy for ExampleVariant"]]],["leo_parser",[["impl Copy for Delimiter"]]],["leo_passes",[["impl Copy for VariableType"],["impl Copy for Guard"],["impl Copy for ReturnGuard"],["impl Copy for Position"]]],["leo_retriever",[["impl Copy for NetworkName"]]],["leo_span",[["impl Copy for MultiByteChar"],["impl Copy for BytePos"],["impl Copy for CharPos"],["impl Copy for Span"],["impl Copy for Symbol"]]],["leo_test_framework",[["impl Copy for ParseType"]]]]);
+    var implementors = Object.fromEntries([["leo_ast",[["impl Copy for BinaryOperation"],["impl Copy for UnaryOperation"],["impl Copy for Mode"],["impl Copy for Variant"],["impl Copy for DeclarationType"],["impl Copy for IntegerType"],["impl Copy for Identifier"],["impl Copy for LocatorExpression"],["impl Copy for ProgramId"],["impl Copy for CompositeType"]]],["leo_interpreter",[["impl Copy for GlobalId"],["impl<'a> Copy for AleoContext<'a>"]]],["leo_lang",[["impl Copy for ExampleVariant"]]],["leo_parser",[["impl Copy for Delimiter"]]],["leo_passes",[["impl Copy for VariableType"],["impl Copy for Guard"],["impl Copy for ReturnGuard"],["impl Copy for Position"]]],["leo_retriever",[["impl Copy for NetworkName"]]],["leo_span",[["impl Copy for MultiByteChar"],["impl Copy for BytePos"],["impl Copy for CharPos"],["impl Copy for Span"],["impl Copy for Symbol"]]],["leo_test_framework",[["impl Copy for ParseType"]]]]);
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[3027,326,306,1264,347,1347,311]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[3027,611,326,306,1264,347,1347,311]}
\ No newline at end of file
diff --git a/trait.impl/core/marker/trait.Freeze.js b/trait.impl/core/marker/trait.Freeze.js
index d96051a462..548684be9a 100644
--- a/trait.impl/core/marker/trait.Freeze.js
+++ b/trait.impl/core/marker/trait.Freeze.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["leo_abnf",[["impl Freeze for Scope",1,["leo_abnf::Scope"]],["impl<'a> Freeze for Processor<'a>",1,["leo_abnf::Processor"]]]],["leo_ast",[["impl !Freeze for NodeBuilder",1,["leo_ast::common::node_builder::NodeBuilder"]],["impl !Freeze for IterationStatement",1,["leo_ast::statement::iteration::IterationStatement"]],["impl Freeze for AccessExpression",1,["leo_ast::expressions::access::AccessExpression"]],["impl Freeze for BinaryOperation",1,["leo_ast::expressions::binary::BinaryOperation"]],["impl Freeze for Expression",1,["leo_ast::expressions::Expression"]],["impl Freeze for Literal",1,["leo_ast::expressions::literal::Literal"]],["impl Freeze for UnaryOperation",1,["leo_ast::expressions::unary::UnaryOperation"]],["impl Freeze for CoreFunction",1,["leo_ast::functions::core_function::CoreFunction"]],["impl Freeze for Mode",1,["leo_ast::functions::mode::Mode"]],["impl Freeze for Variant",1,["leo_ast::functions::variant::Variant"]],["impl Freeze for GroupCoordinate",1,["leo_ast::groups::group_coordinate::GroupCoordinate"]],["impl Freeze for GroupLiteral",1,["leo_ast::groups::group_literal::GroupLiteral"]],["impl Freeze for AssertVariant",1,["leo_ast::statement::assert::AssertVariant"]],["impl Freeze for ConsoleFunction",1,["leo_ast::statement::console::console_function::ConsoleFunction"]],["impl Freeze for DeclarationType",1,["leo_ast::statement::definition::declaration_type::DeclarationType"]],["impl Freeze for Statement",1,["leo_ast::statement::Statement"]],["impl Freeze for CoreConstant",1,["leo_ast::types::core_constant::CoreConstant"]],["impl Freeze for IntegerType",1,["leo_ast::types::integer_type::IntegerType"]],["impl Freeze for Type",1,["leo_ast::types::type_::Type"]],["impl Freeze for Value",1,["leo_ast::value::Value"]],["impl Freeze for ArrayAccess",1,["leo_ast::access::array_access::ArrayAccess"]],["impl Freeze for AssociatedConstant",1,["leo_ast::access::associated_constant_access::AssociatedConstant"]],["impl Freeze for AssociatedFunction",1,["leo_ast::access::associated_function_access::AssociatedFunction"]],["impl Freeze for MemberAccess",1,["leo_ast::access::member_access::MemberAccess"]],["impl Freeze for TupleAccess",1,["leo_ast::access::tuple_access::TupleAccess"]],["impl Freeze for Identifier",1,["leo_ast::common::identifier::Identifier"]],["impl Freeze for Location",1,["leo_ast::common::location::Location"]],["impl Freeze for NodeBuilderInner",1,["leo_ast::common::node_builder::NodeBuilderInner"]],["impl Freeze for NonNegativeNumber",1,["leo_ast::common::positive_number::NonNegativeNumber"]],["impl Freeze for StaticString",1,["leo_ast::common::static_string::StaticString"]],["impl Freeze for ArrayExpression",1,["leo_ast::expressions::array::ArrayExpression"]],["impl Freeze for BinaryExpression",1,["leo_ast::expressions::binary::BinaryExpression"]],["impl Freeze for CallExpression",1,["leo_ast::expressions::call::CallExpression"]],["impl Freeze for CastExpression",1,["leo_ast::expressions::cast::CastExpression"]],["impl Freeze for ErrExpression",1,["leo_ast::expressions::err::ErrExpression"]],["impl Freeze for LocatorExpression",1,["leo_ast::expressions::locator::LocatorExpression"]],["impl Freeze for StructExpression",1,["leo_ast::expressions::struct_init::StructExpression"]],["impl Freeze for StructVariableInitializer",1,["leo_ast::expressions::struct_init::StructVariableInitializer"]],["impl Freeze for TernaryExpression",1,["leo_ast::expressions::ternary::TernaryExpression"]],["impl Freeze for TupleExpression",1,["leo_ast::expressions::tuple::TupleExpression"]],["impl Freeze for UnaryExpression",1,["leo_ast::expressions::unary::UnaryExpression"]],["impl Freeze for UnitExpression",1,["leo_ast::expressions::unit::UnitExpression"]],["impl Freeze for Annotation",1,["leo_ast::functions::annotation::Annotation"]],["impl Freeze for Input",1,["leo_ast::functions::input::Input"]],["impl Freeze for Output",1,["leo_ast::functions::output::Output"]],["impl Freeze for Function",1,["leo_ast::functions::Function"]],["impl Freeze for GroupTuple",1,["leo_ast::groups::group_literal::GroupTuple"]],["impl Freeze for Mapping",1,["leo_ast::mapping::Mapping"]],["impl Freeze for ProgramId",1,["leo_ast::program::program_id::ProgramId"]],["impl Freeze for ProgramScope",1,["leo_ast::program::program_scope::ProgramScope"]],["impl Freeze for Program",1,["leo_ast::program::Program"]],["impl Freeze for AssertStatement",1,["leo_ast::statement::assert::AssertStatement"]],["impl Freeze for AssignStatement",1,["leo_ast::statement::assign::AssignStatement"]],["impl Freeze for Block",1,["leo_ast::statement::block::Block"]],["impl Freeze for ConditionalStatement",1,["leo_ast::statement::conditional::ConditionalStatement"]],["impl Freeze for ConsoleStatement",1,["leo_ast::statement::console::console_statement::ConsoleStatement"]],["impl Freeze for ConstDeclaration",1,["leo_ast::statement::const_::ConstDeclaration"]],["impl Freeze for DefinitionStatement",1,["leo_ast::statement::definition::DefinitionStatement"]],["impl Freeze for ExpressionStatement",1,["leo_ast::statement::expression::ExpressionStatement"]],["impl Freeze for ReturnStatement",1,["leo_ast::statement::return_::ReturnStatement"]],["impl Freeze for Ast",1,["leo_ast::Ast"]],["impl Freeze for Member",1,["leo_ast::struct::member::Member"]],["impl Freeze for Composite",1,["leo_ast::struct::Composite"]],["impl Freeze for FunctionStub",1,["leo_ast::stub::function_stub::FunctionStub"]],["impl Freeze for Stub",1,["leo_ast::stub::Stub"]],["impl Freeze for ArrayType",1,["leo_ast::types::array::ArrayType"]],["impl Freeze for FutureType",1,["leo_ast::types::future::FutureType"]],["impl Freeze for MappingType",1,["leo_ast::types::mapping::MappingType"]],["impl Freeze for CompositeType",1,["leo_ast::types::struct_type::CompositeType"]],["impl Freeze for TupleType",1,["leo_ast::types::tuple::TupleType"]],["impl<'a> Freeze for DisplayDecimal<'a>",1,["leo_ast::expressions::literal::DisplayDecimal"]]]],["leo_compiler",[["impl Freeze for BuildOptions",1,["leo_compiler::options::BuildOptions"]],["impl Freeze for CompilerOptions",1,["leo_compiler::options::CompilerOptions"]],["impl Freeze for OutputOptions",1,["leo_compiler::options::OutputOptions"]],["impl<'a, N> !Freeze for Compiler<'a, N>",1,["leo_compiler::compiler::Compiler"]]]],["leo_errors",[["impl !Freeze for Handler",1,["leo_errors::emitter::Handler"]],["impl Freeze for AstError",1,["leo_errors::errors::ast::ast_errors::AstError"]],["impl Freeze for CliError",1,["leo_errors::errors::cli::cli_errors::CliError"]],["impl Freeze for CompilerError",1,["leo_errors::errors::compiler::compiler_errors::CompilerError"]],["impl Freeze for LeoError",1,["leo_errors::errors::LeoError"]],["impl Freeze for LeoWarning",1,["leo_errors::errors::LeoWarning"]],["impl Freeze for FlattenError",1,["leo_errors::errors::flattener::flattener_errors::FlattenError"]],["impl Freeze for LoopUnrollerError",1,["leo_errors::errors::loop_unroller::loop_unroller_errors::LoopUnrollerError"]],["impl Freeze for PackageError",1,["leo_errors::errors::package::package_errors::PackageError"]],["impl Freeze for ParserError",1,["leo_errors::errors::parser::parser_errors::ParserError"]],["impl Freeze for ParserWarning",1,["leo_errors::errors::parser::parser_warnings::ParserWarning"]],["impl Freeze for StaticAnalyzerError",1,["leo_errors::errors::static_analyzer::static_analyzer_error::StaticAnalyzerError"]],["impl Freeze for StaticAnalyzerWarning",1,["leo_errors::errors::static_analyzer::static_analyzer_warning::StaticAnalyzerWarning"]],["impl Freeze for TypeCheckerError",1,["leo_errors::errors::type_checker::type_checker_error::TypeCheckerError"]],["impl Freeze for TypeCheckerWarning",1,["leo_errors::errors::type_checker::type_checker_warning::TypeCheckerWarning"]],["impl Freeze for UtilError",1,["leo_errors::errors::utils::util_errors::UtilError"]],["impl Freeze for Backtraced",1,["leo_errors::common::backtraced::Backtraced"]],["impl Freeze for Formatted",1,["leo_errors::common::formatted::Formatted"]],["impl Freeze for BufferEmitter",1,["leo_errors::emitter::BufferEmitter"]],["impl Freeze for HandlerInner",1,["leo_errors::emitter::HandlerInner"]],["impl Freeze for StderrEmitter",1,["leo_errors::emitter::StderrEmitter"]],["impl<T> Freeze for Buffer<T>",1,["leo_errors::emitter::Buffer"]]]],["leo_lang",[["impl Freeze for Commands",1,["leo_lang::cli::cli::Commands"]],["impl Freeze for Account",1,["leo_lang::cli::commands::account::Account"]],["impl Freeze for ExampleVariant",1,["leo_lang::cli::commands::example::ExampleVariant"]],["impl Freeze for QueryCommands",1,["leo_lang::cli::commands::query::QueryCommands"]],["impl Freeze for CLI",1,["leo_lang::cli::cli::CLI"]],["impl Freeze for LeoAdd",1,["leo_lang::cli::commands::add::LeoAdd"]],["impl Freeze for LeoBuild",1,["leo_lang::cli::commands::build::LeoBuild"]],["impl Freeze for LeoClean",1,["leo_lang::cli::commands::clean::LeoClean"]],["impl Freeze for Deploy",1,["leo_lang::cli::commands::deploy::Deploy"]],["impl Freeze for LeoExample",1,["leo_lang::cli::commands::example::LeoExample"]],["impl Freeze for LeoExecute",1,["leo_lang::cli::commands::execute::LeoExecute"]],["impl Freeze for LeoNew",1,["leo_lang::cli::commands::new::LeoNew"]],["impl Freeze for LeoBlock",1,["leo_lang::cli::commands::query::block::LeoBlock"]],["impl Freeze for LeoCommittee",1,["leo_lang::cli::commands::query::committee::LeoCommittee"]],["impl Freeze for LeoMempool",1,["leo_lang::cli::commands::query::mempool::LeoMempool"]],["impl Freeze for LeoPeers",1,["leo_lang::cli::commands::query::peers::LeoPeers"]],["impl Freeze for LeoProgram",1,["leo_lang::cli::commands::query::program::LeoProgram"]],["impl Freeze for StateRoot",1,["leo_lang::cli::commands::query::state_root::StateRoot"]],["impl Freeze for LeoQuery",1,["leo_lang::cli::commands::query::LeoQuery"]],["impl Freeze for LeoTransaction",1,["leo_lang::cli::commands::query::transaction::LeoTransaction"]],["impl Freeze for LeoRemove",1,["leo_lang::cli::commands::remove::LeoRemove"]],["impl Freeze for LeoRun",1,["leo_lang::cli::commands::run::LeoRun"]],["impl Freeze for BuildOptions",1,["leo_lang::cli::commands::BuildOptions"]],["impl Freeze for FeeOptions",1,["leo_lang::cli::commands::FeeOptions"]],["impl Freeze for LeoUpdate",1,["leo_lang::cli::commands::update::LeoUpdate"]],["impl Freeze for Context",1,["leo_lang::cli::helpers::context::Context"]],["impl Freeze for Updater",1,["leo_lang::cli::helpers::updater::Updater"]],["impl<F, T> Freeze for Format<F, T>
where\n F: Freeze,\n T: Freeze,
",1,["leo_lang::cli::helpers::logger::Format"]]]],["leo_package",[["impl Freeze for Snapshot",1,["leo_package::outputs::ast_snapshot::Snapshot"]],["impl Freeze for BuildDirectory",1,["leo_package::build::directory::BuildDirectory"]],["impl Freeze for ImportsDirectory",1,["leo_package::imports::directory::ImportsDirectory"]],["impl Freeze for InputsDirectory",1,["leo_package::inputs::directory::InputsDirectory"]],["impl Freeze for SnapshotFile",1,["leo_package::outputs::ast_snapshot::SnapshotFile"]],["impl Freeze for ChecksumFile",1,["leo_package::outputs::checksum::ChecksumFile"]],["impl Freeze for CircuitFile",1,["leo_package::outputs::circuit::CircuitFile"]],["impl Freeze for OutputsDirectory",1,["leo_package::outputs::directory::OutputsDirectory"]],["impl Freeze for Package",1,["leo_package::package::Package"]],["impl Freeze for Gitignore",1,["leo_package::root::gitignore::Gitignore"]],["impl Freeze for SourceDirectory",1,["leo_package::source::directory::SourceDirectory"]],["impl Freeze for MainFile",1,["leo_package::source::main::MainFile"]],["impl<N> Freeze for Env<N>
where\n <N as Environment>::Field: Freeze,\n <N as Environment>::Scalar: Freeze,
",1,["leo_package::root::env::Env"]]]],["leo_parser",[["impl Freeze for Delimiter",1,["leo_parser::tokenizer::token::Delimiter"]],["impl Freeze for Token",1,["leo_parser::tokenizer::token::Token"]],["impl Freeze for SpannedToken",1,["leo_parser::tokenizer::lexer::SpannedToken"]],["impl<'a, N> Freeze for ParserContext<'a, N>",1,["leo_parser::parser::context::ParserContext"]]]],["leo_passes",[["impl !Freeze for Assigner",1,["leo_passes::common::assigner::Assigner"]],["impl !Freeze for TypeTable",1,["leo_passes::common::type_table::TypeTable"]],["impl Freeze for VariableType",1,["leo_passes::common::symbol_table::variable_symbol::VariableType"]],["impl Freeze for Guard",1,["leo_passes::flattening::flattener::Guard"]],["impl Freeze for ReturnGuard",1,["leo_passes::flattening::flattener::ReturnGuard"]],["impl Freeze for Clusivity",1,["leo_passes::loop_unrolling::range_iterator::Clusivity"]],["impl Freeze for Position",1,["leo_passes::static_analysis::future_checker::Position"]],["impl Freeze for AssignerInner",1,["leo_passes::common::assigner::AssignerInner"]],["impl Freeze for ConstantPropagationTable",1,["leo_passes::common::constant_propagation_table::ConstantPropagationTable"]],["impl Freeze for RenameTable",1,["leo_passes::common::rename_table::RenameTable"]],["impl Freeze for FunctionSymbol",1,["leo_passes::common::symbol_table::function_symbol::FunctionSymbol"]],["impl Freeze for SymbolTable",1,["leo_passes::common::symbol_table::SymbolTable"]],["impl Freeze for VariableSymbol",1,["leo_passes::common::symbol_table::variable_symbol::VariableSymbol"]],["impl Freeze for AwaitChecker",1,["leo_passes::static_analysis::await_checker::AwaitChecker"]],["impl Freeze for ScopeState",1,["leo_passes::type_checking::scope_state::ScopeState"]],["impl<'a> !Freeze for Unroller<'a>",1,["leo_passes::loop_unrolling::unroller::Unroller"]],["impl<'a> Freeze for CodeGenerator<'a>",1,["leo_passes::code_generation::generator::CodeGenerator"]],["impl<'a> Freeze for DeadCodeEliminator<'a>",1,["leo_passes::dead_code_elimination::dead_code_eliminator::DeadCodeEliminator"]],["impl<'a> Freeze for Destructurer<'a>",1,["leo_passes::destructuring::destructurer::Destructurer"]],["impl<'a> Freeze for Flattener<'a>",1,["leo_passes::flattening::flattener::Flattener"]],["impl<'a> Freeze for AssignmentRenamer<'a>",1,["leo_passes::function_inlining::assignment_renamer::AssignmentRenamer"]],["impl<'a> Freeze for FunctionInliner<'a>",1,["leo_passes::function_inlining::function_inliner::FunctionInliner"]],["impl<'a> Freeze for FutureChecker<'a>",1,["leo_passes::static_analysis::future_checker::FutureChecker"]],["impl<'a> Freeze for StaticSingleAssigner<'a>",1,["leo_passes::static_single_assignment::static_single_assigner::StaticSingleAssigner"]],["impl<'a> Freeze for SymbolTableCreator<'a>",1,["leo_passes::symbol_table_creation::creator::SymbolTableCreator"]],["impl<'a, N> !Freeze for TypeChecker<'a, N>",1,["leo_passes::type_checking::checker::TypeChecker"]],["impl<'a, N> Freeze for StaticAnalyzer<'a, N>",1,["leo_passes::static_analysis::analyzer::StaticAnalyzer"]],["impl<F> Freeze for Replacer<F>
where\n F: Freeze,
",1,["leo_passes::common::replacer::Replacer"]],["impl<I> Freeze for RangeIterator<I>
where\n I: Freeze,
",1,["leo_passes::loop_unrolling::range_iterator::RangeIterator"]],["impl<N> Freeze for DiGraphError<N>",1,["leo_passes::common::graph::DiGraphError"]],["impl<N> Freeze for DiGraph<N>",1,["leo_passes::common::graph::DiGraph"]],["impl<N> Freeze for TreeNode<N>",1,["leo_passes::common::tree_node::TreeNode"]]]],["leo_retriever",[["impl Freeze for Location",1,["leo_retriever::program_context::location::Location"]],["impl Freeze for NetworkName",1,["leo_retriever::program_context::network_name::NetworkName"]],["impl Freeze for Dependency",1,["leo_retriever::program_context::dependency::Dependency"]],["impl Freeze for LockFileEntry",1,["leo_retriever::program_context::lock_file_entry::LockFileEntry"]],["impl Freeze for Manifest",1,["leo_retriever::program_context::manifest::Manifest"]],["impl Freeze for ProgramContext",1,["leo_retriever::program_context::ProgramContext"]],["impl<N> Freeze for Retriever<N>",1,["leo_retriever::retriever::Retriever"]]]],["leo_span",[["impl !Freeze for SourceMap",1,["leo_span::source_map::SourceMap"]],["impl !Freeze for Interner",1,["leo_span::symbol::Interner"]],["impl !Freeze for SessionGlobals",1,["leo_span::symbol::SessionGlobals"]],["impl Freeze for FileName",1,["leo_span::source_map::FileName"]],["impl Freeze for InternedStr",1,["leo_span::symbol::InternedStr"]],["impl Freeze for LineCol",1,["leo_span::source_map::LineCol"]],["impl Freeze for MultiByteChar",1,["leo_span::source_map::MultiByteChar"]],["impl Freeze for SourceFile",1,["leo_span::source_map::SourceFile"]],["impl Freeze for SourceMapInner",1,["leo_span::source_map::SourceMapInner"]],["impl Freeze for SpanLocation",1,["leo_span::source_map::SpanLocation"]],["impl Freeze for BytePos",1,["leo_span::span::BytePos"]],["impl Freeze for CharPos",1,["leo_span::span::CharPos"]],["impl Freeze for Span",1,["leo_span::span::Span"]],["impl Freeze for SpanMapVisitor",1,["leo_span::span_json::SpanMapVisitor"]],["impl Freeze for InnerInterner",1,["leo_span::symbol::InnerInterner"]],["impl Freeze for Symbol",1,["leo_span::symbol::Symbol"]]]],["leo_test_framework",[["impl Freeze for TestError",1,["leo_test_framework::error::TestError"]],["impl Freeze for ParseType",1,["leo_test_framework::runner::ParseType"]],["impl Freeze for TestExpectationMode",1,["leo_test_framework::test::TestExpectationMode"]],["impl Freeze for TestFailure",1,["leo_test_framework::error::TestFailure"]],["impl Freeze for TestExpectation",1,["leo_test_framework::output::TestExpectation"]],["impl Freeze for Test",1,["leo_test_framework::runner::Test"]],["impl Freeze for TestCases",1,["leo_test_framework::runner::TestCases"]],["impl Freeze for TestConfig",1,["leo_test_framework::test::TestConfig"]]]]]); + var implementors = Object.fromEntries([["leo_abnf",[["impl Freeze for Scope",1,["leo_abnf::Scope"]],["impl<'a> Freeze for Processor<'a>",1,["leo_abnf::Processor"]]]],["leo_ast",[["impl !Freeze for NodeBuilder",1,["leo_ast::common::node_builder::NodeBuilder"]],["impl !Freeze for IterationStatement",1,["leo_ast::statement::iteration::IterationStatement"]],["impl Freeze for AccessExpression",1,["leo_ast::expressions::access::AccessExpression"]],["impl Freeze for BinaryOperation",1,["leo_ast::expressions::binary::BinaryOperation"]],["impl Freeze for Expression",1,["leo_ast::expressions::Expression"]],["impl Freeze for Literal",1,["leo_ast::expressions::literal::Literal"]],["impl Freeze for UnaryOperation",1,["leo_ast::expressions::unary::UnaryOperation"]],["impl Freeze for CoreFunction",1,["leo_ast::functions::core_function::CoreFunction"]],["impl Freeze for Mode",1,["leo_ast::functions::mode::Mode"]],["impl Freeze for Variant",1,["leo_ast::functions::variant::Variant"]],["impl Freeze for GroupCoordinate",1,["leo_ast::groups::group_coordinate::GroupCoordinate"]],["impl Freeze for GroupLiteral",1,["leo_ast::groups::group_literal::GroupLiteral"]],["impl Freeze for AssertVariant",1,["leo_ast::statement::assert::AssertVariant"]],["impl Freeze for ConsoleFunction",1,["leo_ast::statement::console::console_function::ConsoleFunction"]],["impl Freeze for DeclarationType",1,["leo_ast::statement::definition::declaration_type::DeclarationType"]],["impl Freeze for Statement",1,["leo_ast::statement::Statement"]],["impl Freeze for CoreConstant",1,["leo_ast::types::core_constant::CoreConstant"]],["impl Freeze for IntegerType",1,["leo_ast::types::integer_type::IntegerType"]],["impl Freeze for Type",1,["leo_ast::types::type_::Type"]],["impl Freeze for Value",1,["leo_ast::value::Value"]],["impl Freeze for ArrayAccess",1,["leo_ast::access::array_access::ArrayAccess"]],["impl Freeze for AssociatedConstant",1,["leo_ast::access::associated_constant_access::AssociatedConstant"]],["impl Freeze for AssociatedFunction",1,["leo_ast::access::associated_function_access::AssociatedFunction"]],["impl Freeze for MemberAccess",1,["leo_ast::access::member_access::MemberAccess"]],["impl Freeze for TupleAccess",1,["leo_ast::access::tuple_access::TupleAccess"]],["impl Freeze for Identifier",1,["leo_ast::common::identifier::Identifier"]],["impl Freeze for Location",1,["leo_ast::common::location::Location"]],["impl Freeze for NodeBuilderInner",1,["leo_ast::common::node_builder::NodeBuilderInner"]],["impl Freeze for NonNegativeNumber",1,["leo_ast::common::positive_number::NonNegativeNumber"]],["impl Freeze for StaticString",1,["leo_ast::common::static_string::StaticString"]],["impl Freeze for ArrayExpression",1,["leo_ast::expressions::array::ArrayExpression"]],["impl Freeze for BinaryExpression",1,["leo_ast::expressions::binary::BinaryExpression"]],["impl Freeze for CallExpression",1,["leo_ast::expressions::call::CallExpression"]],["impl Freeze for CastExpression",1,["leo_ast::expressions::cast::CastExpression"]],["impl Freeze for ErrExpression",1,["leo_ast::expressions::err::ErrExpression"]],["impl Freeze for LocatorExpression",1,["leo_ast::expressions::locator::LocatorExpression"]],["impl Freeze for StructExpression",1,["leo_ast::expressions::struct_init::StructExpression"]],["impl Freeze for StructVariableInitializer",1,["leo_ast::expressions::struct_init::StructVariableInitializer"]],["impl Freeze for TernaryExpression",1,["leo_ast::expressions::ternary::TernaryExpression"]],["impl Freeze for TupleExpression",1,["leo_ast::expressions::tuple::TupleExpression"]],["impl Freeze for UnaryExpression",1,["leo_ast::expressions::unary::UnaryExpression"]],["impl Freeze for UnitExpression",1,["leo_ast::expressions::unit::UnitExpression"]],["impl Freeze for Annotation",1,["leo_ast::functions::annotation::Annotation"]],["impl Freeze for Input",1,["leo_ast::functions::input::Input"]],["impl Freeze for Output",1,["leo_ast::functions::output::Output"]],["impl Freeze for Function",1,["leo_ast::functions::Function"]],["impl Freeze for GroupTuple",1,["leo_ast::groups::group_literal::GroupTuple"]],["impl Freeze for Mapping",1,["leo_ast::mapping::Mapping"]],["impl Freeze for ProgramId",1,["leo_ast::program::program_id::ProgramId"]],["impl Freeze for ProgramScope",1,["leo_ast::program::program_scope::ProgramScope"]],["impl Freeze for Program",1,["leo_ast::program::Program"]],["impl Freeze for AssertStatement",1,["leo_ast::statement::assert::AssertStatement"]],["impl Freeze for AssignStatement",1,["leo_ast::statement::assign::AssignStatement"]],["impl Freeze for Block",1,["leo_ast::statement::block::Block"]],["impl Freeze for ConditionalStatement",1,["leo_ast::statement::conditional::ConditionalStatement"]],["impl Freeze for ConsoleStatement",1,["leo_ast::statement::console::console_statement::ConsoleStatement"]],["impl Freeze for ConstDeclaration",1,["leo_ast::statement::const_::ConstDeclaration"]],["impl Freeze for DefinitionStatement",1,["leo_ast::statement::definition::DefinitionStatement"]],["impl Freeze for ExpressionStatement",1,["leo_ast::statement::expression::ExpressionStatement"]],["impl Freeze for ReturnStatement",1,["leo_ast::statement::return_::ReturnStatement"]],["impl Freeze for Ast",1,["leo_ast::Ast"]],["impl Freeze for Member",1,["leo_ast::struct::member::Member"]],["impl Freeze for Composite",1,["leo_ast::struct::Composite"]],["impl Freeze for FunctionStub",1,["leo_ast::stub::function_stub::FunctionStub"]],["impl Freeze for Stub",1,["leo_ast::stub::Stub"]],["impl Freeze for ArrayType",1,["leo_ast::types::array::ArrayType"]],["impl Freeze for FutureType",1,["leo_ast::types::future::FutureType"]],["impl Freeze for MappingType",1,["leo_ast::types::mapping::MappingType"]],["impl Freeze for CompositeType",1,["leo_ast::types::struct_type::CompositeType"]],["impl Freeze for TupleType",1,["leo_ast::types::tuple::TupleType"]],["impl<'a> Freeze for DisplayDecimal<'a>",1,["leo_ast::expressions::literal::DisplayDecimal"]]]],["leo_compiler",[["impl Freeze for BuildOptions",1,["leo_compiler::options::BuildOptions"]],["impl Freeze for CompilerOptions",1,["leo_compiler::options::CompilerOptions"]],["impl Freeze for OutputOptions",1,["leo_compiler::options::OutputOptions"]],["impl<'a, N> !Freeze for Compiler<'a, N>",1,["leo_compiler::compiler::Compiler"]]]],["leo_errors",[["impl !Freeze for Handler",1,["leo_errors::emitter::Handler"]],["impl Freeze for AstError",1,["leo_errors::errors::ast::ast_errors::AstError"]],["impl Freeze for CliError",1,["leo_errors::errors::cli::cli_errors::CliError"]],["impl Freeze for CompilerError",1,["leo_errors::errors::compiler::compiler_errors::CompilerError"]],["impl Freeze for LeoError",1,["leo_errors::errors::LeoError"]],["impl Freeze for LeoWarning",1,["leo_errors::errors::LeoWarning"]],["impl Freeze for FlattenError",1,["leo_errors::errors::flattener::flattener_errors::FlattenError"]],["impl Freeze for LoopUnrollerError",1,["leo_errors::errors::loop_unroller::loop_unroller_errors::LoopUnrollerError"]],["impl Freeze for PackageError",1,["leo_errors::errors::package::package_errors::PackageError"]],["impl Freeze for ParserError",1,["leo_errors::errors::parser::parser_errors::ParserError"]],["impl Freeze for ParserWarning",1,["leo_errors::errors::parser::parser_warnings::ParserWarning"]],["impl Freeze for StaticAnalyzerError",1,["leo_errors::errors::static_analyzer::static_analyzer_error::StaticAnalyzerError"]],["impl Freeze for StaticAnalyzerWarning",1,["leo_errors::errors::static_analyzer::static_analyzer_warning::StaticAnalyzerWarning"]],["impl Freeze for TypeCheckerError",1,["leo_errors::errors::type_checker::type_checker_error::TypeCheckerError"]],["impl Freeze for TypeCheckerWarning",1,["leo_errors::errors::type_checker::type_checker_warning::TypeCheckerWarning"]],["impl Freeze for UtilError",1,["leo_errors::errors::utils::util_errors::UtilError"]],["impl Freeze for Backtraced",1,["leo_errors::common::backtraced::Backtraced"]],["impl Freeze for Formatted",1,["leo_errors::common::formatted::Formatted"]],["impl Freeze for BufferEmitter",1,["leo_errors::emitter::BufferEmitter"]],["impl Freeze for HandlerInner",1,["leo_errors::emitter::HandlerInner"]],["impl Freeze for StderrEmitter",1,["leo_errors::emitter::StderrEmitter"]],["impl Freeze for InterpreterHalt",1,["leo_errors::errors::interpreter_halt::InterpreterHalt"]],["impl<T> Freeze for Buffer<T>",1,["leo_errors::emitter::Buffer"]]]],["leo_interpreter",[["impl !Freeze for Interpreter",1,["leo_interpreter::interpreter::Interpreter"]],["impl Freeze for InterpreterAction",1,["leo_interpreter::interpreter::InterpreterAction"]],["impl Freeze for Value",1,["leo_interpreter::value::Value"]],["impl Freeze for ContextStack",1,["leo_interpreter::cursor::ContextStack"]],["impl Freeze for FunctionContext",1,["leo_interpreter::cursor::FunctionContext"]],["impl Freeze for GlobalId",1,["leo_interpreter::cursor::GlobalId"]],["impl Freeze for StepResult",1,["leo_interpreter::cursor::StepResult"]],["impl Freeze for DialoguerUi",1,["leo_interpreter::dialoguer_input::DialoguerUi"]],["impl Freeze for Breakpoint",1,["leo_interpreter::interpreter::Breakpoint"]],["impl Freeze for Watchpoint",1,["leo_interpreter::interpreter::Watchpoint"]],["impl Freeze for DebuggerLayout",1,["leo_interpreter::ratatui_ui::DebuggerLayout"]],["impl Freeze for DrawData",1,["leo_interpreter::ratatui_ui::DrawData"]],["impl Freeze for Prompt",1,["leo_interpreter::ratatui_ui::Prompt"]],["impl Freeze for RatatuiUi",1,["leo_interpreter::ratatui_ui::RatatuiUi"]],["impl Freeze for AsyncExecution",1,["leo_interpreter::value::AsyncExecution"]],["impl Freeze for Future",1,["leo_interpreter::value::Future"]],["impl Freeze for StructContents",1,["leo_interpreter::value::StructContents"]],["impl<'a> Freeze for AleoContext<'a>",1,["leo_interpreter::cursor::AleoContext"]],["impl<'a> Freeze for Element<'a>",1,["leo_interpreter::cursor::Element"]],["impl<'a> Freeze for FunctionVariant<'a>",1,["leo_interpreter::cursor::FunctionVariant"]],["impl<'a> Freeze for Cursor<'a>",1,["leo_interpreter::cursor::Cursor"]],["impl<'a> Freeze for Frame<'a>",1,["leo_interpreter::cursor::Frame"]],["impl<'a> Freeze for UserData<'a>",1,["leo_interpreter::ui::UserData"]]]],["leo_lang",[["impl Freeze for Commands",1,["leo_lang::cli::cli::Commands"]],["impl Freeze for Account",1,["leo_lang::cli::commands::account::Account"]],["impl Freeze for ExampleVariant",1,["leo_lang::cli::commands::example::ExampleVariant"]],["impl Freeze for QueryCommands",1,["leo_lang::cli::commands::query::QueryCommands"]],["impl Freeze for CLI",1,["leo_lang::cli::cli::CLI"]],["impl Freeze for LeoAdd",1,["leo_lang::cli::commands::add::LeoAdd"]],["impl Freeze for LeoBuild",1,["leo_lang::cli::commands::build::LeoBuild"]],["impl Freeze for LeoClean",1,["leo_lang::cli::commands::clean::LeoClean"]],["impl Freeze for LeoDebug",1,["leo_lang::cli::commands::debug::LeoDebug"]],["impl Freeze for Deploy",1,["leo_lang::cli::commands::deploy::Deploy"]],["impl Freeze for LeoExample",1,["leo_lang::cli::commands::example::LeoExample"]],["impl Freeze for LeoExecute",1,["leo_lang::cli::commands::execute::LeoExecute"]],["impl Freeze for LeoNew",1,["leo_lang::cli::commands::new::LeoNew"]],["impl Freeze for LeoBlock",1,["leo_lang::cli::commands::query::block::LeoBlock"]],["impl Freeze for LeoCommittee",1,["leo_lang::cli::commands::query::committee::LeoCommittee"]],["impl Freeze for LeoMempool",1,["leo_lang::cli::commands::query::mempool::LeoMempool"]],["impl Freeze for LeoPeers",1,["leo_lang::cli::commands::query::peers::LeoPeers"]],["impl Freeze for LeoProgram",1,["leo_lang::cli::commands::query::program::LeoProgram"]],["impl Freeze for StateRoot",1,["leo_lang::cli::commands::query::state_root::StateRoot"]],["impl Freeze for LeoQuery",1,["leo_lang::cli::commands::query::LeoQuery"]],["impl Freeze for LeoTransaction",1,["leo_lang::cli::commands::query::transaction::LeoTransaction"]],["impl Freeze for LeoRemove",1,["leo_lang::cli::commands::remove::LeoRemove"]],["impl Freeze for LeoRun",1,["leo_lang::cli::commands::run::LeoRun"]],["impl Freeze for BuildOptions",1,["leo_lang::cli::commands::BuildOptions"]],["impl Freeze for FeeOptions",1,["leo_lang::cli::commands::FeeOptions"]],["impl Freeze for LeoUpdate",1,["leo_lang::cli::commands::update::LeoUpdate"]],["impl Freeze for Context",1,["leo_lang::cli::helpers::context::Context"]],["impl Freeze for Updater",1,["leo_lang::cli::helpers::updater::Updater"]],["impl<F, T> Freeze for Format<F, T>
where\n F: Freeze,\n T: Freeze,
",1,["leo_lang::cli::helpers::logger::Format"]]]],["leo_package",[["impl Freeze for Snapshot",1,["leo_package::outputs::ast_snapshot::Snapshot"]],["impl Freeze for BuildDirectory",1,["leo_package::build::directory::BuildDirectory"]],["impl Freeze for ImportsDirectory",1,["leo_package::imports::directory::ImportsDirectory"]],["impl Freeze for InputsDirectory",1,["leo_package::inputs::directory::InputsDirectory"]],["impl Freeze for SnapshotFile",1,["leo_package::outputs::ast_snapshot::SnapshotFile"]],["impl Freeze for ChecksumFile",1,["leo_package::outputs::checksum::ChecksumFile"]],["impl Freeze for CircuitFile",1,["leo_package::outputs::circuit::CircuitFile"]],["impl Freeze for OutputsDirectory",1,["leo_package::outputs::directory::OutputsDirectory"]],["impl Freeze for Package",1,["leo_package::package::Package"]],["impl Freeze for Gitignore",1,["leo_package::root::gitignore::Gitignore"]],["impl Freeze for SourceDirectory",1,["leo_package::source::directory::SourceDirectory"]],["impl Freeze for MainFile",1,["leo_package::source::main::MainFile"]],["impl<N> Freeze for Env<N>
where\n <N as Environment>::Field: Freeze,\n <N as Environment>::Scalar: Freeze,
",1,["leo_package::root::env::Env"]]]],["leo_parser",[["impl Freeze for Delimiter",1,["leo_parser::tokenizer::token::Delimiter"]],["impl Freeze for Token",1,["leo_parser::tokenizer::token::Token"]],["impl Freeze for SpannedToken",1,["leo_parser::tokenizer::lexer::SpannedToken"]],["impl<'a, N> Freeze for ParserContext<'a, N>",1,["leo_parser::parser::context::ParserContext"]]]],["leo_passes",[["impl !Freeze for Assigner",1,["leo_passes::common::assigner::Assigner"]],["impl !Freeze for TypeTable",1,["leo_passes::common::type_table::TypeTable"]],["impl Freeze for VariableType",1,["leo_passes::common::symbol_table::variable_symbol::VariableType"]],["impl Freeze for Guard",1,["leo_passes::flattening::flattener::Guard"]],["impl Freeze for ReturnGuard",1,["leo_passes::flattening::flattener::ReturnGuard"]],["impl Freeze for Clusivity",1,["leo_passes::loop_unrolling::range_iterator::Clusivity"]],["impl Freeze for Position",1,["leo_passes::static_analysis::future_checker::Position"]],["impl Freeze for AssignerInner",1,["leo_passes::common::assigner::AssignerInner"]],["impl Freeze for ConstantPropagationTable",1,["leo_passes::common::constant_propagation_table::ConstantPropagationTable"]],["impl Freeze for RenameTable",1,["leo_passes::common::rename_table::RenameTable"]],["impl Freeze for FunctionSymbol",1,["leo_passes::common::symbol_table::function_symbol::FunctionSymbol"]],["impl Freeze for SymbolTable",1,["leo_passes::common::symbol_table::SymbolTable"]],["impl Freeze for VariableSymbol",1,["leo_passes::common::symbol_table::variable_symbol::VariableSymbol"]],["impl Freeze for AwaitChecker",1,["leo_passes::static_analysis::await_checker::AwaitChecker"]],["impl Freeze for ScopeState",1,["leo_passes::type_checking::scope_state::ScopeState"]],["impl<'a> !Freeze for Unroller<'a>",1,["leo_passes::loop_unrolling::unroller::Unroller"]],["impl<'a> Freeze for CodeGenerator<'a>",1,["leo_passes::code_generation::generator::CodeGenerator"]],["impl<'a> Freeze for DeadCodeEliminator<'a>",1,["leo_passes::dead_code_elimination::dead_code_eliminator::DeadCodeEliminator"]],["impl<'a> Freeze for Destructurer<'a>",1,["leo_passes::destructuring::destructurer::Destructurer"]],["impl<'a> Freeze for Flattener<'a>",1,["leo_passes::flattening::flattener::Flattener"]],["impl<'a> Freeze for AssignmentRenamer<'a>",1,["leo_passes::function_inlining::assignment_renamer::AssignmentRenamer"]],["impl<'a> Freeze for FunctionInliner<'a>",1,["leo_passes::function_inlining::function_inliner::FunctionInliner"]],["impl<'a> Freeze for FutureChecker<'a>",1,["leo_passes::static_analysis::future_checker::FutureChecker"]],["impl<'a> Freeze for StaticSingleAssigner<'a>",1,["leo_passes::static_single_assignment::static_single_assigner::StaticSingleAssigner"]],["impl<'a> Freeze for SymbolTableCreator<'a>",1,["leo_passes::symbol_table_creation::creator::SymbolTableCreator"]],["impl<'a, N> !Freeze for TypeChecker<'a, N>",1,["leo_passes::type_checking::checker::TypeChecker"]],["impl<'a, N> Freeze for StaticAnalyzer<'a, N>",1,["leo_passes::static_analysis::analyzer::StaticAnalyzer"]],["impl<F> Freeze for Replacer<F>
where\n F: Freeze,
",1,["leo_passes::common::replacer::Replacer"]],["impl<I> Freeze for RangeIterator<I>
where\n I: Freeze,
",1,["leo_passes::loop_unrolling::range_iterator::RangeIterator"]],["impl<N> Freeze for DiGraphError<N>",1,["leo_passes::common::graph::DiGraphError"]],["impl<N> Freeze for DiGraph<N>",1,["leo_passes::common::graph::DiGraph"]],["impl<N> Freeze for TreeNode<N>",1,["leo_passes::common::tree_node::TreeNode"]]]],["leo_retriever",[["impl Freeze for Location",1,["leo_retriever::program_context::location::Location"]],["impl Freeze for NetworkName",1,["leo_retriever::program_context::network_name::NetworkName"]],["impl Freeze for Dependency",1,["leo_retriever::program_context::dependency::Dependency"]],["impl Freeze for LockFileEntry",1,["leo_retriever::program_context::lock_file_entry::LockFileEntry"]],["impl Freeze for Manifest",1,["leo_retriever::program_context::manifest::Manifest"]],["impl Freeze for ProgramContext",1,["leo_retriever::program_context::ProgramContext"]],["impl<N> Freeze for Retriever<N>",1,["leo_retriever::retriever::Retriever"]]]],["leo_span",[["impl !Freeze for SourceMap",1,["leo_span::source_map::SourceMap"]],["impl !Freeze for Interner",1,["leo_span::symbol::Interner"]],["impl !Freeze for SessionGlobals",1,["leo_span::symbol::SessionGlobals"]],["impl Freeze for FileName",1,["leo_span::source_map::FileName"]],["impl Freeze for InternedStr",1,["leo_span::symbol::InternedStr"]],["impl Freeze for LineCol",1,["leo_span::source_map::LineCol"]],["impl Freeze for MultiByteChar",1,["leo_span::source_map::MultiByteChar"]],["impl Freeze for SourceFile",1,["leo_span::source_map::SourceFile"]],["impl Freeze for SourceMapInner",1,["leo_span::source_map::SourceMapInner"]],["impl Freeze for SpanLocation",1,["leo_span::source_map::SpanLocation"]],["impl Freeze for BytePos",1,["leo_span::span::BytePos"]],["impl Freeze for CharPos",1,["leo_span::span::CharPos"]],["impl Freeze for Span",1,["leo_span::span::Span"]],["impl Freeze for SpanMapVisitor",1,["leo_span::span_json::SpanMapVisitor"]],["impl Freeze for InnerInterner",1,["leo_span::symbol::InnerInterner"]],["impl Freeze for Symbol",1,["leo_span::symbol::Symbol"]]]],["leo_test_framework",[["impl Freeze for TestError",1,["leo_test_framework::error::TestError"]],["impl Freeze for ParseType",1,["leo_test_framework::runner::ParseType"]],["impl Freeze for TestExpectationMode",1,["leo_test_framework::test::TestExpectationMode"]],["impl Freeze for TestFailure",1,["leo_test_framework::error::TestFailure"]],["impl Freeze for TestExpectation",1,["leo_test_framework::output::TestExpectation"]],["impl Freeze for Test",1,["leo_test_framework::runner::Test"]],["impl Freeze for TestCases",1,["leo_test_framework::runner::TestCases"]],["impl Freeze for TestConfig",1,["leo_test_framework::test::TestConfig"]]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[590,25309,1405,8382,10275,5074,1428,13204,2710,5125,2781]} \ No newline at end of file +//{"start":57,"fragment_lengths":[590,25309,1405,8777,7983,10623,5074,1428,13204,2710,5125,2781]} \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Send.js b/trait.impl/core/marker/trait.Send.js index a48a1b9d0d..0f1b4b98a4 100644 --- a/trait.impl/core/marker/trait.Send.js +++ b/trait.impl/core/marker/trait.Send.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["leo_abnf",[["impl Send for Scope",1,["leo_abnf::Scope"]],["impl<'a> Send for Processor<'a>",1,["leo_abnf::Processor"]]]],["leo_ast",[["impl Send for AccessExpression",1,["leo_ast::expressions::access::AccessExpression"]],["impl Send for BinaryOperation",1,["leo_ast::expressions::binary::BinaryOperation"]],["impl Send for Expression",1,["leo_ast::expressions::Expression"]],["impl Send for Literal",1,["leo_ast::expressions::literal::Literal"]],["impl Send for UnaryOperation",1,["leo_ast::expressions::unary::UnaryOperation"]],["impl Send for CoreFunction",1,["leo_ast::functions::core_function::CoreFunction"]],["impl Send for Mode",1,["leo_ast::functions::mode::Mode"]],["impl Send for Variant",1,["leo_ast::functions::variant::Variant"]],["impl Send for GroupCoordinate",1,["leo_ast::groups::group_coordinate::GroupCoordinate"]],["impl Send for GroupLiteral",1,["leo_ast::groups::group_literal::GroupLiteral"]],["impl Send for AssertVariant",1,["leo_ast::statement::assert::AssertVariant"]],["impl Send for ConsoleFunction",1,["leo_ast::statement::console::console_function::ConsoleFunction"]],["impl Send for DeclarationType",1,["leo_ast::statement::definition::declaration_type::DeclarationType"]],["impl Send for Statement",1,["leo_ast::statement::Statement"]],["impl Send for CoreConstant",1,["leo_ast::types::core_constant::CoreConstant"]],["impl Send for IntegerType",1,["leo_ast::types::integer_type::IntegerType"]],["impl Send for Type",1,["leo_ast::types::type_::Type"]],["impl Send for Value",1,["leo_ast::value::Value"]],["impl Send for ArrayAccess",1,["leo_ast::access::array_access::ArrayAccess"]],["impl Send for AssociatedConstant",1,["leo_ast::access::associated_constant_access::AssociatedConstant"]],["impl Send for AssociatedFunction",1,["leo_ast::access::associated_function_access::AssociatedFunction"]],["impl Send for MemberAccess",1,["leo_ast::access::member_access::MemberAccess"]],["impl Send for TupleAccess",1,["leo_ast::access::tuple_access::TupleAccess"]],["impl Send for Identifier",1,["leo_ast::common::identifier::Identifier"]],["impl Send for Location",1,["leo_ast::common::location::Location"]],["impl Send for NodeBuilder",1,["leo_ast::common::node_builder::NodeBuilder"]],["impl Send for NodeBuilderInner",1,["leo_ast::common::node_builder::NodeBuilderInner"]],["impl Send for NonNegativeNumber",1,["leo_ast::common::positive_number::NonNegativeNumber"]],["impl Send for StaticString",1,["leo_ast::common::static_string::StaticString"]],["impl Send for ArrayExpression",1,["leo_ast::expressions::array::ArrayExpression"]],["impl Send for BinaryExpression",1,["leo_ast::expressions::binary::BinaryExpression"]],["impl Send for CallExpression",1,["leo_ast::expressions::call::CallExpression"]],["impl Send for CastExpression",1,["leo_ast::expressions::cast::CastExpression"]],["impl Send for ErrExpression",1,["leo_ast::expressions::err::ErrExpression"]],["impl Send for LocatorExpression",1,["leo_ast::expressions::locator::LocatorExpression"]],["impl Send for StructExpression",1,["leo_ast::expressions::struct_init::StructExpression"]],["impl Send for StructVariableInitializer",1,["leo_ast::expressions::struct_init::StructVariableInitializer"]],["impl Send for TernaryExpression",1,["leo_ast::expressions::ternary::TernaryExpression"]],["impl Send for TupleExpression",1,["leo_ast::expressions::tuple::TupleExpression"]],["impl Send for UnaryExpression",1,["leo_ast::expressions::unary::UnaryExpression"]],["impl Send for UnitExpression",1,["leo_ast::expressions::unit::UnitExpression"]],["impl Send for Annotation",1,["leo_ast::functions::annotation::Annotation"]],["impl Send for Input",1,["leo_ast::functions::input::Input"]],["impl Send for Output",1,["leo_ast::functions::output::Output"]],["impl Send for Function",1,["leo_ast::functions::Function"]],["impl Send for GroupTuple",1,["leo_ast::groups::group_literal::GroupTuple"]],["impl Send for Mapping",1,["leo_ast::mapping::Mapping"]],["impl Send for ProgramId",1,["leo_ast::program::program_id::ProgramId"]],["impl Send for ProgramScope",1,["leo_ast::program::program_scope::ProgramScope"]],["impl Send for Program",1,["leo_ast::program::Program"]],["impl Send for AssertStatement",1,["leo_ast::statement::assert::AssertStatement"]],["impl Send for AssignStatement",1,["leo_ast::statement::assign::AssignStatement"]],["impl Send for Block",1,["leo_ast::statement::block::Block"]],["impl Send for ConditionalStatement",1,["leo_ast::statement::conditional::ConditionalStatement"]],["impl Send for ConsoleStatement",1,["leo_ast::statement::console::console_statement::ConsoleStatement"]],["impl Send for ConstDeclaration",1,["leo_ast::statement::const_::ConstDeclaration"]],["impl Send for DefinitionStatement",1,["leo_ast::statement::definition::DefinitionStatement"]],["impl Send for ExpressionStatement",1,["leo_ast::statement::expression::ExpressionStatement"]],["impl Send for IterationStatement",1,["leo_ast::statement::iteration::IterationStatement"]],["impl Send for ReturnStatement",1,["leo_ast::statement::return_::ReturnStatement"]],["impl Send for Ast",1,["leo_ast::Ast"]],["impl Send for Member",1,["leo_ast::struct::member::Member"]],["impl Send for Composite",1,["leo_ast::struct::Composite"]],["impl Send for FunctionStub",1,["leo_ast::stub::function_stub::FunctionStub"]],["impl Send for Stub",1,["leo_ast::stub::Stub"]],["impl Send for ArrayType",1,["leo_ast::types::array::ArrayType"]],["impl Send for FutureType",1,["leo_ast::types::future::FutureType"]],["impl Send for MappingType",1,["leo_ast::types::mapping::MappingType"]],["impl Send for CompositeType",1,["leo_ast::types::struct_type::CompositeType"]],["impl Send for TupleType",1,["leo_ast::types::tuple::TupleType"]],["impl<'a> Send for DisplayDecimal<'a>",1,["leo_ast::expressions::literal::DisplayDecimal"]]]],["leo_compiler",[["impl Send for BuildOptions",1,["leo_compiler::options::BuildOptions"]],["impl Send for CompilerOptions",1,["leo_compiler::options::CompilerOptions"]],["impl Send for OutputOptions",1,["leo_compiler::options::OutputOptions"]],["impl<'a, N> !Send for Compiler<'a, N>",1,["leo_compiler::compiler::Compiler"]]]],["leo_errors",[["impl !Send for BufferEmitter",1,["leo_errors::emitter::BufferEmitter"]],["impl !Send for Handler",1,["leo_errors::emitter::Handler"]],["impl !Send for HandlerInner",1,["leo_errors::emitter::HandlerInner"]],["impl Send for AstError",1,["leo_errors::errors::ast::ast_errors::AstError"]],["impl Send for CliError",1,["leo_errors::errors::cli::cli_errors::CliError"]],["impl Send for CompilerError",1,["leo_errors::errors::compiler::compiler_errors::CompilerError"]],["impl Send for LeoError",1,["leo_errors::errors::LeoError"]],["impl Send for LeoWarning",1,["leo_errors::errors::LeoWarning"]],["impl Send for FlattenError",1,["leo_errors::errors::flattener::flattener_errors::FlattenError"]],["impl Send for LoopUnrollerError",1,["leo_errors::errors::loop_unroller::loop_unroller_errors::LoopUnrollerError"]],["impl Send for PackageError",1,["leo_errors::errors::package::package_errors::PackageError"]],["impl Send for ParserError",1,["leo_errors::errors::parser::parser_errors::ParserError"]],["impl Send for ParserWarning",1,["leo_errors::errors::parser::parser_warnings::ParserWarning"]],["impl Send for StaticAnalyzerError",1,["leo_errors::errors::static_analyzer::static_analyzer_error::StaticAnalyzerError"]],["impl Send for StaticAnalyzerWarning",1,["leo_errors::errors::static_analyzer::static_analyzer_warning::StaticAnalyzerWarning"]],["impl Send for TypeCheckerError",1,["leo_errors::errors::type_checker::type_checker_error::TypeCheckerError"]],["impl Send for TypeCheckerWarning",1,["leo_errors::errors::type_checker::type_checker_warning::TypeCheckerWarning"]],["impl Send for UtilError",1,["leo_errors::errors::utils::util_errors::UtilError"]],["impl Send for Backtraced",1,["leo_errors::common::backtraced::Backtraced"]],["impl Send for Formatted",1,["leo_errors::common::formatted::Formatted"]],["impl Send for StderrEmitter",1,["leo_errors::emitter::StderrEmitter"]],["impl<T> Send for Buffer<T>
where\n T: Send,
",1,["leo_errors::emitter::Buffer"]]]],["leo_lang",[["impl Send for Commands",1,["leo_lang::cli::cli::Commands"]],["impl Send for Account",1,["leo_lang::cli::commands::account::Account"]],["impl Send for ExampleVariant",1,["leo_lang::cli::commands::example::ExampleVariant"]],["impl Send for QueryCommands",1,["leo_lang::cli::commands::query::QueryCommands"]],["impl Send for CLI",1,["leo_lang::cli::cli::CLI"]],["impl Send for LeoAdd",1,["leo_lang::cli::commands::add::LeoAdd"]],["impl Send for LeoBuild",1,["leo_lang::cli::commands::build::LeoBuild"]],["impl Send for LeoClean",1,["leo_lang::cli::commands::clean::LeoClean"]],["impl Send for Deploy",1,["leo_lang::cli::commands::deploy::Deploy"]],["impl Send for LeoExample",1,["leo_lang::cli::commands::example::LeoExample"]],["impl Send for LeoExecute",1,["leo_lang::cli::commands::execute::LeoExecute"]],["impl Send for LeoNew",1,["leo_lang::cli::commands::new::LeoNew"]],["impl Send for LeoBlock",1,["leo_lang::cli::commands::query::block::LeoBlock"]],["impl Send for LeoCommittee",1,["leo_lang::cli::commands::query::committee::LeoCommittee"]],["impl Send for LeoMempool",1,["leo_lang::cli::commands::query::mempool::LeoMempool"]],["impl Send for LeoPeers",1,["leo_lang::cli::commands::query::peers::LeoPeers"]],["impl Send for LeoProgram",1,["leo_lang::cli::commands::query::program::LeoProgram"]],["impl Send for StateRoot",1,["leo_lang::cli::commands::query::state_root::StateRoot"]],["impl Send for LeoQuery",1,["leo_lang::cli::commands::query::LeoQuery"]],["impl Send for LeoTransaction",1,["leo_lang::cli::commands::query::transaction::LeoTransaction"]],["impl Send for LeoRemove",1,["leo_lang::cli::commands::remove::LeoRemove"]],["impl Send for LeoRun",1,["leo_lang::cli::commands::run::LeoRun"]],["impl Send for BuildOptions",1,["leo_lang::cli::commands::BuildOptions"]],["impl Send for FeeOptions",1,["leo_lang::cli::commands::FeeOptions"]],["impl Send for LeoUpdate",1,["leo_lang::cli::commands::update::LeoUpdate"]],["impl Send for Context",1,["leo_lang::cli::helpers::context::Context"]],["impl Send for Updater",1,["leo_lang::cli::helpers::updater::Updater"]],["impl<F, T> Send for Format<F, T>
where\n F: Send,\n T: Send,
",1,["leo_lang::cli::helpers::logger::Format"]]]],["leo_package",[["impl Send for Snapshot",1,["leo_package::outputs::ast_snapshot::Snapshot"]],["impl Send for BuildDirectory",1,["leo_package::build::directory::BuildDirectory"]],["impl Send for ImportsDirectory",1,["leo_package::imports::directory::ImportsDirectory"]],["impl Send for InputsDirectory",1,["leo_package::inputs::directory::InputsDirectory"]],["impl Send for SnapshotFile",1,["leo_package::outputs::ast_snapshot::SnapshotFile"]],["impl Send for ChecksumFile",1,["leo_package::outputs::checksum::ChecksumFile"]],["impl Send for CircuitFile",1,["leo_package::outputs::circuit::CircuitFile"]],["impl Send for OutputsDirectory",1,["leo_package::outputs::directory::OutputsDirectory"]],["impl Send for Package",1,["leo_package::package::Package"]],["impl Send for Gitignore",1,["leo_package::root::gitignore::Gitignore"]],["impl Send for SourceDirectory",1,["leo_package::source::directory::SourceDirectory"]],["impl Send for MainFile",1,["leo_package::source::main::MainFile"]],["impl<N> Send for Env<N>",1,["leo_package::root::env::Env"]]]],["leo_parser",[["impl Send for Delimiter",1,["leo_parser::tokenizer::token::Delimiter"]],["impl Send for Token",1,["leo_parser::tokenizer::token::Token"]],["impl Send for SpannedToken",1,["leo_parser::tokenizer::lexer::SpannedToken"]],["impl<'a, N> !Send for ParserContext<'a, N>",1,["leo_parser::parser::context::ParserContext"]]]],["leo_passes",[["impl Send for VariableType",1,["leo_passes::common::symbol_table::variable_symbol::VariableType"]],["impl Send for Guard",1,["leo_passes::flattening::flattener::Guard"]],["impl Send for ReturnGuard",1,["leo_passes::flattening::flattener::ReturnGuard"]],["impl Send for Clusivity",1,["leo_passes::loop_unrolling::range_iterator::Clusivity"]],["impl Send for Position",1,["leo_passes::static_analysis::future_checker::Position"]],["impl Send for Assigner",1,["leo_passes::common::assigner::Assigner"]],["impl Send for AssignerInner",1,["leo_passes::common::assigner::AssignerInner"]],["impl Send for ConstantPropagationTable",1,["leo_passes::common::constant_propagation_table::ConstantPropagationTable"]],["impl Send for RenameTable",1,["leo_passes::common::rename_table::RenameTable"]],["impl Send for FunctionSymbol",1,["leo_passes::common::symbol_table::function_symbol::FunctionSymbol"]],["impl Send for SymbolTable",1,["leo_passes::common::symbol_table::SymbolTable"]],["impl Send for VariableSymbol",1,["leo_passes::common::symbol_table::variable_symbol::VariableSymbol"]],["impl Send for TypeTable",1,["leo_passes::common::type_table::TypeTable"]],["impl Send for AwaitChecker",1,["leo_passes::static_analysis::await_checker::AwaitChecker"]],["impl Send for ScopeState",1,["leo_passes::type_checking::scope_state::ScopeState"]],["impl<'a> !Send for CodeGenerator<'a>",1,["leo_passes::code_generation::generator::CodeGenerator"]],["impl<'a> !Send for DeadCodeEliminator<'a>",1,["leo_passes::dead_code_elimination::dead_code_eliminator::DeadCodeEliminator"]],["impl<'a> !Send for Destructurer<'a>",1,["leo_passes::destructuring::destructurer::Destructurer"]],["impl<'a> !Send for Flattener<'a>",1,["leo_passes::flattening::flattener::Flattener"]],["impl<'a> !Send for AssignmentRenamer<'a>",1,["leo_passes::function_inlining::assignment_renamer::AssignmentRenamer"]],["impl<'a> !Send for FunctionInliner<'a>",1,["leo_passes::function_inlining::function_inliner::FunctionInliner"]],["impl<'a> !Send for Unroller<'a>",1,["leo_passes::loop_unrolling::unroller::Unroller"]],["impl<'a> !Send for FutureChecker<'a>",1,["leo_passes::static_analysis::future_checker::FutureChecker"]],["impl<'a> !Send for StaticSingleAssigner<'a>",1,["leo_passes::static_single_assignment::static_single_assigner::StaticSingleAssigner"]],["impl<'a> !Send for SymbolTableCreator<'a>",1,["leo_passes::symbol_table_creation::creator::SymbolTableCreator"]],["impl<'a, N> !Send for StaticAnalyzer<'a, N>",1,["leo_passes::static_analysis::analyzer::StaticAnalyzer"]],["impl<'a, N> !Send for TypeChecker<'a, N>",1,["leo_passes::type_checking::checker::TypeChecker"]],["impl<F> Send for Replacer<F>
where\n F: Send,
",1,["leo_passes::common::replacer::Replacer"]],["impl<I> Send for RangeIterator<I>
where\n I: Send,
",1,["leo_passes::loop_unrolling::range_iterator::RangeIterator"]],["impl<N> Send for DiGraphError<N>
where\n N: Send,
",1,["leo_passes::common::graph::DiGraphError"]],["impl<N> Send for DiGraph<N>
where\n N: Send,
",1,["leo_passes::common::graph::DiGraph"]],["impl<N> Send for TreeNode<N>
where\n N: Send,
",1,["leo_passes::common::tree_node::TreeNode"]]]],["leo_retriever",[["impl Send for Location",1,["leo_retriever::program_context::location::Location"]],["impl Send for NetworkName",1,["leo_retriever::program_context::network_name::NetworkName"]],["impl Send for Dependency",1,["leo_retriever::program_context::dependency::Dependency"]],["impl Send for LockFileEntry",1,["leo_retriever::program_context::lock_file_entry::LockFileEntry"]],["impl Send for Manifest",1,["leo_retriever::program_context::manifest::Manifest"]],["impl Send for ProgramContext",1,["leo_retriever::program_context::ProgramContext"]],["impl<N> Send for Retriever<N>",1,["leo_retriever::retriever::Retriever"]]]],["leo_span",[["impl !Send for LineCol",1,["leo_span::source_map::LineCol"]],["impl !Send for SourceMap",1,["leo_span::source_map::SourceMap"]],["impl !Send for SourceMapInner",1,["leo_span::source_map::SourceMapInner"]],["impl !Send for SpanLocation",1,["leo_span::source_map::SpanLocation"]],["impl !Send for SessionGlobals",1,["leo_span::symbol::SessionGlobals"]],["impl Send for FileName",1,["leo_span::source_map::FileName"]],["impl Send for InternedStr",1,["leo_span::symbol::InternedStr"]],["impl Send for MultiByteChar",1,["leo_span::source_map::MultiByteChar"]],["impl Send for SourceFile",1,["leo_span::source_map::SourceFile"]],["impl Send for BytePos",1,["leo_span::span::BytePos"]],["impl Send for CharPos",1,["leo_span::span::CharPos"]],["impl Send for Span",1,["leo_span::span::Span"]],["impl Send for SpanMapVisitor",1,["leo_span::span_json::SpanMapVisitor"]],["impl Send for InnerInterner",1,["leo_span::symbol::InnerInterner"]],["impl Send for Interner",1,["leo_span::symbol::Interner"]],["impl Send for Symbol",1,["leo_span::symbol::Symbol"]]]],["leo_test_framework",[["impl Send for TestError",1,["leo_test_framework::error::TestError"]],["impl Send for ParseType",1,["leo_test_framework::runner::ParseType"]],["impl Send for TestExpectationMode",1,["leo_test_framework::test::TestExpectationMode"]],["impl Send for TestFailure",1,["leo_test_framework::error::TestFailure"]],["impl Send for TestExpectation",1,["leo_test_framework::output::TestExpectation"]],["impl Send for Test",1,["leo_test_framework::runner::Test"]],["impl Send for TestCases",1,["leo_test_framework::runner::TestCases"]],["impl Send for TestConfig",1,["leo_test_framework::test::TestConfig"]]]]]); + var implementors = Object.fromEntries([["leo_abnf",[["impl Send for Scope",1,["leo_abnf::Scope"]],["impl<'a> Send for Processor<'a>",1,["leo_abnf::Processor"]]]],["leo_ast",[["impl Send for AccessExpression",1,["leo_ast::expressions::access::AccessExpression"]],["impl Send for BinaryOperation",1,["leo_ast::expressions::binary::BinaryOperation"]],["impl Send for Expression",1,["leo_ast::expressions::Expression"]],["impl Send for Literal",1,["leo_ast::expressions::literal::Literal"]],["impl Send for UnaryOperation",1,["leo_ast::expressions::unary::UnaryOperation"]],["impl Send for CoreFunction",1,["leo_ast::functions::core_function::CoreFunction"]],["impl Send for Mode",1,["leo_ast::functions::mode::Mode"]],["impl Send for Variant",1,["leo_ast::functions::variant::Variant"]],["impl Send for GroupCoordinate",1,["leo_ast::groups::group_coordinate::GroupCoordinate"]],["impl Send for GroupLiteral",1,["leo_ast::groups::group_literal::GroupLiteral"]],["impl Send for AssertVariant",1,["leo_ast::statement::assert::AssertVariant"]],["impl Send for ConsoleFunction",1,["leo_ast::statement::console::console_function::ConsoleFunction"]],["impl Send for DeclarationType",1,["leo_ast::statement::definition::declaration_type::DeclarationType"]],["impl Send for Statement",1,["leo_ast::statement::Statement"]],["impl Send for CoreConstant",1,["leo_ast::types::core_constant::CoreConstant"]],["impl Send for IntegerType",1,["leo_ast::types::integer_type::IntegerType"]],["impl Send for Type",1,["leo_ast::types::type_::Type"]],["impl Send for Value",1,["leo_ast::value::Value"]],["impl Send for ArrayAccess",1,["leo_ast::access::array_access::ArrayAccess"]],["impl Send for AssociatedConstant",1,["leo_ast::access::associated_constant_access::AssociatedConstant"]],["impl Send for AssociatedFunction",1,["leo_ast::access::associated_function_access::AssociatedFunction"]],["impl Send for MemberAccess",1,["leo_ast::access::member_access::MemberAccess"]],["impl Send for TupleAccess",1,["leo_ast::access::tuple_access::TupleAccess"]],["impl Send for Identifier",1,["leo_ast::common::identifier::Identifier"]],["impl Send for Location",1,["leo_ast::common::location::Location"]],["impl Send for NodeBuilder",1,["leo_ast::common::node_builder::NodeBuilder"]],["impl Send for NodeBuilderInner",1,["leo_ast::common::node_builder::NodeBuilderInner"]],["impl Send for NonNegativeNumber",1,["leo_ast::common::positive_number::NonNegativeNumber"]],["impl Send for StaticString",1,["leo_ast::common::static_string::StaticString"]],["impl Send for ArrayExpression",1,["leo_ast::expressions::array::ArrayExpression"]],["impl Send for BinaryExpression",1,["leo_ast::expressions::binary::BinaryExpression"]],["impl Send for CallExpression",1,["leo_ast::expressions::call::CallExpression"]],["impl Send for CastExpression",1,["leo_ast::expressions::cast::CastExpression"]],["impl Send for ErrExpression",1,["leo_ast::expressions::err::ErrExpression"]],["impl Send for LocatorExpression",1,["leo_ast::expressions::locator::LocatorExpression"]],["impl Send for StructExpression",1,["leo_ast::expressions::struct_init::StructExpression"]],["impl Send for StructVariableInitializer",1,["leo_ast::expressions::struct_init::StructVariableInitializer"]],["impl Send for TernaryExpression",1,["leo_ast::expressions::ternary::TernaryExpression"]],["impl Send for TupleExpression",1,["leo_ast::expressions::tuple::TupleExpression"]],["impl Send for UnaryExpression",1,["leo_ast::expressions::unary::UnaryExpression"]],["impl Send for UnitExpression",1,["leo_ast::expressions::unit::UnitExpression"]],["impl Send for Annotation",1,["leo_ast::functions::annotation::Annotation"]],["impl Send for Input",1,["leo_ast::functions::input::Input"]],["impl Send for Output",1,["leo_ast::functions::output::Output"]],["impl Send for Function",1,["leo_ast::functions::Function"]],["impl Send for GroupTuple",1,["leo_ast::groups::group_literal::GroupTuple"]],["impl Send for Mapping",1,["leo_ast::mapping::Mapping"]],["impl Send for ProgramId",1,["leo_ast::program::program_id::ProgramId"]],["impl Send for ProgramScope",1,["leo_ast::program::program_scope::ProgramScope"]],["impl Send for Program",1,["leo_ast::program::Program"]],["impl Send for AssertStatement",1,["leo_ast::statement::assert::AssertStatement"]],["impl Send for AssignStatement",1,["leo_ast::statement::assign::AssignStatement"]],["impl Send for Block",1,["leo_ast::statement::block::Block"]],["impl Send for ConditionalStatement",1,["leo_ast::statement::conditional::ConditionalStatement"]],["impl Send for ConsoleStatement",1,["leo_ast::statement::console::console_statement::ConsoleStatement"]],["impl Send for ConstDeclaration",1,["leo_ast::statement::const_::ConstDeclaration"]],["impl Send for DefinitionStatement",1,["leo_ast::statement::definition::DefinitionStatement"]],["impl Send for ExpressionStatement",1,["leo_ast::statement::expression::ExpressionStatement"]],["impl Send for IterationStatement",1,["leo_ast::statement::iteration::IterationStatement"]],["impl Send for ReturnStatement",1,["leo_ast::statement::return_::ReturnStatement"]],["impl Send for Ast",1,["leo_ast::Ast"]],["impl Send for Member",1,["leo_ast::struct::member::Member"]],["impl Send for Composite",1,["leo_ast::struct::Composite"]],["impl Send for FunctionStub",1,["leo_ast::stub::function_stub::FunctionStub"]],["impl Send for Stub",1,["leo_ast::stub::Stub"]],["impl Send for ArrayType",1,["leo_ast::types::array::ArrayType"]],["impl Send for FutureType",1,["leo_ast::types::future::FutureType"]],["impl Send for MappingType",1,["leo_ast::types::mapping::MappingType"]],["impl Send for CompositeType",1,["leo_ast::types::struct_type::CompositeType"]],["impl Send for TupleType",1,["leo_ast::types::tuple::TupleType"]],["impl<'a> Send for DisplayDecimal<'a>",1,["leo_ast::expressions::literal::DisplayDecimal"]]]],["leo_compiler",[["impl Send for BuildOptions",1,["leo_compiler::options::BuildOptions"]],["impl Send for CompilerOptions",1,["leo_compiler::options::CompilerOptions"]],["impl Send for OutputOptions",1,["leo_compiler::options::OutputOptions"]],["impl<'a, N> !Send for Compiler<'a, N>",1,["leo_compiler::compiler::Compiler"]]]],["leo_errors",[["impl !Send for BufferEmitter",1,["leo_errors::emitter::BufferEmitter"]],["impl !Send for Handler",1,["leo_errors::emitter::Handler"]],["impl !Send for HandlerInner",1,["leo_errors::emitter::HandlerInner"]],["impl Send for AstError",1,["leo_errors::errors::ast::ast_errors::AstError"]],["impl Send for CliError",1,["leo_errors::errors::cli::cli_errors::CliError"]],["impl Send for CompilerError",1,["leo_errors::errors::compiler::compiler_errors::CompilerError"]],["impl Send for LeoError",1,["leo_errors::errors::LeoError"]],["impl Send for LeoWarning",1,["leo_errors::errors::LeoWarning"]],["impl Send for FlattenError",1,["leo_errors::errors::flattener::flattener_errors::FlattenError"]],["impl Send for LoopUnrollerError",1,["leo_errors::errors::loop_unroller::loop_unroller_errors::LoopUnrollerError"]],["impl Send for PackageError",1,["leo_errors::errors::package::package_errors::PackageError"]],["impl Send for ParserError",1,["leo_errors::errors::parser::parser_errors::ParserError"]],["impl Send for ParserWarning",1,["leo_errors::errors::parser::parser_warnings::ParserWarning"]],["impl Send for StaticAnalyzerError",1,["leo_errors::errors::static_analyzer::static_analyzer_error::StaticAnalyzerError"]],["impl Send for StaticAnalyzerWarning",1,["leo_errors::errors::static_analyzer::static_analyzer_warning::StaticAnalyzerWarning"]],["impl Send for TypeCheckerError",1,["leo_errors::errors::type_checker::type_checker_error::TypeCheckerError"]],["impl Send for TypeCheckerWarning",1,["leo_errors::errors::type_checker::type_checker_warning::TypeCheckerWarning"]],["impl Send for UtilError",1,["leo_errors::errors::utils::util_errors::UtilError"]],["impl Send for Backtraced",1,["leo_errors::common::backtraced::Backtraced"]],["impl Send for Formatted",1,["leo_errors::common::formatted::Formatted"]],["impl Send for StderrEmitter",1,["leo_errors::emitter::StderrEmitter"]],["impl Send for InterpreterHalt",1,["leo_errors::errors::interpreter_halt::InterpreterHalt"]],["impl<T> Send for Buffer<T>
where\n T: Send,
",1,["leo_errors::emitter::Buffer"]]]],["leo_interpreter",[["impl !Send for Interpreter",1,["leo_interpreter::interpreter::Interpreter"]],["impl Send for InterpreterAction",1,["leo_interpreter::interpreter::InterpreterAction"]],["impl Send for Value",1,["leo_interpreter::value::Value"]],["impl Send for ContextStack",1,["leo_interpreter::cursor::ContextStack"]],["impl Send for FunctionContext",1,["leo_interpreter::cursor::FunctionContext"]],["impl Send for GlobalId",1,["leo_interpreter::cursor::GlobalId"]],["impl Send for StepResult",1,["leo_interpreter::cursor::StepResult"]],["impl Send for DialoguerUi",1,["leo_interpreter::dialoguer_input::DialoguerUi"]],["impl Send for Breakpoint",1,["leo_interpreter::interpreter::Breakpoint"]],["impl Send for Watchpoint",1,["leo_interpreter::interpreter::Watchpoint"]],["impl Send for DebuggerLayout",1,["leo_interpreter::ratatui_ui::DebuggerLayout"]],["impl Send for DrawData",1,["leo_interpreter::ratatui_ui::DrawData"]],["impl Send for Prompt",1,["leo_interpreter::ratatui_ui::Prompt"]],["impl Send for RatatuiUi",1,["leo_interpreter::ratatui_ui::RatatuiUi"]],["impl Send for AsyncExecution",1,["leo_interpreter::value::AsyncExecution"]],["impl Send for Future",1,["leo_interpreter::value::Future"]],["impl Send for StructContents",1,["leo_interpreter::value::StructContents"]],["impl<'a> !Send for Element<'a>",1,["leo_interpreter::cursor::Element"]],["impl<'a> !Send for FunctionVariant<'a>",1,["leo_interpreter::cursor::FunctionVariant"]],["impl<'a> !Send for Cursor<'a>",1,["leo_interpreter::cursor::Cursor"]],["impl<'a> !Send for Frame<'a>",1,["leo_interpreter::cursor::Frame"]],["impl<'a> Send for AleoContext<'a>",1,["leo_interpreter::cursor::AleoContext"]],["impl<'a> Send for UserData<'a>",1,["leo_interpreter::ui::UserData"]]]],["leo_lang",[["impl Send for Commands",1,["leo_lang::cli::cli::Commands"]],["impl Send for Account",1,["leo_lang::cli::commands::account::Account"]],["impl Send for ExampleVariant",1,["leo_lang::cli::commands::example::ExampleVariant"]],["impl Send for QueryCommands",1,["leo_lang::cli::commands::query::QueryCommands"]],["impl Send for CLI",1,["leo_lang::cli::cli::CLI"]],["impl Send for LeoAdd",1,["leo_lang::cli::commands::add::LeoAdd"]],["impl Send for LeoBuild",1,["leo_lang::cli::commands::build::LeoBuild"]],["impl Send for LeoClean",1,["leo_lang::cli::commands::clean::LeoClean"]],["impl Send for LeoDebug",1,["leo_lang::cli::commands::debug::LeoDebug"]],["impl Send for Deploy",1,["leo_lang::cli::commands::deploy::Deploy"]],["impl Send for LeoExample",1,["leo_lang::cli::commands::example::LeoExample"]],["impl Send for LeoExecute",1,["leo_lang::cli::commands::execute::LeoExecute"]],["impl Send for LeoNew",1,["leo_lang::cli::commands::new::LeoNew"]],["impl Send for LeoBlock",1,["leo_lang::cli::commands::query::block::LeoBlock"]],["impl Send for LeoCommittee",1,["leo_lang::cli::commands::query::committee::LeoCommittee"]],["impl Send for LeoMempool",1,["leo_lang::cli::commands::query::mempool::LeoMempool"]],["impl Send for LeoPeers",1,["leo_lang::cli::commands::query::peers::LeoPeers"]],["impl Send for LeoProgram",1,["leo_lang::cli::commands::query::program::LeoProgram"]],["impl Send for StateRoot",1,["leo_lang::cli::commands::query::state_root::StateRoot"]],["impl Send for LeoQuery",1,["leo_lang::cli::commands::query::LeoQuery"]],["impl Send for LeoTransaction",1,["leo_lang::cli::commands::query::transaction::LeoTransaction"]],["impl Send for LeoRemove",1,["leo_lang::cli::commands::remove::LeoRemove"]],["impl Send for LeoRun",1,["leo_lang::cli::commands::run::LeoRun"]],["impl Send for BuildOptions",1,["leo_lang::cli::commands::BuildOptions"]],["impl Send for FeeOptions",1,["leo_lang::cli::commands::FeeOptions"]],["impl Send for LeoUpdate",1,["leo_lang::cli::commands::update::LeoUpdate"]],["impl Send for Context",1,["leo_lang::cli::helpers::context::Context"]],["impl Send for Updater",1,["leo_lang::cli::helpers::updater::Updater"]],["impl<F, T> Send for Format<F, T>
where\n F: Send,\n T: Send,
",1,["leo_lang::cli::helpers::logger::Format"]]]],["leo_package",[["impl Send for Snapshot",1,["leo_package::outputs::ast_snapshot::Snapshot"]],["impl Send for BuildDirectory",1,["leo_package::build::directory::BuildDirectory"]],["impl Send for ImportsDirectory",1,["leo_package::imports::directory::ImportsDirectory"]],["impl Send for InputsDirectory",1,["leo_package::inputs::directory::InputsDirectory"]],["impl Send for SnapshotFile",1,["leo_package::outputs::ast_snapshot::SnapshotFile"]],["impl Send for ChecksumFile",1,["leo_package::outputs::checksum::ChecksumFile"]],["impl Send for CircuitFile",1,["leo_package::outputs::circuit::CircuitFile"]],["impl Send for OutputsDirectory",1,["leo_package::outputs::directory::OutputsDirectory"]],["impl Send for Package",1,["leo_package::package::Package"]],["impl Send for Gitignore",1,["leo_package::root::gitignore::Gitignore"]],["impl Send for SourceDirectory",1,["leo_package::source::directory::SourceDirectory"]],["impl Send for MainFile",1,["leo_package::source::main::MainFile"]],["impl<N> Send for Env<N>",1,["leo_package::root::env::Env"]]]],["leo_parser",[["impl Send for Delimiter",1,["leo_parser::tokenizer::token::Delimiter"]],["impl Send for Token",1,["leo_parser::tokenizer::token::Token"]],["impl Send for SpannedToken",1,["leo_parser::tokenizer::lexer::SpannedToken"]],["impl<'a, N> !Send for ParserContext<'a, N>",1,["leo_parser::parser::context::ParserContext"]]]],["leo_passes",[["impl Send for VariableType",1,["leo_passes::common::symbol_table::variable_symbol::VariableType"]],["impl Send for Guard",1,["leo_passes::flattening::flattener::Guard"]],["impl Send for ReturnGuard",1,["leo_passes::flattening::flattener::ReturnGuard"]],["impl Send for Clusivity",1,["leo_passes::loop_unrolling::range_iterator::Clusivity"]],["impl Send for Position",1,["leo_passes::static_analysis::future_checker::Position"]],["impl Send for Assigner",1,["leo_passes::common::assigner::Assigner"]],["impl Send for AssignerInner",1,["leo_passes::common::assigner::AssignerInner"]],["impl Send for ConstantPropagationTable",1,["leo_passes::common::constant_propagation_table::ConstantPropagationTable"]],["impl Send for RenameTable",1,["leo_passes::common::rename_table::RenameTable"]],["impl Send for FunctionSymbol",1,["leo_passes::common::symbol_table::function_symbol::FunctionSymbol"]],["impl Send for SymbolTable",1,["leo_passes::common::symbol_table::SymbolTable"]],["impl Send for VariableSymbol",1,["leo_passes::common::symbol_table::variable_symbol::VariableSymbol"]],["impl Send for TypeTable",1,["leo_passes::common::type_table::TypeTable"]],["impl Send for AwaitChecker",1,["leo_passes::static_analysis::await_checker::AwaitChecker"]],["impl Send for ScopeState",1,["leo_passes::type_checking::scope_state::ScopeState"]],["impl<'a> !Send for CodeGenerator<'a>",1,["leo_passes::code_generation::generator::CodeGenerator"]],["impl<'a> !Send for DeadCodeEliminator<'a>",1,["leo_passes::dead_code_elimination::dead_code_eliminator::DeadCodeEliminator"]],["impl<'a> !Send for Destructurer<'a>",1,["leo_passes::destructuring::destructurer::Destructurer"]],["impl<'a> !Send for Flattener<'a>",1,["leo_passes::flattening::flattener::Flattener"]],["impl<'a> !Send for AssignmentRenamer<'a>",1,["leo_passes::function_inlining::assignment_renamer::AssignmentRenamer"]],["impl<'a> !Send for FunctionInliner<'a>",1,["leo_passes::function_inlining::function_inliner::FunctionInliner"]],["impl<'a> !Send for Unroller<'a>",1,["leo_passes::loop_unrolling::unroller::Unroller"]],["impl<'a> !Send for FutureChecker<'a>",1,["leo_passes::static_analysis::future_checker::FutureChecker"]],["impl<'a> !Send for StaticSingleAssigner<'a>",1,["leo_passes::static_single_assignment::static_single_assigner::StaticSingleAssigner"]],["impl<'a> !Send for SymbolTableCreator<'a>",1,["leo_passes::symbol_table_creation::creator::SymbolTableCreator"]],["impl<'a, N> !Send for StaticAnalyzer<'a, N>",1,["leo_passes::static_analysis::analyzer::StaticAnalyzer"]],["impl<'a, N> !Send for TypeChecker<'a, N>",1,["leo_passes::type_checking::checker::TypeChecker"]],["impl<F> Send for Replacer<F>
where\n F: Send,
",1,["leo_passes::common::replacer::Replacer"]],["impl<I> Send for RangeIterator<I>
where\n I: Send,
",1,["leo_passes::loop_unrolling::range_iterator::RangeIterator"]],["impl<N> Send for DiGraphError<N>
where\n N: Send,
",1,["leo_passes::common::graph::DiGraphError"]],["impl<N> Send for DiGraph<N>
where\n N: Send,
",1,["leo_passes::common::graph::DiGraph"]],["impl<N> Send for TreeNode<N>
where\n N: Send,
",1,["leo_passes::common::tree_node::TreeNode"]]]],["leo_retriever",[["impl Send for Location",1,["leo_retriever::program_context::location::Location"]],["impl Send for NetworkName",1,["leo_retriever::program_context::network_name::NetworkName"]],["impl Send for Dependency",1,["leo_retriever::program_context::dependency::Dependency"]],["impl Send for LockFileEntry",1,["leo_retriever::program_context::lock_file_entry::LockFileEntry"]],["impl Send for Manifest",1,["leo_retriever::program_context::manifest::Manifest"]],["impl Send for ProgramContext",1,["leo_retriever::program_context::ProgramContext"]],["impl<N> Send for Retriever<N>",1,["leo_retriever::retriever::Retriever"]]]],["leo_span",[["impl !Send for LineCol",1,["leo_span::source_map::LineCol"]],["impl !Send for SourceMap",1,["leo_span::source_map::SourceMap"]],["impl !Send for SourceMapInner",1,["leo_span::source_map::SourceMapInner"]],["impl !Send for SpanLocation",1,["leo_span::source_map::SpanLocation"]],["impl !Send for SessionGlobals",1,["leo_span::symbol::SessionGlobals"]],["impl Send for FileName",1,["leo_span::source_map::FileName"]],["impl Send for InternedStr",1,["leo_span::symbol::InternedStr"]],["impl Send for MultiByteChar",1,["leo_span::source_map::MultiByteChar"]],["impl Send for SourceFile",1,["leo_span::source_map::SourceFile"]],["impl Send for BytePos",1,["leo_span::span::BytePos"]],["impl Send for CharPos",1,["leo_span::span::CharPos"]],["impl Send for Span",1,["leo_span::span::Span"]],["impl Send for SpanMapVisitor",1,["leo_span::span_json::SpanMapVisitor"]],["impl Send for InnerInterner",1,["leo_span::symbol::InnerInterner"]],["impl Send for Interner",1,["leo_span::symbol::Interner"]],["impl Send for Symbol",1,["leo_span::symbol::Symbol"]]]],["leo_test_framework",[["impl Send for TestError",1,["leo_test_framework::error::TestError"]],["impl Send for ParseType",1,["leo_test_framework::runner::ParseType"]],["impl Send for TestExpectationMode",1,["leo_test_framework::test::TestExpectationMode"]],["impl Send for TestFailure",1,["leo_test_framework::error::TestFailure"]],["impl Send for TestExpectation",1,["leo_test_framework::output::TestExpectation"]],["impl Send for Test",1,["leo_test_framework::runner::Test"]],["impl Send for TestCases",1,["leo_test_framework::runner::TestCases"]],["impl Send for TestConfig",1,["leo_test_framework::test::TestConfig"]]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[578,24881,1381,8426,10095,4607,1405,13530,2668,5031,2733]} \ No newline at end of file +//{"start":57,"fragment_lengths":[578,24881,1381,8815,7849,10437,4607,1405,13530,2668,5031,2733]} \ No newline at end of file diff --git a/trait.impl/core/marker/trait.StructuralPartialEq.js b/trait.impl/core/marker/trait.StructuralPartialEq.js index e2d369e256..e2782b96d7 100644 --- a/trait.impl/core/marker/trait.StructuralPartialEq.js +++ b/trait.impl/core/marker/trait.StructuralPartialEq.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["leo_ast",[["impl StructuralPartialEq for AccessExpression"],["impl StructuralPartialEq for BinaryOperation"],["impl StructuralPartialEq for Expression"],["impl StructuralPartialEq for Literal"],["impl StructuralPartialEq for UnaryOperation"],["impl StructuralPartialEq for CoreFunction"],["impl StructuralPartialEq for Mode"],["impl StructuralPartialEq for Variant"],["impl StructuralPartialEq for GroupCoordinate"],["impl StructuralPartialEq for GroupLiteral"],["impl StructuralPartialEq for AssertVariant"],["impl StructuralPartialEq for ConsoleFunction"],["impl StructuralPartialEq for DeclarationType"],["impl StructuralPartialEq for Statement"],["impl StructuralPartialEq for CoreConstant"],["impl StructuralPartialEq for IntegerType"],["impl StructuralPartialEq for Type"],["impl StructuralPartialEq for Value"],["impl StructuralPartialEq for ArrayAccess"],["impl StructuralPartialEq for AssociatedConstant"],["impl StructuralPartialEq for AssociatedFunction"],["impl StructuralPartialEq for MemberAccess"],["impl StructuralPartialEq for TupleAccess"],["impl StructuralPartialEq for Location"],["impl StructuralPartialEq for NonNegativeNumber"],["impl StructuralPartialEq for StaticString"],["impl StructuralPartialEq for ArrayExpression"],["impl StructuralPartialEq for BinaryExpression"],["impl StructuralPartialEq for CallExpression"],["impl StructuralPartialEq for CastExpression"],["impl StructuralPartialEq for ErrExpression"],["impl StructuralPartialEq for LocatorExpression"],["impl StructuralPartialEq for StructExpression"],["impl StructuralPartialEq for StructVariableInitializer"],["impl StructuralPartialEq for TernaryExpression"],["impl StructuralPartialEq for TupleExpression"],["impl StructuralPartialEq for UnaryExpression"],["impl StructuralPartialEq for UnitExpression"],["impl StructuralPartialEq for Annotation"],["impl StructuralPartialEq for Input"],["impl StructuralPartialEq for Output"],["impl StructuralPartialEq for GroupTuple"],["impl StructuralPartialEq for Mapping"],["impl StructuralPartialEq for ProgramId"],["impl StructuralPartialEq for ProgramScope"],["impl StructuralPartialEq for Program"],["impl StructuralPartialEq for AssertStatement"],["impl StructuralPartialEq for AssignStatement"],["impl StructuralPartialEq for Block"],["impl StructuralPartialEq for ConditionalStatement"],["impl StructuralPartialEq for ConsoleStatement"],["impl StructuralPartialEq for ConstDeclaration"],["impl StructuralPartialEq for DefinitionStatement"],["impl StructuralPartialEq for ExpressionStatement"],["impl StructuralPartialEq for IterationStatement"],["impl StructuralPartialEq for ReturnStatement"],["impl StructuralPartialEq for Ast"],["impl StructuralPartialEq for Member"],["impl StructuralPartialEq for Stub"],["impl StructuralPartialEq for ArrayType"],["impl StructuralPartialEq for FutureType"],["impl StructuralPartialEq for MappingType"],["impl StructuralPartialEq for CompositeType"],["impl StructuralPartialEq for TupleType"]]],["leo_errors",[["impl StructuralPartialEq for Formatted"]]],["leo_parser",[["impl StructuralPartialEq for Token"]]],["leo_passes",[["impl StructuralPartialEq for VariableType"],["impl StructuralPartialEq for RenameTable"],["impl StructuralPartialEq for FunctionSymbol"],["impl StructuralPartialEq for SymbolTable"],["impl StructuralPartialEq for VariableSymbol"],["impl<N: Node> StructuralPartialEq for DiGraph<N>"],["impl<N: Node> StructuralPartialEq for TreeNode<N>"]]],["leo_retriever",[["impl StructuralPartialEq for Location"],["impl StructuralPartialEq for NetworkName"],["impl StructuralPartialEq for Dependency"]]],["leo_span",[["impl StructuralPartialEq for MultiByteChar"],["impl StructuralPartialEq for BytePos"],["impl StructuralPartialEq for CharPos"],["impl StructuralPartialEq for Span"],["impl StructuralPartialEq for Symbol"]]],["leo_test_framework",[["impl StructuralPartialEq for ParseType"],["impl StructuralPartialEq for TestExpectationMode"]]]]); + var implementors = Object.fromEntries([["leo_ast",[["impl StructuralPartialEq for AccessExpression"],["impl StructuralPartialEq for BinaryOperation"],["impl StructuralPartialEq for Expression"],["impl StructuralPartialEq for Literal"],["impl StructuralPartialEq for UnaryOperation"],["impl StructuralPartialEq for CoreFunction"],["impl StructuralPartialEq for Mode"],["impl StructuralPartialEq for Variant"],["impl StructuralPartialEq for GroupCoordinate"],["impl StructuralPartialEq for GroupLiteral"],["impl StructuralPartialEq for AssertVariant"],["impl StructuralPartialEq for ConsoleFunction"],["impl StructuralPartialEq for DeclarationType"],["impl StructuralPartialEq for Statement"],["impl StructuralPartialEq for CoreConstant"],["impl StructuralPartialEq for IntegerType"],["impl StructuralPartialEq for Type"],["impl StructuralPartialEq for Value"],["impl StructuralPartialEq for ArrayAccess"],["impl StructuralPartialEq for AssociatedConstant"],["impl StructuralPartialEq for AssociatedFunction"],["impl StructuralPartialEq for MemberAccess"],["impl StructuralPartialEq for TupleAccess"],["impl StructuralPartialEq for Location"],["impl StructuralPartialEq for NonNegativeNumber"],["impl StructuralPartialEq for StaticString"],["impl StructuralPartialEq for ArrayExpression"],["impl StructuralPartialEq for BinaryExpression"],["impl StructuralPartialEq for CallExpression"],["impl StructuralPartialEq for CastExpression"],["impl StructuralPartialEq for ErrExpression"],["impl StructuralPartialEq for LocatorExpression"],["impl StructuralPartialEq for StructExpression"],["impl StructuralPartialEq for StructVariableInitializer"],["impl StructuralPartialEq for TernaryExpression"],["impl StructuralPartialEq for TupleExpression"],["impl StructuralPartialEq for UnaryExpression"],["impl StructuralPartialEq for UnitExpression"],["impl StructuralPartialEq for Annotation"],["impl StructuralPartialEq for Input"],["impl StructuralPartialEq for Output"],["impl StructuralPartialEq for GroupTuple"],["impl StructuralPartialEq for Mapping"],["impl StructuralPartialEq for ProgramId"],["impl StructuralPartialEq for ProgramScope"],["impl StructuralPartialEq for Program"],["impl StructuralPartialEq for AssertStatement"],["impl StructuralPartialEq for AssignStatement"],["impl StructuralPartialEq for Block"],["impl StructuralPartialEq for ConditionalStatement"],["impl StructuralPartialEq for ConsoleStatement"],["impl StructuralPartialEq for ConstDeclaration"],["impl StructuralPartialEq for DefinitionStatement"],["impl StructuralPartialEq for ExpressionStatement"],["impl StructuralPartialEq for IterationStatement"],["impl StructuralPartialEq for ReturnStatement"],["impl StructuralPartialEq for Ast"],["impl StructuralPartialEq for Member"],["impl StructuralPartialEq for Stub"],["impl StructuralPartialEq for ArrayType"],["impl StructuralPartialEq for FutureType"],["impl StructuralPartialEq for MappingType"],["impl StructuralPartialEq for CompositeType"],["impl StructuralPartialEq for TupleType"]]],["leo_errors",[["impl StructuralPartialEq for Formatted"]]],["leo_interpreter",[["impl StructuralPartialEq for Value"],["impl StructuralPartialEq for GlobalId"],["impl StructuralPartialEq for AsyncExecution"],["impl StructuralPartialEq for Future"],["impl StructuralPartialEq for StructContents"]]],["leo_parser",[["impl StructuralPartialEq for Token"]]],["leo_passes",[["impl StructuralPartialEq for VariableType"],["impl StructuralPartialEq for RenameTable"],["impl StructuralPartialEq for FunctionSymbol"],["impl StructuralPartialEq for SymbolTable"],["impl StructuralPartialEq for VariableSymbol"],["impl<N: Node> StructuralPartialEq for DiGraph<N>"],["impl<N: Node> StructuralPartialEq for TreeNode<N>"]]],["leo_retriever",[["impl StructuralPartialEq for Location"],["impl StructuralPartialEq for NetworkName"],["impl StructuralPartialEq for Dependency"]]],["leo_span",[["impl StructuralPartialEq for MultiByteChar"],["impl StructuralPartialEq for BytePos"],["impl StructuralPartialEq for CharPos"],["impl StructuralPartialEq for Span"],["impl StructuralPartialEq for Symbol"]]],["leo_test_framework",[["impl StructuralPartialEq for ParseType"],["impl StructuralPartialEq for TestExpectationMode"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[22227,359,339,2864,1118,1572,713]} \ No newline at end of file +//{"start":57,"fragment_lengths":[22227,359,1669,339,2864,1118,1572,713]} \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Sync.js b/trait.impl/core/marker/trait.Sync.js index 68de9db127..9240503b0b 100644 --- a/trait.impl/core/marker/trait.Sync.js +++ b/trait.impl/core/marker/trait.Sync.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["leo_abnf",[["impl Sync for Scope",1,["leo_abnf::Scope"]],["impl<'a> Sync for Processor<'a>",1,["leo_abnf::Processor"]]]],["leo_ast",[["impl !Sync for Statement",1,["leo_ast::statement::Statement"]],["impl !Sync for NodeBuilder",1,["leo_ast::common::node_builder::NodeBuilder"]],["impl !Sync for Function",1,["leo_ast::functions::Function"]],["impl !Sync for ProgramScope",1,["leo_ast::program::program_scope::ProgramScope"]],["impl !Sync for Program",1,["leo_ast::program::Program"]],["impl !Sync for Block",1,["leo_ast::statement::block::Block"]],["impl !Sync for ConditionalStatement",1,["leo_ast::statement::conditional::ConditionalStatement"]],["impl !Sync for IterationStatement",1,["leo_ast::statement::iteration::IterationStatement"]],["impl !Sync for Ast",1,["leo_ast::Ast"]],["impl Sync for AccessExpression",1,["leo_ast::expressions::access::AccessExpression"]],["impl Sync for BinaryOperation",1,["leo_ast::expressions::binary::BinaryOperation"]],["impl Sync for Expression",1,["leo_ast::expressions::Expression"]],["impl Sync for Literal",1,["leo_ast::expressions::literal::Literal"]],["impl Sync for UnaryOperation",1,["leo_ast::expressions::unary::UnaryOperation"]],["impl Sync for CoreFunction",1,["leo_ast::functions::core_function::CoreFunction"]],["impl Sync for Mode",1,["leo_ast::functions::mode::Mode"]],["impl Sync for Variant",1,["leo_ast::functions::variant::Variant"]],["impl Sync for GroupCoordinate",1,["leo_ast::groups::group_coordinate::GroupCoordinate"]],["impl Sync for GroupLiteral",1,["leo_ast::groups::group_literal::GroupLiteral"]],["impl Sync for AssertVariant",1,["leo_ast::statement::assert::AssertVariant"]],["impl Sync for ConsoleFunction",1,["leo_ast::statement::console::console_function::ConsoleFunction"]],["impl Sync for DeclarationType",1,["leo_ast::statement::definition::declaration_type::DeclarationType"]],["impl Sync for CoreConstant",1,["leo_ast::types::core_constant::CoreConstant"]],["impl Sync for IntegerType",1,["leo_ast::types::integer_type::IntegerType"]],["impl Sync for Type",1,["leo_ast::types::type_::Type"]],["impl Sync for Value",1,["leo_ast::value::Value"]],["impl Sync for ArrayAccess",1,["leo_ast::access::array_access::ArrayAccess"]],["impl Sync for AssociatedConstant",1,["leo_ast::access::associated_constant_access::AssociatedConstant"]],["impl Sync for AssociatedFunction",1,["leo_ast::access::associated_function_access::AssociatedFunction"]],["impl Sync for MemberAccess",1,["leo_ast::access::member_access::MemberAccess"]],["impl Sync for TupleAccess",1,["leo_ast::access::tuple_access::TupleAccess"]],["impl Sync for Identifier",1,["leo_ast::common::identifier::Identifier"]],["impl Sync for Location",1,["leo_ast::common::location::Location"]],["impl Sync for NodeBuilderInner",1,["leo_ast::common::node_builder::NodeBuilderInner"]],["impl Sync for NonNegativeNumber",1,["leo_ast::common::positive_number::NonNegativeNumber"]],["impl Sync for StaticString",1,["leo_ast::common::static_string::StaticString"]],["impl Sync for ArrayExpression",1,["leo_ast::expressions::array::ArrayExpression"]],["impl Sync for BinaryExpression",1,["leo_ast::expressions::binary::BinaryExpression"]],["impl Sync for CallExpression",1,["leo_ast::expressions::call::CallExpression"]],["impl Sync for CastExpression",1,["leo_ast::expressions::cast::CastExpression"]],["impl Sync for ErrExpression",1,["leo_ast::expressions::err::ErrExpression"]],["impl Sync for LocatorExpression",1,["leo_ast::expressions::locator::LocatorExpression"]],["impl Sync for StructExpression",1,["leo_ast::expressions::struct_init::StructExpression"]],["impl Sync for StructVariableInitializer",1,["leo_ast::expressions::struct_init::StructVariableInitializer"]],["impl Sync for TernaryExpression",1,["leo_ast::expressions::ternary::TernaryExpression"]],["impl Sync for TupleExpression",1,["leo_ast::expressions::tuple::TupleExpression"]],["impl Sync for UnaryExpression",1,["leo_ast::expressions::unary::UnaryExpression"]],["impl Sync for UnitExpression",1,["leo_ast::expressions::unit::UnitExpression"]],["impl Sync for Annotation",1,["leo_ast::functions::annotation::Annotation"]],["impl Sync for Input",1,["leo_ast::functions::input::Input"]],["impl Sync for Output",1,["leo_ast::functions::output::Output"]],["impl Sync for GroupTuple",1,["leo_ast::groups::group_literal::GroupTuple"]],["impl Sync for Mapping",1,["leo_ast::mapping::Mapping"]],["impl Sync for ProgramId",1,["leo_ast::program::program_id::ProgramId"]],["impl Sync for AssertStatement",1,["leo_ast::statement::assert::AssertStatement"]],["impl Sync for AssignStatement",1,["leo_ast::statement::assign::AssignStatement"]],["impl Sync for ConsoleStatement",1,["leo_ast::statement::console::console_statement::ConsoleStatement"]],["impl Sync for ConstDeclaration",1,["leo_ast::statement::const_::ConstDeclaration"]],["impl Sync for DefinitionStatement",1,["leo_ast::statement::definition::DefinitionStatement"]],["impl Sync for ExpressionStatement",1,["leo_ast::statement::expression::ExpressionStatement"]],["impl Sync for ReturnStatement",1,["leo_ast::statement::return_::ReturnStatement"]],["impl Sync for Member",1,["leo_ast::struct::member::Member"]],["impl Sync for Composite",1,["leo_ast::struct::Composite"]],["impl Sync for FunctionStub",1,["leo_ast::stub::function_stub::FunctionStub"]],["impl Sync for Stub",1,["leo_ast::stub::Stub"]],["impl Sync for ArrayType",1,["leo_ast::types::array::ArrayType"]],["impl Sync for FutureType",1,["leo_ast::types::future::FutureType"]],["impl Sync for MappingType",1,["leo_ast::types::mapping::MappingType"]],["impl Sync for CompositeType",1,["leo_ast::types::struct_type::CompositeType"]],["impl Sync for TupleType",1,["leo_ast::types::tuple::TupleType"]],["impl<'a> Sync for DisplayDecimal<'a>",1,["leo_ast::expressions::literal::DisplayDecimal"]]]],["leo_compiler",[["impl Sync for BuildOptions",1,["leo_compiler::options::BuildOptions"]],["impl Sync for CompilerOptions",1,["leo_compiler::options::CompilerOptions"]],["impl Sync for OutputOptions",1,["leo_compiler::options::OutputOptions"]],["impl<'a, N> !Sync for Compiler<'a, N>",1,["leo_compiler::compiler::Compiler"]]]],["leo_errors",[["impl !Sync for BufferEmitter",1,["leo_errors::emitter::BufferEmitter"]],["impl !Sync for Handler",1,["leo_errors::emitter::Handler"]],["impl !Sync for HandlerInner",1,["leo_errors::emitter::HandlerInner"]],["impl Sync for AstError",1,["leo_errors::errors::ast::ast_errors::AstError"]],["impl Sync for CliError",1,["leo_errors::errors::cli::cli_errors::CliError"]],["impl Sync for CompilerError",1,["leo_errors::errors::compiler::compiler_errors::CompilerError"]],["impl Sync for LeoError",1,["leo_errors::errors::LeoError"]],["impl Sync for LeoWarning",1,["leo_errors::errors::LeoWarning"]],["impl Sync for FlattenError",1,["leo_errors::errors::flattener::flattener_errors::FlattenError"]],["impl Sync for LoopUnrollerError",1,["leo_errors::errors::loop_unroller::loop_unroller_errors::LoopUnrollerError"]],["impl Sync for PackageError",1,["leo_errors::errors::package::package_errors::PackageError"]],["impl Sync for ParserError",1,["leo_errors::errors::parser::parser_errors::ParserError"]],["impl Sync for ParserWarning",1,["leo_errors::errors::parser::parser_warnings::ParserWarning"]],["impl Sync for StaticAnalyzerError",1,["leo_errors::errors::static_analyzer::static_analyzer_error::StaticAnalyzerError"]],["impl Sync for StaticAnalyzerWarning",1,["leo_errors::errors::static_analyzer::static_analyzer_warning::StaticAnalyzerWarning"]],["impl Sync for TypeCheckerError",1,["leo_errors::errors::type_checker::type_checker_error::TypeCheckerError"]],["impl Sync for TypeCheckerWarning",1,["leo_errors::errors::type_checker::type_checker_warning::TypeCheckerWarning"]],["impl Sync for UtilError",1,["leo_errors::errors::utils::util_errors::UtilError"]],["impl Sync for Backtraced",1,["leo_errors::common::backtraced::Backtraced"]],["impl Sync for Formatted",1,["leo_errors::common::formatted::Formatted"]],["impl Sync for StderrEmitter",1,["leo_errors::emitter::StderrEmitter"]],["impl<T> Sync for Buffer<T>
where\n T: Sync,
",1,["leo_errors::emitter::Buffer"]]]],["leo_lang",[["impl Sync for Commands",1,["leo_lang::cli::cli::Commands"]],["impl Sync for Account",1,["leo_lang::cli::commands::account::Account"]],["impl Sync for ExampleVariant",1,["leo_lang::cli::commands::example::ExampleVariant"]],["impl Sync for QueryCommands",1,["leo_lang::cli::commands::query::QueryCommands"]],["impl Sync for CLI",1,["leo_lang::cli::cli::CLI"]],["impl Sync for LeoAdd",1,["leo_lang::cli::commands::add::LeoAdd"]],["impl Sync for LeoBuild",1,["leo_lang::cli::commands::build::LeoBuild"]],["impl Sync for LeoClean",1,["leo_lang::cli::commands::clean::LeoClean"]],["impl Sync for Deploy",1,["leo_lang::cli::commands::deploy::Deploy"]],["impl Sync for LeoExample",1,["leo_lang::cli::commands::example::LeoExample"]],["impl Sync for LeoExecute",1,["leo_lang::cli::commands::execute::LeoExecute"]],["impl Sync for LeoNew",1,["leo_lang::cli::commands::new::LeoNew"]],["impl Sync for LeoBlock",1,["leo_lang::cli::commands::query::block::LeoBlock"]],["impl Sync for LeoCommittee",1,["leo_lang::cli::commands::query::committee::LeoCommittee"]],["impl Sync for LeoMempool",1,["leo_lang::cli::commands::query::mempool::LeoMempool"]],["impl Sync for LeoPeers",1,["leo_lang::cli::commands::query::peers::LeoPeers"]],["impl Sync for LeoProgram",1,["leo_lang::cli::commands::query::program::LeoProgram"]],["impl Sync for StateRoot",1,["leo_lang::cli::commands::query::state_root::StateRoot"]],["impl Sync for LeoQuery",1,["leo_lang::cli::commands::query::LeoQuery"]],["impl Sync for LeoTransaction",1,["leo_lang::cli::commands::query::transaction::LeoTransaction"]],["impl Sync for LeoRemove",1,["leo_lang::cli::commands::remove::LeoRemove"]],["impl Sync for LeoRun",1,["leo_lang::cli::commands::run::LeoRun"]],["impl Sync for BuildOptions",1,["leo_lang::cli::commands::BuildOptions"]],["impl Sync for FeeOptions",1,["leo_lang::cli::commands::FeeOptions"]],["impl Sync for LeoUpdate",1,["leo_lang::cli::commands::update::LeoUpdate"]],["impl Sync for Context",1,["leo_lang::cli::helpers::context::Context"]],["impl Sync for Updater",1,["leo_lang::cli::helpers::updater::Updater"]],["impl<F, T> Sync for Format<F, T>
where\n F: Sync,\n T: Sync,
",1,["leo_lang::cli::helpers::logger::Format"]]]],["leo_package",[["impl Sync for Snapshot",1,["leo_package::outputs::ast_snapshot::Snapshot"]],["impl Sync for BuildDirectory",1,["leo_package::build::directory::BuildDirectory"]],["impl Sync for ImportsDirectory",1,["leo_package::imports::directory::ImportsDirectory"]],["impl Sync for InputsDirectory",1,["leo_package::inputs::directory::InputsDirectory"]],["impl Sync for SnapshotFile",1,["leo_package::outputs::ast_snapshot::SnapshotFile"]],["impl Sync for ChecksumFile",1,["leo_package::outputs::checksum::ChecksumFile"]],["impl Sync for CircuitFile",1,["leo_package::outputs::circuit::CircuitFile"]],["impl Sync for OutputsDirectory",1,["leo_package::outputs::directory::OutputsDirectory"]],["impl Sync for Package",1,["leo_package::package::Package"]],["impl Sync for Gitignore",1,["leo_package::root::gitignore::Gitignore"]],["impl Sync for SourceDirectory",1,["leo_package::source::directory::SourceDirectory"]],["impl Sync for MainFile",1,["leo_package::source::main::MainFile"]],["impl<N> Sync for Env<N>",1,["leo_package::root::env::Env"]]]],["leo_parser",[["impl Sync for Delimiter",1,["leo_parser::tokenizer::token::Delimiter"]],["impl Sync for Token",1,["leo_parser::tokenizer::token::Token"]],["impl Sync for SpannedToken",1,["leo_parser::tokenizer::lexer::SpannedToken"]],["impl<'a, N> !Sync for ParserContext<'a, N>",1,["leo_parser::parser::context::ParserContext"]]]],["leo_passes",[["impl !Sync for Assigner",1,["leo_passes::common::assigner::Assigner"]],["impl !Sync for ConstantPropagationTable",1,["leo_passes::common::constant_propagation_table::ConstantPropagationTable"]],["impl !Sync for SymbolTable",1,["leo_passes::common::symbol_table::SymbolTable"]],["impl !Sync for TypeTable",1,["leo_passes::common::type_table::TypeTable"]],["impl Sync for VariableType",1,["leo_passes::common::symbol_table::variable_symbol::VariableType"]],["impl Sync for Guard",1,["leo_passes::flattening::flattener::Guard"]],["impl Sync for ReturnGuard",1,["leo_passes::flattening::flattener::ReturnGuard"]],["impl Sync for Clusivity",1,["leo_passes::loop_unrolling::range_iterator::Clusivity"]],["impl Sync for Position",1,["leo_passes::static_analysis::future_checker::Position"]],["impl Sync for AssignerInner",1,["leo_passes::common::assigner::AssignerInner"]],["impl Sync for RenameTable",1,["leo_passes::common::rename_table::RenameTable"]],["impl Sync for FunctionSymbol",1,["leo_passes::common::symbol_table::function_symbol::FunctionSymbol"]],["impl Sync for VariableSymbol",1,["leo_passes::common::symbol_table::variable_symbol::VariableSymbol"]],["impl Sync for AwaitChecker",1,["leo_passes::static_analysis::await_checker::AwaitChecker"]],["impl Sync for ScopeState",1,["leo_passes::type_checking::scope_state::ScopeState"]],["impl<'a> !Sync for CodeGenerator<'a>",1,["leo_passes::code_generation::generator::CodeGenerator"]],["impl<'a> !Sync for DeadCodeEliminator<'a>",1,["leo_passes::dead_code_elimination::dead_code_eliminator::DeadCodeEliminator"]],["impl<'a> !Sync for Destructurer<'a>",1,["leo_passes::destructuring::destructurer::Destructurer"]],["impl<'a> !Sync for Flattener<'a>",1,["leo_passes::flattening::flattener::Flattener"]],["impl<'a> !Sync for AssignmentRenamer<'a>",1,["leo_passes::function_inlining::assignment_renamer::AssignmentRenamer"]],["impl<'a> !Sync for FunctionInliner<'a>",1,["leo_passes::function_inlining::function_inliner::FunctionInliner"]],["impl<'a> !Sync for Unroller<'a>",1,["leo_passes::loop_unrolling::unroller::Unroller"]],["impl<'a> !Sync for FutureChecker<'a>",1,["leo_passes::static_analysis::future_checker::FutureChecker"]],["impl<'a> !Sync for StaticSingleAssigner<'a>",1,["leo_passes::static_single_assignment::static_single_assigner::StaticSingleAssigner"]],["impl<'a> !Sync for SymbolTableCreator<'a>",1,["leo_passes::symbol_table_creation::creator::SymbolTableCreator"]],["impl<'a, N> !Sync for StaticAnalyzer<'a, N>",1,["leo_passes::static_analysis::analyzer::StaticAnalyzer"]],["impl<'a, N> !Sync for TypeChecker<'a, N>",1,["leo_passes::type_checking::checker::TypeChecker"]],["impl<F> Sync for Replacer<F>
where\n F: Sync,
",1,["leo_passes::common::replacer::Replacer"]],["impl<I> Sync for RangeIterator<I>
where\n I: Sync,
",1,["leo_passes::loop_unrolling::range_iterator::RangeIterator"]],["impl<N> Sync for DiGraphError<N>
where\n N: Sync,
",1,["leo_passes::common::graph::DiGraphError"]],["impl<N> Sync for DiGraph<N>
where\n N: Sync,
",1,["leo_passes::common::graph::DiGraph"]],["impl<N> Sync for TreeNode<N>
where\n N: Sync,
",1,["leo_passes::common::tree_node::TreeNode"]]]],["leo_retriever",[["impl Sync for Location",1,["leo_retriever::program_context::location::Location"]],["impl Sync for NetworkName",1,["leo_retriever::program_context::network_name::NetworkName"]],["impl Sync for Dependency",1,["leo_retriever::program_context::dependency::Dependency"]],["impl Sync for LockFileEntry",1,["leo_retriever::program_context::lock_file_entry::LockFileEntry"]],["impl Sync for Manifest",1,["leo_retriever::program_context::manifest::Manifest"]],["impl Sync for ProgramContext",1,["leo_retriever::program_context::ProgramContext"]],["impl<N> Sync for Retriever<N>",1,["leo_retriever::retriever::Retriever"]]]],["leo_span",[["impl !Sync for LineCol",1,["leo_span::source_map::LineCol"]],["impl !Sync for SourceMap",1,["leo_span::source_map::SourceMap"]],["impl !Sync for SourceMapInner",1,["leo_span::source_map::SourceMapInner"]],["impl !Sync for SpanLocation",1,["leo_span::source_map::SpanLocation"]],["impl !Sync for Interner",1,["leo_span::symbol::Interner"]],["impl !Sync for SessionGlobals",1,["leo_span::symbol::SessionGlobals"]],["impl Sync for FileName",1,["leo_span::source_map::FileName"]],["impl Sync for InternedStr",1,["leo_span::symbol::InternedStr"]],["impl Sync for MultiByteChar",1,["leo_span::source_map::MultiByteChar"]],["impl Sync for SourceFile",1,["leo_span::source_map::SourceFile"]],["impl Sync for BytePos",1,["leo_span::span::BytePos"]],["impl Sync for CharPos",1,["leo_span::span::CharPos"]],["impl Sync for Span",1,["leo_span::span::Span"]],["impl Sync for SpanMapVisitor",1,["leo_span::span_json::SpanMapVisitor"]],["impl Sync for InnerInterner",1,["leo_span::symbol::InnerInterner"]],["impl Sync for Symbol",1,["leo_span::symbol::Symbol"]]]],["leo_test_framework",[["impl Sync for TestError",1,["leo_test_framework::error::TestError"]],["impl Sync for ParseType",1,["leo_test_framework::runner::ParseType"]],["impl Sync for TestExpectationMode",1,["leo_test_framework::test::TestExpectationMode"]],["impl Sync for TestFailure",1,["leo_test_framework::error::TestFailure"]],["impl Sync for TestExpectation",1,["leo_test_framework::output::TestExpectation"]],["impl Sync for Test",1,["leo_test_framework::runner::Test"]],["impl Sync for TestCases",1,["leo_test_framework::runner::TestCases"]],["impl Sync for TestConfig",1,["leo_test_framework::test::TestConfig"]]]]]); + var implementors = Object.fromEntries([["leo_abnf",[["impl Sync for Scope",1,["leo_abnf::Scope"]],["impl<'a> Sync for Processor<'a>",1,["leo_abnf::Processor"]]]],["leo_ast",[["impl !Sync for Statement",1,["leo_ast::statement::Statement"]],["impl !Sync for NodeBuilder",1,["leo_ast::common::node_builder::NodeBuilder"]],["impl !Sync for Function",1,["leo_ast::functions::Function"]],["impl !Sync for ProgramScope",1,["leo_ast::program::program_scope::ProgramScope"]],["impl !Sync for Program",1,["leo_ast::program::Program"]],["impl !Sync for Block",1,["leo_ast::statement::block::Block"]],["impl !Sync for ConditionalStatement",1,["leo_ast::statement::conditional::ConditionalStatement"]],["impl !Sync for IterationStatement",1,["leo_ast::statement::iteration::IterationStatement"]],["impl !Sync for Ast",1,["leo_ast::Ast"]],["impl Sync for AccessExpression",1,["leo_ast::expressions::access::AccessExpression"]],["impl Sync for BinaryOperation",1,["leo_ast::expressions::binary::BinaryOperation"]],["impl Sync for Expression",1,["leo_ast::expressions::Expression"]],["impl Sync for Literal",1,["leo_ast::expressions::literal::Literal"]],["impl Sync for UnaryOperation",1,["leo_ast::expressions::unary::UnaryOperation"]],["impl Sync for CoreFunction",1,["leo_ast::functions::core_function::CoreFunction"]],["impl Sync for Mode",1,["leo_ast::functions::mode::Mode"]],["impl Sync for Variant",1,["leo_ast::functions::variant::Variant"]],["impl Sync for GroupCoordinate",1,["leo_ast::groups::group_coordinate::GroupCoordinate"]],["impl Sync for GroupLiteral",1,["leo_ast::groups::group_literal::GroupLiteral"]],["impl Sync for AssertVariant",1,["leo_ast::statement::assert::AssertVariant"]],["impl Sync for ConsoleFunction",1,["leo_ast::statement::console::console_function::ConsoleFunction"]],["impl Sync for DeclarationType",1,["leo_ast::statement::definition::declaration_type::DeclarationType"]],["impl Sync for CoreConstant",1,["leo_ast::types::core_constant::CoreConstant"]],["impl Sync for IntegerType",1,["leo_ast::types::integer_type::IntegerType"]],["impl Sync for Type",1,["leo_ast::types::type_::Type"]],["impl Sync for Value",1,["leo_ast::value::Value"]],["impl Sync for ArrayAccess",1,["leo_ast::access::array_access::ArrayAccess"]],["impl Sync for AssociatedConstant",1,["leo_ast::access::associated_constant_access::AssociatedConstant"]],["impl Sync for AssociatedFunction",1,["leo_ast::access::associated_function_access::AssociatedFunction"]],["impl Sync for MemberAccess",1,["leo_ast::access::member_access::MemberAccess"]],["impl Sync for TupleAccess",1,["leo_ast::access::tuple_access::TupleAccess"]],["impl Sync for Identifier",1,["leo_ast::common::identifier::Identifier"]],["impl Sync for Location",1,["leo_ast::common::location::Location"]],["impl Sync for NodeBuilderInner",1,["leo_ast::common::node_builder::NodeBuilderInner"]],["impl Sync for NonNegativeNumber",1,["leo_ast::common::positive_number::NonNegativeNumber"]],["impl Sync for StaticString",1,["leo_ast::common::static_string::StaticString"]],["impl Sync for ArrayExpression",1,["leo_ast::expressions::array::ArrayExpression"]],["impl Sync for BinaryExpression",1,["leo_ast::expressions::binary::BinaryExpression"]],["impl Sync for CallExpression",1,["leo_ast::expressions::call::CallExpression"]],["impl Sync for CastExpression",1,["leo_ast::expressions::cast::CastExpression"]],["impl Sync for ErrExpression",1,["leo_ast::expressions::err::ErrExpression"]],["impl Sync for LocatorExpression",1,["leo_ast::expressions::locator::LocatorExpression"]],["impl Sync for StructExpression",1,["leo_ast::expressions::struct_init::StructExpression"]],["impl Sync for StructVariableInitializer",1,["leo_ast::expressions::struct_init::StructVariableInitializer"]],["impl Sync for TernaryExpression",1,["leo_ast::expressions::ternary::TernaryExpression"]],["impl Sync for TupleExpression",1,["leo_ast::expressions::tuple::TupleExpression"]],["impl Sync for UnaryExpression",1,["leo_ast::expressions::unary::UnaryExpression"]],["impl Sync for UnitExpression",1,["leo_ast::expressions::unit::UnitExpression"]],["impl Sync for Annotation",1,["leo_ast::functions::annotation::Annotation"]],["impl Sync for Input",1,["leo_ast::functions::input::Input"]],["impl Sync for Output",1,["leo_ast::functions::output::Output"]],["impl Sync for GroupTuple",1,["leo_ast::groups::group_literal::GroupTuple"]],["impl Sync for Mapping",1,["leo_ast::mapping::Mapping"]],["impl Sync for ProgramId",1,["leo_ast::program::program_id::ProgramId"]],["impl Sync for AssertStatement",1,["leo_ast::statement::assert::AssertStatement"]],["impl Sync for AssignStatement",1,["leo_ast::statement::assign::AssignStatement"]],["impl Sync for ConsoleStatement",1,["leo_ast::statement::console::console_statement::ConsoleStatement"]],["impl Sync for ConstDeclaration",1,["leo_ast::statement::const_::ConstDeclaration"]],["impl Sync for DefinitionStatement",1,["leo_ast::statement::definition::DefinitionStatement"]],["impl Sync for ExpressionStatement",1,["leo_ast::statement::expression::ExpressionStatement"]],["impl Sync for ReturnStatement",1,["leo_ast::statement::return_::ReturnStatement"]],["impl Sync for Member",1,["leo_ast::struct::member::Member"]],["impl Sync for Composite",1,["leo_ast::struct::Composite"]],["impl Sync for FunctionStub",1,["leo_ast::stub::function_stub::FunctionStub"]],["impl Sync for Stub",1,["leo_ast::stub::Stub"]],["impl Sync for ArrayType",1,["leo_ast::types::array::ArrayType"]],["impl Sync for FutureType",1,["leo_ast::types::future::FutureType"]],["impl Sync for MappingType",1,["leo_ast::types::mapping::MappingType"]],["impl Sync for CompositeType",1,["leo_ast::types::struct_type::CompositeType"]],["impl Sync for TupleType",1,["leo_ast::types::tuple::TupleType"]],["impl<'a> Sync for DisplayDecimal<'a>",1,["leo_ast::expressions::literal::DisplayDecimal"]]]],["leo_compiler",[["impl Sync for BuildOptions",1,["leo_compiler::options::BuildOptions"]],["impl Sync for CompilerOptions",1,["leo_compiler::options::CompilerOptions"]],["impl Sync for OutputOptions",1,["leo_compiler::options::OutputOptions"]],["impl<'a, N> !Sync for Compiler<'a, N>",1,["leo_compiler::compiler::Compiler"]]]],["leo_errors",[["impl !Sync for BufferEmitter",1,["leo_errors::emitter::BufferEmitter"]],["impl !Sync for Handler",1,["leo_errors::emitter::Handler"]],["impl !Sync for HandlerInner",1,["leo_errors::emitter::HandlerInner"]],["impl Sync for AstError",1,["leo_errors::errors::ast::ast_errors::AstError"]],["impl Sync for CliError",1,["leo_errors::errors::cli::cli_errors::CliError"]],["impl Sync for CompilerError",1,["leo_errors::errors::compiler::compiler_errors::CompilerError"]],["impl Sync for LeoError",1,["leo_errors::errors::LeoError"]],["impl Sync for LeoWarning",1,["leo_errors::errors::LeoWarning"]],["impl Sync for FlattenError",1,["leo_errors::errors::flattener::flattener_errors::FlattenError"]],["impl Sync for LoopUnrollerError",1,["leo_errors::errors::loop_unroller::loop_unroller_errors::LoopUnrollerError"]],["impl Sync for PackageError",1,["leo_errors::errors::package::package_errors::PackageError"]],["impl Sync for ParserError",1,["leo_errors::errors::parser::parser_errors::ParserError"]],["impl Sync for ParserWarning",1,["leo_errors::errors::parser::parser_warnings::ParserWarning"]],["impl Sync for StaticAnalyzerError",1,["leo_errors::errors::static_analyzer::static_analyzer_error::StaticAnalyzerError"]],["impl Sync for StaticAnalyzerWarning",1,["leo_errors::errors::static_analyzer::static_analyzer_warning::StaticAnalyzerWarning"]],["impl Sync for TypeCheckerError",1,["leo_errors::errors::type_checker::type_checker_error::TypeCheckerError"]],["impl Sync for TypeCheckerWarning",1,["leo_errors::errors::type_checker::type_checker_warning::TypeCheckerWarning"]],["impl Sync for UtilError",1,["leo_errors::errors::utils::util_errors::UtilError"]],["impl Sync for Backtraced",1,["leo_errors::common::backtraced::Backtraced"]],["impl Sync for Formatted",1,["leo_errors::common::formatted::Formatted"]],["impl Sync for StderrEmitter",1,["leo_errors::emitter::StderrEmitter"]],["impl Sync for InterpreterHalt",1,["leo_errors::errors::interpreter_halt::InterpreterHalt"]],["impl<T> Sync for Buffer<T>
where\n T: Sync,
",1,["leo_errors::emitter::Buffer"]]]],["leo_interpreter",[["impl !Sync for Interpreter",1,["leo_interpreter::interpreter::Interpreter"]],["impl Sync for InterpreterAction",1,["leo_interpreter::interpreter::InterpreterAction"]],["impl Sync for Value",1,["leo_interpreter::value::Value"]],["impl Sync for ContextStack",1,["leo_interpreter::cursor::ContextStack"]],["impl Sync for FunctionContext",1,["leo_interpreter::cursor::FunctionContext"]],["impl Sync for GlobalId",1,["leo_interpreter::cursor::GlobalId"]],["impl Sync for StepResult",1,["leo_interpreter::cursor::StepResult"]],["impl Sync for DialoguerUi",1,["leo_interpreter::dialoguer_input::DialoguerUi"]],["impl Sync for Breakpoint",1,["leo_interpreter::interpreter::Breakpoint"]],["impl Sync for Watchpoint",1,["leo_interpreter::interpreter::Watchpoint"]],["impl Sync for DebuggerLayout",1,["leo_interpreter::ratatui_ui::DebuggerLayout"]],["impl Sync for DrawData",1,["leo_interpreter::ratatui_ui::DrawData"]],["impl Sync for Prompt",1,["leo_interpreter::ratatui_ui::Prompt"]],["impl Sync for RatatuiUi",1,["leo_interpreter::ratatui_ui::RatatuiUi"]],["impl Sync for AsyncExecution",1,["leo_interpreter::value::AsyncExecution"]],["impl Sync for Future",1,["leo_interpreter::value::Future"]],["impl Sync for StructContents",1,["leo_interpreter::value::StructContents"]],["impl<'a> !Sync for Element<'a>",1,["leo_interpreter::cursor::Element"]],["impl<'a> !Sync for FunctionVariant<'a>",1,["leo_interpreter::cursor::FunctionVariant"]],["impl<'a> !Sync for Cursor<'a>",1,["leo_interpreter::cursor::Cursor"]],["impl<'a> !Sync for Frame<'a>",1,["leo_interpreter::cursor::Frame"]],["impl<'a> Sync for AleoContext<'a>",1,["leo_interpreter::cursor::AleoContext"]],["impl<'a> Sync for UserData<'a>",1,["leo_interpreter::ui::UserData"]]]],["leo_lang",[["impl Sync for Commands",1,["leo_lang::cli::cli::Commands"]],["impl Sync for Account",1,["leo_lang::cli::commands::account::Account"]],["impl Sync for ExampleVariant",1,["leo_lang::cli::commands::example::ExampleVariant"]],["impl Sync for QueryCommands",1,["leo_lang::cli::commands::query::QueryCommands"]],["impl Sync for CLI",1,["leo_lang::cli::cli::CLI"]],["impl Sync for LeoAdd",1,["leo_lang::cli::commands::add::LeoAdd"]],["impl Sync for LeoBuild",1,["leo_lang::cli::commands::build::LeoBuild"]],["impl Sync for LeoClean",1,["leo_lang::cli::commands::clean::LeoClean"]],["impl Sync for LeoDebug",1,["leo_lang::cli::commands::debug::LeoDebug"]],["impl Sync for Deploy",1,["leo_lang::cli::commands::deploy::Deploy"]],["impl Sync for LeoExample",1,["leo_lang::cli::commands::example::LeoExample"]],["impl Sync for LeoExecute",1,["leo_lang::cli::commands::execute::LeoExecute"]],["impl Sync for LeoNew",1,["leo_lang::cli::commands::new::LeoNew"]],["impl Sync for LeoBlock",1,["leo_lang::cli::commands::query::block::LeoBlock"]],["impl Sync for LeoCommittee",1,["leo_lang::cli::commands::query::committee::LeoCommittee"]],["impl Sync for LeoMempool",1,["leo_lang::cli::commands::query::mempool::LeoMempool"]],["impl Sync for LeoPeers",1,["leo_lang::cli::commands::query::peers::LeoPeers"]],["impl Sync for LeoProgram",1,["leo_lang::cli::commands::query::program::LeoProgram"]],["impl Sync for StateRoot",1,["leo_lang::cli::commands::query::state_root::StateRoot"]],["impl Sync for LeoQuery",1,["leo_lang::cli::commands::query::LeoQuery"]],["impl Sync for LeoTransaction",1,["leo_lang::cli::commands::query::transaction::LeoTransaction"]],["impl Sync for LeoRemove",1,["leo_lang::cli::commands::remove::LeoRemove"]],["impl Sync for LeoRun",1,["leo_lang::cli::commands::run::LeoRun"]],["impl Sync for BuildOptions",1,["leo_lang::cli::commands::BuildOptions"]],["impl Sync for FeeOptions",1,["leo_lang::cli::commands::FeeOptions"]],["impl Sync for LeoUpdate",1,["leo_lang::cli::commands::update::LeoUpdate"]],["impl Sync for Context",1,["leo_lang::cli::helpers::context::Context"]],["impl Sync for Updater",1,["leo_lang::cli::helpers::updater::Updater"]],["impl<F, T> Sync for Format<F, T>
where\n F: Sync,\n T: Sync,
",1,["leo_lang::cli::helpers::logger::Format"]]]],["leo_package",[["impl Sync for Snapshot",1,["leo_package::outputs::ast_snapshot::Snapshot"]],["impl Sync for BuildDirectory",1,["leo_package::build::directory::BuildDirectory"]],["impl Sync for ImportsDirectory",1,["leo_package::imports::directory::ImportsDirectory"]],["impl Sync for InputsDirectory",1,["leo_package::inputs::directory::InputsDirectory"]],["impl Sync for SnapshotFile",1,["leo_package::outputs::ast_snapshot::SnapshotFile"]],["impl Sync for ChecksumFile",1,["leo_package::outputs::checksum::ChecksumFile"]],["impl Sync for CircuitFile",1,["leo_package::outputs::circuit::CircuitFile"]],["impl Sync for OutputsDirectory",1,["leo_package::outputs::directory::OutputsDirectory"]],["impl Sync for Package",1,["leo_package::package::Package"]],["impl Sync for Gitignore",1,["leo_package::root::gitignore::Gitignore"]],["impl Sync for SourceDirectory",1,["leo_package::source::directory::SourceDirectory"]],["impl Sync for MainFile",1,["leo_package::source::main::MainFile"]],["impl<N> Sync for Env<N>",1,["leo_package::root::env::Env"]]]],["leo_parser",[["impl Sync for Delimiter",1,["leo_parser::tokenizer::token::Delimiter"]],["impl Sync for Token",1,["leo_parser::tokenizer::token::Token"]],["impl Sync for SpannedToken",1,["leo_parser::tokenizer::lexer::SpannedToken"]],["impl<'a, N> !Sync for ParserContext<'a, N>",1,["leo_parser::parser::context::ParserContext"]]]],["leo_passes",[["impl !Sync for Assigner",1,["leo_passes::common::assigner::Assigner"]],["impl !Sync for ConstantPropagationTable",1,["leo_passes::common::constant_propagation_table::ConstantPropagationTable"]],["impl !Sync for SymbolTable",1,["leo_passes::common::symbol_table::SymbolTable"]],["impl !Sync for TypeTable",1,["leo_passes::common::type_table::TypeTable"]],["impl Sync for VariableType",1,["leo_passes::common::symbol_table::variable_symbol::VariableType"]],["impl Sync for Guard",1,["leo_passes::flattening::flattener::Guard"]],["impl Sync for ReturnGuard",1,["leo_passes::flattening::flattener::ReturnGuard"]],["impl Sync for Clusivity",1,["leo_passes::loop_unrolling::range_iterator::Clusivity"]],["impl Sync for Position",1,["leo_passes::static_analysis::future_checker::Position"]],["impl Sync for AssignerInner",1,["leo_passes::common::assigner::AssignerInner"]],["impl Sync for RenameTable",1,["leo_passes::common::rename_table::RenameTable"]],["impl Sync for FunctionSymbol",1,["leo_passes::common::symbol_table::function_symbol::FunctionSymbol"]],["impl Sync for VariableSymbol",1,["leo_passes::common::symbol_table::variable_symbol::VariableSymbol"]],["impl Sync for AwaitChecker",1,["leo_passes::static_analysis::await_checker::AwaitChecker"]],["impl Sync for ScopeState",1,["leo_passes::type_checking::scope_state::ScopeState"]],["impl<'a> !Sync for CodeGenerator<'a>",1,["leo_passes::code_generation::generator::CodeGenerator"]],["impl<'a> !Sync for DeadCodeEliminator<'a>",1,["leo_passes::dead_code_elimination::dead_code_eliminator::DeadCodeEliminator"]],["impl<'a> !Sync for Destructurer<'a>",1,["leo_passes::destructuring::destructurer::Destructurer"]],["impl<'a> !Sync for Flattener<'a>",1,["leo_passes::flattening::flattener::Flattener"]],["impl<'a> !Sync for AssignmentRenamer<'a>",1,["leo_passes::function_inlining::assignment_renamer::AssignmentRenamer"]],["impl<'a> !Sync for FunctionInliner<'a>",1,["leo_passes::function_inlining::function_inliner::FunctionInliner"]],["impl<'a> !Sync for Unroller<'a>",1,["leo_passes::loop_unrolling::unroller::Unroller"]],["impl<'a> !Sync for FutureChecker<'a>",1,["leo_passes::static_analysis::future_checker::FutureChecker"]],["impl<'a> !Sync for StaticSingleAssigner<'a>",1,["leo_passes::static_single_assignment::static_single_assigner::StaticSingleAssigner"]],["impl<'a> !Sync for SymbolTableCreator<'a>",1,["leo_passes::symbol_table_creation::creator::SymbolTableCreator"]],["impl<'a, N> !Sync for StaticAnalyzer<'a, N>",1,["leo_passes::static_analysis::analyzer::StaticAnalyzer"]],["impl<'a, N> !Sync for TypeChecker<'a, N>",1,["leo_passes::type_checking::checker::TypeChecker"]],["impl<F> Sync for Replacer<F>
where\n F: Sync,
",1,["leo_passes::common::replacer::Replacer"]],["impl<I> Sync for RangeIterator<I>
where\n I: Sync,
",1,["leo_passes::loop_unrolling::range_iterator::RangeIterator"]],["impl<N> Sync for DiGraphError<N>
where\n N: Sync,
",1,["leo_passes::common::graph::DiGraphError"]],["impl<N> Sync for DiGraph<N>
where\n N: Sync,
",1,["leo_passes::common::graph::DiGraph"]],["impl<N> Sync for TreeNode<N>
where\n N: Sync,
",1,["leo_passes::common::tree_node::TreeNode"]]]],["leo_retriever",[["impl Sync for Location",1,["leo_retriever::program_context::location::Location"]],["impl Sync for NetworkName",1,["leo_retriever::program_context::network_name::NetworkName"]],["impl Sync for Dependency",1,["leo_retriever::program_context::dependency::Dependency"]],["impl Sync for LockFileEntry",1,["leo_retriever::program_context::lock_file_entry::LockFileEntry"]],["impl Sync for Manifest",1,["leo_retriever::program_context::manifest::Manifest"]],["impl Sync for ProgramContext",1,["leo_retriever::program_context::ProgramContext"]],["impl<N> Sync for Retriever<N>",1,["leo_retriever::retriever::Retriever"]]]],["leo_span",[["impl !Sync for LineCol",1,["leo_span::source_map::LineCol"]],["impl !Sync for SourceMap",1,["leo_span::source_map::SourceMap"]],["impl !Sync for SourceMapInner",1,["leo_span::source_map::SourceMapInner"]],["impl !Sync for SpanLocation",1,["leo_span::source_map::SpanLocation"]],["impl !Sync for Interner",1,["leo_span::symbol::Interner"]],["impl !Sync for SessionGlobals",1,["leo_span::symbol::SessionGlobals"]],["impl Sync for FileName",1,["leo_span::source_map::FileName"]],["impl Sync for InternedStr",1,["leo_span::symbol::InternedStr"]],["impl Sync for MultiByteChar",1,["leo_span::source_map::MultiByteChar"]],["impl Sync for SourceFile",1,["leo_span::source_map::SourceFile"]],["impl Sync for BytePos",1,["leo_span::span::BytePos"]],["impl Sync for CharPos",1,["leo_span::span::CharPos"]],["impl Sync for Span",1,["leo_span::span::Span"]],["impl Sync for SpanMapVisitor",1,["leo_span::span_json::SpanMapVisitor"]],["impl Sync for InnerInterner",1,["leo_span::symbol::InnerInterner"]],["impl Sync for Symbol",1,["leo_span::symbol::Symbol"]]]],["leo_test_framework",[["impl Sync for TestError",1,["leo_test_framework::error::TestError"]],["impl Sync for ParseType",1,["leo_test_framework::runner::ParseType"]],["impl Sync for TestExpectationMode",1,["leo_test_framework::test::TestExpectationMode"]],["impl Sync for TestFailure",1,["leo_test_framework::error::TestFailure"]],["impl Sync for TestExpectation",1,["leo_test_framework::output::TestExpectation"]],["impl Sync for Test",1,["leo_test_framework::runner::Test"]],["impl Sync for TestCases",1,["leo_test_framework::runner::TestCases"]],["impl Sync for TestConfig",1,["leo_test_framework::test::TestConfig"]]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[578,24890,1381,8426,10095,4607,1405,13534,2668,5032,2733]} \ No newline at end of file +//{"start":57,"fragment_lengths":[578,24890,1381,8815,7849,10437,4607,1405,13534,2668,5032,2733]} \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Unpin.js b/trait.impl/core/marker/trait.Unpin.js index ce84bdfb16..79443bd1f0 100644 --- a/trait.impl/core/marker/trait.Unpin.js +++ b/trait.impl/core/marker/trait.Unpin.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["leo_abnf",[["impl Unpin for Scope",1,["leo_abnf::Scope"]],["impl<'a> Unpin for Processor<'a>",1,["leo_abnf::Processor"]]]],["leo_ast",[["impl Unpin for AccessExpression",1,["leo_ast::expressions::access::AccessExpression"]],["impl Unpin for BinaryOperation",1,["leo_ast::expressions::binary::BinaryOperation"]],["impl Unpin for Expression",1,["leo_ast::expressions::Expression"]],["impl Unpin for Literal",1,["leo_ast::expressions::literal::Literal"]],["impl Unpin for UnaryOperation",1,["leo_ast::expressions::unary::UnaryOperation"]],["impl Unpin for CoreFunction",1,["leo_ast::functions::core_function::CoreFunction"]],["impl Unpin for Mode",1,["leo_ast::functions::mode::Mode"]],["impl Unpin for Variant",1,["leo_ast::functions::variant::Variant"]],["impl Unpin for GroupCoordinate",1,["leo_ast::groups::group_coordinate::GroupCoordinate"]],["impl Unpin for GroupLiteral",1,["leo_ast::groups::group_literal::GroupLiteral"]],["impl Unpin for AssertVariant",1,["leo_ast::statement::assert::AssertVariant"]],["impl Unpin for ConsoleFunction",1,["leo_ast::statement::console::console_function::ConsoleFunction"]],["impl Unpin for DeclarationType",1,["leo_ast::statement::definition::declaration_type::DeclarationType"]],["impl Unpin for Statement",1,["leo_ast::statement::Statement"]],["impl Unpin for CoreConstant",1,["leo_ast::types::core_constant::CoreConstant"]],["impl Unpin for IntegerType",1,["leo_ast::types::integer_type::IntegerType"]],["impl Unpin for Type",1,["leo_ast::types::type_::Type"]],["impl Unpin for Value",1,["leo_ast::value::Value"]],["impl Unpin for ArrayAccess",1,["leo_ast::access::array_access::ArrayAccess"]],["impl Unpin for AssociatedConstant",1,["leo_ast::access::associated_constant_access::AssociatedConstant"]],["impl Unpin for AssociatedFunction",1,["leo_ast::access::associated_function_access::AssociatedFunction"]],["impl Unpin for MemberAccess",1,["leo_ast::access::member_access::MemberAccess"]],["impl Unpin for TupleAccess",1,["leo_ast::access::tuple_access::TupleAccess"]],["impl Unpin for Identifier",1,["leo_ast::common::identifier::Identifier"]],["impl Unpin for Location",1,["leo_ast::common::location::Location"]],["impl Unpin for NodeBuilder",1,["leo_ast::common::node_builder::NodeBuilder"]],["impl Unpin for NodeBuilderInner",1,["leo_ast::common::node_builder::NodeBuilderInner"]],["impl Unpin for NonNegativeNumber",1,["leo_ast::common::positive_number::NonNegativeNumber"]],["impl Unpin for StaticString",1,["leo_ast::common::static_string::StaticString"]],["impl Unpin for ArrayExpression",1,["leo_ast::expressions::array::ArrayExpression"]],["impl Unpin for BinaryExpression",1,["leo_ast::expressions::binary::BinaryExpression"]],["impl Unpin for CallExpression",1,["leo_ast::expressions::call::CallExpression"]],["impl Unpin for CastExpression",1,["leo_ast::expressions::cast::CastExpression"]],["impl Unpin for ErrExpression",1,["leo_ast::expressions::err::ErrExpression"]],["impl Unpin for LocatorExpression",1,["leo_ast::expressions::locator::LocatorExpression"]],["impl Unpin for StructExpression",1,["leo_ast::expressions::struct_init::StructExpression"]],["impl Unpin for StructVariableInitializer",1,["leo_ast::expressions::struct_init::StructVariableInitializer"]],["impl Unpin for TernaryExpression",1,["leo_ast::expressions::ternary::TernaryExpression"]],["impl Unpin for TupleExpression",1,["leo_ast::expressions::tuple::TupleExpression"]],["impl Unpin for UnaryExpression",1,["leo_ast::expressions::unary::UnaryExpression"]],["impl Unpin for UnitExpression",1,["leo_ast::expressions::unit::UnitExpression"]],["impl Unpin for Annotation",1,["leo_ast::functions::annotation::Annotation"]],["impl Unpin for Input",1,["leo_ast::functions::input::Input"]],["impl Unpin for Output",1,["leo_ast::functions::output::Output"]],["impl Unpin for Function",1,["leo_ast::functions::Function"]],["impl Unpin for GroupTuple",1,["leo_ast::groups::group_literal::GroupTuple"]],["impl Unpin for Mapping",1,["leo_ast::mapping::Mapping"]],["impl Unpin for ProgramId",1,["leo_ast::program::program_id::ProgramId"]],["impl Unpin for ProgramScope",1,["leo_ast::program::program_scope::ProgramScope"]],["impl Unpin for Program",1,["leo_ast::program::Program"]],["impl Unpin for AssertStatement",1,["leo_ast::statement::assert::AssertStatement"]],["impl Unpin for AssignStatement",1,["leo_ast::statement::assign::AssignStatement"]],["impl Unpin for Block",1,["leo_ast::statement::block::Block"]],["impl Unpin for ConditionalStatement",1,["leo_ast::statement::conditional::ConditionalStatement"]],["impl Unpin for ConsoleStatement",1,["leo_ast::statement::console::console_statement::ConsoleStatement"]],["impl Unpin for ConstDeclaration",1,["leo_ast::statement::const_::ConstDeclaration"]],["impl Unpin for DefinitionStatement",1,["leo_ast::statement::definition::DefinitionStatement"]],["impl Unpin for ExpressionStatement",1,["leo_ast::statement::expression::ExpressionStatement"]],["impl Unpin for IterationStatement",1,["leo_ast::statement::iteration::IterationStatement"]],["impl Unpin for ReturnStatement",1,["leo_ast::statement::return_::ReturnStatement"]],["impl Unpin for Ast",1,["leo_ast::Ast"]],["impl Unpin for Member",1,["leo_ast::struct::member::Member"]],["impl Unpin for Composite",1,["leo_ast::struct::Composite"]],["impl Unpin for FunctionStub",1,["leo_ast::stub::function_stub::FunctionStub"]],["impl Unpin for Stub",1,["leo_ast::stub::Stub"]],["impl Unpin for ArrayType",1,["leo_ast::types::array::ArrayType"]],["impl Unpin for FutureType",1,["leo_ast::types::future::FutureType"]],["impl Unpin for MappingType",1,["leo_ast::types::mapping::MappingType"]],["impl Unpin for CompositeType",1,["leo_ast::types::struct_type::CompositeType"]],["impl Unpin for TupleType",1,["leo_ast::types::tuple::TupleType"]],["impl<'a> Unpin for DisplayDecimal<'a>",1,["leo_ast::expressions::literal::DisplayDecimal"]]]],["leo_compiler",[["impl Unpin for BuildOptions",1,["leo_compiler::options::BuildOptions"]],["impl Unpin for CompilerOptions",1,["leo_compiler::options::CompilerOptions"]],["impl Unpin for OutputOptions",1,["leo_compiler::options::OutputOptions"]],["impl<'a, N> Unpin for Compiler<'a, N>
where\n N: Unpin,
",1,["leo_compiler::compiler::Compiler"]]]],["leo_errors",[["impl Unpin for AstError",1,["leo_errors::errors::ast::ast_errors::AstError"]],["impl Unpin for CliError",1,["leo_errors::errors::cli::cli_errors::CliError"]],["impl Unpin for CompilerError",1,["leo_errors::errors::compiler::compiler_errors::CompilerError"]],["impl Unpin for LeoError",1,["leo_errors::errors::LeoError"]],["impl Unpin for LeoWarning",1,["leo_errors::errors::LeoWarning"]],["impl Unpin for FlattenError",1,["leo_errors::errors::flattener::flattener_errors::FlattenError"]],["impl Unpin for LoopUnrollerError",1,["leo_errors::errors::loop_unroller::loop_unroller_errors::LoopUnrollerError"]],["impl Unpin for PackageError",1,["leo_errors::errors::package::package_errors::PackageError"]],["impl Unpin for ParserError",1,["leo_errors::errors::parser::parser_errors::ParserError"]],["impl Unpin for ParserWarning",1,["leo_errors::errors::parser::parser_warnings::ParserWarning"]],["impl Unpin for StaticAnalyzerError",1,["leo_errors::errors::static_analyzer::static_analyzer_error::StaticAnalyzerError"]],["impl Unpin for StaticAnalyzerWarning",1,["leo_errors::errors::static_analyzer::static_analyzer_warning::StaticAnalyzerWarning"]],["impl Unpin for TypeCheckerError",1,["leo_errors::errors::type_checker::type_checker_error::TypeCheckerError"]],["impl Unpin for TypeCheckerWarning",1,["leo_errors::errors::type_checker::type_checker_warning::TypeCheckerWarning"]],["impl Unpin for UtilError",1,["leo_errors::errors::utils::util_errors::UtilError"]],["impl Unpin for Backtraced",1,["leo_errors::common::backtraced::Backtraced"]],["impl Unpin for Formatted",1,["leo_errors::common::formatted::Formatted"]],["impl Unpin for BufferEmitter",1,["leo_errors::emitter::BufferEmitter"]],["impl Unpin for Handler",1,["leo_errors::emitter::Handler"]],["impl Unpin for HandlerInner",1,["leo_errors::emitter::HandlerInner"]],["impl Unpin for StderrEmitter",1,["leo_errors::emitter::StderrEmitter"]],["impl<T> Unpin for Buffer<T>
where\n T: Unpin,
",1,["leo_errors::emitter::Buffer"]]]],["leo_lang",[["impl Unpin for Commands",1,["leo_lang::cli::cli::Commands"]],["impl Unpin for Account",1,["leo_lang::cli::commands::account::Account"]],["impl Unpin for ExampleVariant",1,["leo_lang::cli::commands::example::ExampleVariant"]],["impl Unpin for QueryCommands",1,["leo_lang::cli::commands::query::QueryCommands"]],["impl Unpin for CLI",1,["leo_lang::cli::cli::CLI"]],["impl Unpin for LeoAdd",1,["leo_lang::cli::commands::add::LeoAdd"]],["impl Unpin for LeoBuild",1,["leo_lang::cli::commands::build::LeoBuild"]],["impl Unpin for LeoClean",1,["leo_lang::cli::commands::clean::LeoClean"]],["impl Unpin for Deploy",1,["leo_lang::cli::commands::deploy::Deploy"]],["impl Unpin for LeoExample",1,["leo_lang::cli::commands::example::LeoExample"]],["impl Unpin for LeoExecute",1,["leo_lang::cli::commands::execute::LeoExecute"]],["impl Unpin for LeoNew",1,["leo_lang::cli::commands::new::LeoNew"]],["impl Unpin for LeoBlock",1,["leo_lang::cli::commands::query::block::LeoBlock"]],["impl Unpin for LeoCommittee",1,["leo_lang::cli::commands::query::committee::LeoCommittee"]],["impl Unpin for LeoMempool",1,["leo_lang::cli::commands::query::mempool::LeoMempool"]],["impl Unpin for LeoPeers",1,["leo_lang::cli::commands::query::peers::LeoPeers"]],["impl Unpin for LeoProgram",1,["leo_lang::cli::commands::query::program::LeoProgram"]],["impl Unpin for StateRoot",1,["leo_lang::cli::commands::query::state_root::StateRoot"]],["impl Unpin for LeoQuery",1,["leo_lang::cli::commands::query::LeoQuery"]],["impl Unpin for LeoTransaction",1,["leo_lang::cli::commands::query::transaction::LeoTransaction"]],["impl Unpin for LeoRemove",1,["leo_lang::cli::commands::remove::LeoRemove"]],["impl Unpin for LeoRun",1,["leo_lang::cli::commands::run::LeoRun"]],["impl Unpin for BuildOptions",1,["leo_lang::cli::commands::BuildOptions"]],["impl Unpin for FeeOptions",1,["leo_lang::cli::commands::FeeOptions"]],["impl Unpin for LeoUpdate",1,["leo_lang::cli::commands::update::LeoUpdate"]],["impl Unpin for Context",1,["leo_lang::cli::helpers::context::Context"]],["impl Unpin for Updater",1,["leo_lang::cli::helpers::updater::Updater"]],["impl<F, T> Unpin for Format<F, T>
where\n F: Unpin,\n T: Unpin,
",1,["leo_lang::cli::helpers::logger::Format"]]]],["leo_package",[["impl Unpin for Snapshot",1,["leo_package::outputs::ast_snapshot::Snapshot"]],["impl Unpin for BuildDirectory",1,["leo_package::build::directory::BuildDirectory"]],["impl Unpin for ImportsDirectory",1,["leo_package::imports::directory::ImportsDirectory"]],["impl Unpin for InputsDirectory",1,["leo_package::inputs::directory::InputsDirectory"]],["impl Unpin for SnapshotFile",1,["leo_package::outputs::ast_snapshot::SnapshotFile"]],["impl Unpin for ChecksumFile",1,["leo_package::outputs::checksum::ChecksumFile"]],["impl Unpin for CircuitFile",1,["leo_package::outputs::circuit::CircuitFile"]],["impl Unpin for OutputsDirectory",1,["leo_package::outputs::directory::OutputsDirectory"]],["impl Unpin for Package",1,["leo_package::package::Package"]],["impl Unpin for Gitignore",1,["leo_package::root::gitignore::Gitignore"]],["impl Unpin for SourceDirectory",1,["leo_package::source::directory::SourceDirectory"]],["impl Unpin for MainFile",1,["leo_package::source::main::MainFile"]],["impl<N> Unpin for Env<N>
where\n <N as Environment>::Field: Unpin,\n <N as Environment>::Scalar: Unpin,
",1,["leo_package::root::env::Env"]]]],["leo_parser",[["impl Unpin for Delimiter",1,["leo_parser::tokenizer::token::Delimiter"]],["impl Unpin for Token",1,["leo_parser::tokenizer::token::Token"]],["impl Unpin for SpannedToken",1,["leo_parser::tokenizer::lexer::SpannedToken"]],["impl<'a, N> Unpin for ParserContext<'a, N>
where\n N: Unpin,
",1,["leo_parser::parser::context::ParserContext"]]]],["leo_passes",[["impl Unpin for VariableType",1,["leo_passes::common::symbol_table::variable_symbol::VariableType"]],["impl Unpin for Guard",1,["leo_passes::flattening::flattener::Guard"]],["impl Unpin for ReturnGuard",1,["leo_passes::flattening::flattener::ReturnGuard"]],["impl Unpin for Clusivity",1,["leo_passes::loop_unrolling::range_iterator::Clusivity"]],["impl Unpin for Position",1,["leo_passes::static_analysis::future_checker::Position"]],["impl Unpin for Assigner",1,["leo_passes::common::assigner::Assigner"]],["impl Unpin for AssignerInner",1,["leo_passes::common::assigner::AssignerInner"]],["impl Unpin for ConstantPropagationTable",1,["leo_passes::common::constant_propagation_table::ConstantPropagationTable"]],["impl Unpin for RenameTable",1,["leo_passes::common::rename_table::RenameTable"]],["impl Unpin for FunctionSymbol",1,["leo_passes::common::symbol_table::function_symbol::FunctionSymbol"]],["impl Unpin for SymbolTable",1,["leo_passes::common::symbol_table::SymbolTable"]],["impl Unpin for VariableSymbol",1,["leo_passes::common::symbol_table::variable_symbol::VariableSymbol"]],["impl Unpin for TypeTable",1,["leo_passes::common::type_table::TypeTable"]],["impl Unpin for AwaitChecker",1,["leo_passes::static_analysis::await_checker::AwaitChecker"]],["impl Unpin for ScopeState",1,["leo_passes::type_checking::scope_state::ScopeState"]],["impl<'a> Unpin for CodeGenerator<'a>",1,["leo_passes::code_generation::generator::CodeGenerator"]],["impl<'a> Unpin for DeadCodeEliminator<'a>",1,["leo_passes::dead_code_elimination::dead_code_eliminator::DeadCodeEliminator"]],["impl<'a> Unpin for Destructurer<'a>",1,["leo_passes::destructuring::destructurer::Destructurer"]],["impl<'a> Unpin for Flattener<'a>",1,["leo_passes::flattening::flattener::Flattener"]],["impl<'a> Unpin for AssignmentRenamer<'a>",1,["leo_passes::function_inlining::assignment_renamer::AssignmentRenamer"]],["impl<'a> Unpin for FunctionInliner<'a>",1,["leo_passes::function_inlining::function_inliner::FunctionInliner"]],["impl<'a> Unpin for Unroller<'a>",1,["leo_passes::loop_unrolling::unroller::Unroller"]],["impl<'a> Unpin for FutureChecker<'a>",1,["leo_passes::static_analysis::future_checker::FutureChecker"]],["impl<'a> Unpin for StaticSingleAssigner<'a>",1,["leo_passes::static_single_assignment::static_single_assigner::StaticSingleAssigner"]],["impl<'a> Unpin for SymbolTableCreator<'a>",1,["leo_passes::symbol_table_creation::creator::SymbolTableCreator"]],["impl<'a, N> Unpin for StaticAnalyzer<'a, N>
where\n N: Unpin,
",1,["leo_passes::static_analysis::analyzer::StaticAnalyzer"]],["impl<'a, N> Unpin for TypeChecker<'a, N>
where\n N: Unpin,
",1,["leo_passes::type_checking::checker::TypeChecker"]],["impl<F> Unpin for Replacer<F>
where\n F: Unpin,
",1,["leo_passes::common::replacer::Replacer"]],["impl<I> Unpin for RangeIterator<I>
where\n I: Unpin,
",1,["leo_passes::loop_unrolling::range_iterator::RangeIterator"]],["impl<N> Unpin for DiGraphError<N>
where\n N: Unpin,
",1,["leo_passes::common::graph::DiGraphError"]],["impl<N> Unpin for DiGraph<N>
where\n N: Unpin,
",1,["leo_passes::common::graph::DiGraph"]],["impl<N> Unpin for TreeNode<N>
where\n N: Unpin,
",1,["leo_passes::common::tree_node::TreeNode"]]]],["leo_retriever",[["impl Unpin for Location",1,["leo_retriever::program_context::location::Location"]],["impl Unpin for NetworkName",1,["leo_retriever::program_context::network_name::NetworkName"]],["impl Unpin for Dependency",1,["leo_retriever::program_context::dependency::Dependency"]],["impl Unpin for LockFileEntry",1,["leo_retriever::program_context::lock_file_entry::LockFileEntry"]],["impl Unpin for Manifest",1,["leo_retriever::program_context::manifest::Manifest"]],["impl Unpin for ProgramContext",1,["leo_retriever::program_context::ProgramContext"]],["impl<N> Unpin for Retriever<N>
where\n N: Unpin,
",1,["leo_retriever::retriever::Retriever"]]]],["leo_span",[["impl Unpin for FileName",1,["leo_span::source_map::FileName"]],["impl Unpin for InternedStr",1,["leo_span::symbol::InternedStr"]],["impl Unpin for LineCol",1,["leo_span::source_map::LineCol"]],["impl Unpin for MultiByteChar",1,["leo_span::source_map::MultiByteChar"]],["impl Unpin for SourceFile",1,["leo_span::source_map::SourceFile"]],["impl Unpin for SourceMap",1,["leo_span::source_map::SourceMap"]],["impl Unpin for SourceMapInner",1,["leo_span::source_map::SourceMapInner"]],["impl Unpin for SpanLocation",1,["leo_span::source_map::SpanLocation"]],["impl Unpin for BytePos",1,["leo_span::span::BytePos"]],["impl Unpin for CharPos",1,["leo_span::span::CharPos"]],["impl Unpin for Span",1,["leo_span::span::Span"]],["impl Unpin for SpanMapVisitor",1,["leo_span::span_json::SpanMapVisitor"]],["impl Unpin for InnerInterner",1,["leo_span::symbol::InnerInterner"]],["impl Unpin for Interner",1,["leo_span::symbol::Interner"]],["impl Unpin for SessionGlobals",1,["leo_span::symbol::SessionGlobals"]],["impl Unpin for Symbol",1,["leo_span::symbol::Symbol"]]]],["leo_test_framework",[["impl Unpin for TestError",1,["leo_test_framework::error::TestError"]],["impl Unpin for ParseType",1,["leo_test_framework::runner::ParseType"]],["impl Unpin for TestExpectationMode",1,["leo_test_framework::test::TestExpectationMode"]],["impl Unpin for TestFailure",1,["leo_test_framework::error::TestFailure"]],["impl Unpin for TestExpectation",1,["leo_test_framework::output::TestExpectation"]],["impl Unpin for Test",1,["leo_test_framework::runner::Test"]],["impl Unpin for TestCases",1,["leo_test_framework::runner::TestCases"]],["impl Unpin for TestConfig",1,["leo_test_framework::test::TestConfig"]]]]]); + var implementors = Object.fromEntries([["leo_abnf",[["impl Unpin for Scope",1,["leo_abnf::Scope"]],["impl<'a> Unpin for Processor<'a>",1,["leo_abnf::Processor"]]]],["leo_ast",[["impl Unpin for AccessExpression",1,["leo_ast::expressions::access::AccessExpression"]],["impl Unpin for BinaryOperation",1,["leo_ast::expressions::binary::BinaryOperation"]],["impl Unpin for Expression",1,["leo_ast::expressions::Expression"]],["impl Unpin for Literal",1,["leo_ast::expressions::literal::Literal"]],["impl Unpin for UnaryOperation",1,["leo_ast::expressions::unary::UnaryOperation"]],["impl Unpin for CoreFunction",1,["leo_ast::functions::core_function::CoreFunction"]],["impl Unpin for Mode",1,["leo_ast::functions::mode::Mode"]],["impl Unpin for Variant",1,["leo_ast::functions::variant::Variant"]],["impl Unpin for GroupCoordinate",1,["leo_ast::groups::group_coordinate::GroupCoordinate"]],["impl Unpin for GroupLiteral",1,["leo_ast::groups::group_literal::GroupLiteral"]],["impl Unpin for AssertVariant",1,["leo_ast::statement::assert::AssertVariant"]],["impl Unpin for ConsoleFunction",1,["leo_ast::statement::console::console_function::ConsoleFunction"]],["impl Unpin for DeclarationType",1,["leo_ast::statement::definition::declaration_type::DeclarationType"]],["impl Unpin for Statement",1,["leo_ast::statement::Statement"]],["impl Unpin for CoreConstant",1,["leo_ast::types::core_constant::CoreConstant"]],["impl Unpin for IntegerType",1,["leo_ast::types::integer_type::IntegerType"]],["impl Unpin for Type",1,["leo_ast::types::type_::Type"]],["impl Unpin for Value",1,["leo_ast::value::Value"]],["impl Unpin for ArrayAccess",1,["leo_ast::access::array_access::ArrayAccess"]],["impl Unpin for AssociatedConstant",1,["leo_ast::access::associated_constant_access::AssociatedConstant"]],["impl Unpin for AssociatedFunction",1,["leo_ast::access::associated_function_access::AssociatedFunction"]],["impl Unpin for MemberAccess",1,["leo_ast::access::member_access::MemberAccess"]],["impl Unpin for TupleAccess",1,["leo_ast::access::tuple_access::TupleAccess"]],["impl Unpin for Identifier",1,["leo_ast::common::identifier::Identifier"]],["impl Unpin for Location",1,["leo_ast::common::location::Location"]],["impl Unpin for NodeBuilder",1,["leo_ast::common::node_builder::NodeBuilder"]],["impl Unpin for NodeBuilderInner",1,["leo_ast::common::node_builder::NodeBuilderInner"]],["impl Unpin for NonNegativeNumber",1,["leo_ast::common::positive_number::NonNegativeNumber"]],["impl Unpin for StaticString",1,["leo_ast::common::static_string::StaticString"]],["impl Unpin for ArrayExpression",1,["leo_ast::expressions::array::ArrayExpression"]],["impl Unpin for BinaryExpression",1,["leo_ast::expressions::binary::BinaryExpression"]],["impl Unpin for CallExpression",1,["leo_ast::expressions::call::CallExpression"]],["impl Unpin for CastExpression",1,["leo_ast::expressions::cast::CastExpression"]],["impl Unpin for ErrExpression",1,["leo_ast::expressions::err::ErrExpression"]],["impl Unpin for LocatorExpression",1,["leo_ast::expressions::locator::LocatorExpression"]],["impl Unpin for StructExpression",1,["leo_ast::expressions::struct_init::StructExpression"]],["impl Unpin for StructVariableInitializer",1,["leo_ast::expressions::struct_init::StructVariableInitializer"]],["impl Unpin for TernaryExpression",1,["leo_ast::expressions::ternary::TernaryExpression"]],["impl Unpin for TupleExpression",1,["leo_ast::expressions::tuple::TupleExpression"]],["impl Unpin for UnaryExpression",1,["leo_ast::expressions::unary::UnaryExpression"]],["impl Unpin for UnitExpression",1,["leo_ast::expressions::unit::UnitExpression"]],["impl Unpin for Annotation",1,["leo_ast::functions::annotation::Annotation"]],["impl Unpin for Input",1,["leo_ast::functions::input::Input"]],["impl Unpin for Output",1,["leo_ast::functions::output::Output"]],["impl Unpin for Function",1,["leo_ast::functions::Function"]],["impl Unpin for GroupTuple",1,["leo_ast::groups::group_literal::GroupTuple"]],["impl Unpin for Mapping",1,["leo_ast::mapping::Mapping"]],["impl Unpin for ProgramId",1,["leo_ast::program::program_id::ProgramId"]],["impl Unpin for ProgramScope",1,["leo_ast::program::program_scope::ProgramScope"]],["impl Unpin for Program",1,["leo_ast::program::Program"]],["impl Unpin for AssertStatement",1,["leo_ast::statement::assert::AssertStatement"]],["impl Unpin for AssignStatement",1,["leo_ast::statement::assign::AssignStatement"]],["impl Unpin for Block",1,["leo_ast::statement::block::Block"]],["impl Unpin for ConditionalStatement",1,["leo_ast::statement::conditional::ConditionalStatement"]],["impl Unpin for ConsoleStatement",1,["leo_ast::statement::console::console_statement::ConsoleStatement"]],["impl Unpin for ConstDeclaration",1,["leo_ast::statement::const_::ConstDeclaration"]],["impl Unpin for DefinitionStatement",1,["leo_ast::statement::definition::DefinitionStatement"]],["impl Unpin for ExpressionStatement",1,["leo_ast::statement::expression::ExpressionStatement"]],["impl Unpin for IterationStatement",1,["leo_ast::statement::iteration::IterationStatement"]],["impl Unpin for ReturnStatement",1,["leo_ast::statement::return_::ReturnStatement"]],["impl Unpin for Ast",1,["leo_ast::Ast"]],["impl Unpin for Member",1,["leo_ast::struct::member::Member"]],["impl Unpin for Composite",1,["leo_ast::struct::Composite"]],["impl Unpin for FunctionStub",1,["leo_ast::stub::function_stub::FunctionStub"]],["impl Unpin for Stub",1,["leo_ast::stub::Stub"]],["impl Unpin for ArrayType",1,["leo_ast::types::array::ArrayType"]],["impl Unpin for FutureType",1,["leo_ast::types::future::FutureType"]],["impl Unpin for MappingType",1,["leo_ast::types::mapping::MappingType"]],["impl Unpin for CompositeType",1,["leo_ast::types::struct_type::CompositeType"]],["impl Unpin for TupleType",1,["leo_ast::types::tuple::TupleType"]],["impl<'a> Unpin for DisplayDecimal<'a>",1,["leo_ast::expressions::literal::DisplayDecimal"]]]],["leo_compiler",[["impl Unpin for BuildOptions",1,["leo_compiler::options::BuildOptions"]],["impl Unpin for CompilerOptions",1,["leo_compiler::options::CompilerOptions"]],["impl Unpin for OutputOptions",1,["leo_compiler::options::OutputOptions"]],["impl<'a, N> Unpin for Compiler<'a, N>
where\n N: Unpin,
",1,["leo_compiler::compiler::Compiler"]]]],["leo_errors",[["impl Unpin for AstError",1,["leo_errors::errors::ast::ast_errors::AstError"]],["impl Unpin for CliError",1,["leo_errors::errors::cli::cli_errors::CliError"]],["impl Unpin for CompilerError",1,["leo_errors::errors::compiler::compiler_errors::CompilerError"]],["impl Unpin for LeoError",1,["leo_errors::errors::LeoError"]],["impl Unpin for LeoWarning",1,["leo_errors::errors::LeoWarning"]],["impl Unpin for FlattenError",1,["leo_errors::errors::flattener::flattener_errors::FlattenError"]],["impl Unpin for LoopUnrollerError",1,["leo_errors::errors::loop_unroller::loop_unroller_errors::LoopUnrollerError"]],["impl Unpin for PackageError",1,["leo_errors::errors::package::package_errors::PackageError"]],["impl Unpin for ParserError",1,["leo_errors::errors::parser::parser_errors::ParserError"]],["impl Unpin for ParserWarning",1,["leo_errors::errors::parser::parser_warnings::ParserWarning"]],["impl Unpin for StaticAnalyzerError",1,["leo_errors::errors::static_analyzer::static_analyzer_error::StaticAnalyzerError"]],["impl Unpin for StaticAnalyzerWarning",1,["leo_errors::errors::static_analyzer::static_analyzer_warning::StaticAnalyzerWarning"]],["impl Unpin for TypeCheckerError",1,["leo_errors::errors::type_checker::type_checker_error::TypeCheckerError"]],["impl Unpin for TypeCheckerWarning",1,["leo_errors::errors::type_checker::type_checker_warning::TypeCheckerWarning"]],["impl Unpin for UtilError",1,["leo_errors::errors::utils::util_errors::UtilError"]],["impl Unpin for Backtraced",1,["leo_errors::common::backtraced::Backtraced"]],["impl Unpin for Formatted",1,["leo_errors::common::formatted::Formatted"]],["impl Unpin for BufferEmitter",1,["leo_errors::emitter::BufferEmitter"]],["impl Unpin for Handler",1,["leo_errors::emitter::Handler"]],["impl Unpin for HandlerInner",1,["leo_errors::emitter::HandlerInner"]],["impl Unpin for StderrEmitter",1,["leo_errors::emitter::StderrEmitter"]],["impl Unpin for InterpreterHalt",1,["leo_errors::errors::interpreter_halt::InterpreterHalt"]],["impl<T> Unpin for Buffer<T>
where\n T: Unpin,
",1,["leo_errors::emitter::Buffer"]]]],["leo_interpreter",[["impl Unpin for InterpreterAction",1,["leo_interpreter::interpreter::InterpreterAction"]],["impl Unpin for Value",1,["leo_interpreter::value::Value"]],["impl Unpin for ContextStack",1,["leo_interpreter::cursor::ContextStack"]],["impl Unpin for FunctionContext",1,["leo_interpreter::cursor::FunctionContext"]],["impl Unpin for GlobalId",1,["leo_interpreter::cursor::GlobalId"]],["impl Unpin for StepResult",1,["leo_interpreter::cursor::StepResult"]],["impl Unpin for DialoguerUi",1,["leo_interpreter::dialoguer_input::DialoguerUi"]],["impl Unpin for Breakpoint",1,["leo_interpreter::interpreter::Breakpoint"]],["impl Unpin for Interpreter",1,["leo_interpreter::interpreter::Interpreter"]],["impl Unpin for Watchpoint",1,["leo_interpreter::interpreter::Watchpoint"]],["impl Unpin for DebuggerLayout",1,["leo_interpreter::ratatui_ui::DebuggerLayout"]],["impl Unpin for DrawData",1,["leo_interpreter::ratatui_ui::DrawData"]],["impl Unpin for Prompt",1,["leo_interpreter::ratatui_ui::Prompt"]],["impl Unpin for RatatuiUi",1,["leo_interpreter::ratatui_ui::RatatuiUi"]],["impl Unpin for AsyncExecution",1,["leo_interpreter::value::AsyncExecution"]],["impl Unpin for Future",1,["leo_interpreter::value::Future"]],["impl Unpin for StructContents",1,["leo_interpreter::value::StructContents"]],["impl<'a> Unpin for AleoContext<'a>",1,["leo_interpreter::cursor::AleoContext"]],["impl<'a> Unpin for Element<'a>",1,["leo_interpreter::cursor::Element"]],["impl<'a> Unpin for FunctionVariant<'a>",1,["leo_interpreter::cursor::FunctionVariant"]],["impl<'a> Unpin for Cursor<'a>",1,["leo_interpreter::cursor::Cursor"]],["impl<'a> Unpin for Frame<'a>",1,["leo_interpreter::cursor::Frame"]],["impl<'a> Unpin for UserData<'a>",1,["leo_interpreter::ui::UserData"]]]],["leo_lang",[["impl Unpin for Commands",1,["leo_lang::cli::cli::Commands"]],["impl Unpin for Account",1,["leo_lang::cli::commands::account::Account"]],["impl Unpin for ExampleVariant",1,["leo_lang::cli::commands::example::ExampleVariant"]],["impl Unpin for QueryCommands",1,["leo_lang::cli::commands::query::QueryCommands"]],["impl Unpin for CLI",1,["leo_lang::cli::cli::CLI"]],["impl Unpin for LeoAdd",1,["leo_lang::cli::commands::add::LeoAdd"]],["impl Unpin for LeoBuild",1,["leo_lang::cli::commands::build::LeoBuild"]],["impl Unpin for LeoClean",1,["leo_lang::cli::commands::clean::LeoClean"]],["impl Unpin for LeoDebug",1,["leo_lang::cli::commands::debug::LeoDebug"]],["impl Unpin for Deploy",1,["leo_lang::cli::commands::deploy::Deploy"]],["impl Unpin for LeoExample",1,["leo_lang::cli::commands::example::LeoExample"]],["impl Unpin for LeoExecute",1,["leo_lang::cli::commands::execute::LeoExecute"]],["impl Unpin for LeoNew",1,["leo_lang::cli::commands::new::LeoNew"]],["impl Unpin for LeoBlock",1,["leo_lang::cli::commands::query::block::LeoBlock"]],["impl Unpin for LeoCommittee",1,["leo_lang::cli::commands::query::committee::LeoCommittee"]],["impl Unpin for LeoMempool",1,["leo_lang::cli::commands::query::mempool::LeoMempool"]],["impl Unpin for LeoPeers",1,["leo_lang::cli::commands::query::peers::LeoPeers"]],["impl Unpin for LeoProgram",1,["leo_lang::cli::commands::query::program::LeoProgram"]],["impl Unpin for StateRoot",1,["leo_lang::cli::commands::query::state_root::StateRoot"]],["impl Unpin for LeoQuery",1,["leo_lang::cli::commands::query::LeoQuery"]],["impl Unpin for LeoTransaction",1,["leo_lang::cli::commands::query::transaction::LeoTransaction"]],["impl Unpin for LeoRemove",1,["leo_lang::cli::commands::remove::LeoRemove"]],["impl Unpin for LeoRun",1,["leo_lang::cli::commands::run::LeoRun"]],["impl Unpin for BuildOptions",1,["leo_lang::cli::commands::BuildOptions"]],["impl Unpin for FeeOptions",1,["leo_lang::cli::commands::FeeOptions"]],["impl Unpin for LeoUpdate",1,["leo_lang::cli::commands::update::LeoUpdate"]],["impl Unpin for Context",1,["leo_lang::cli::helpers::context::Context"]],["impl Unpin for Updater",1,["leo_lang::cli::helpers::updater::Updater"]],["impl<F, T> Unpin for Format<F, T>
where\n F: Unpin,\n T: Unpin,
",1,["leo_lang::cli::helpers::logger::Format"]]]],["leo_package",[["impl Unpin for Snapshot",1,["leo_package::outputs::ast_snapshot::Snapshot"]],["impl Unpin for BuildDirectory",1,["leo_package::build::directory::BuildDirectory"]],["impl Unpin for ImportsDirectory",1,["leo_package::imports::directory::ImportsDirectory"]],["impl Unpin for InputsDirectory",1,["leo_package::inputs::directory::InputsDirectory"]],["impl Unpin for SnapshotFile",1,["leo_package::outputs::ast_snapshot::SnapshotFile"]],["impl Unpin for ChecksumFile",1,["leo_package::outputs::checksum::ChecksumFile"]],["impl Unpin for CircuitFile",1,["leo_package::outputs::circuit::CircuitFile"]],["impl Unpin for OutputsDirectory",1,["leo_package::outputs::directory::OutputsDirectory"]],["impl Unpin for Package",1,["leo_package::package::Package"]],["impl Unpin for Gitignore",1,["leo_package::root::gitignore::Gitignore"]],["impl Unpin for SourceDirectory",1,["leo_package::source::directory::SourceDirectory"]],["impl Unpin for MainFile",1,["leo_package::source::main::MainFile"]],["impl<N> Unpin for Env<N>
where\n <N as Environment>::Field: Unpin,\n <N as Environment>::Scalar: Unpin,
",1,["leo_package::root::env::Env"]]]],["leo_parser",[["impl Unpin for Delimiter",1,["leo_parser::tokenizer::token::Delimiter"]],["impl Unpin for Token",1,["leo_parser::tokenizer::token::Token"]],["impl Unpin for SpannedToken",1,["leo_parser::tokenizer::lexer::SpannedToken"]],["impl<'a, N> Unpin for ParserContext<'a, N>
where\n N: Unpin,
",1,["leo_parser::parser::context::ParserContext"]]]],["leo_passes",[["impl Unpin for VariableType",1,["leo_passes::common::symbol_table::variable_symbol::VariableType"]],["impl Unpin for Guard",1,["leo_passes::flattening::flattener::Guard"]],["impl Unpin for ReturnGuard",1,["leo_passes::flattening::flattener::ReturnGuard"]],["impl Unpin for Clusivity",1,["leo_passes::loop_unrolling::range_iterator::Clusivity"]],["impl Unpin for Position",1,["leo_passes::static_analysis::future_checker::Position"]],["impl Unpin for Assigner",1,["leo_passes::common::assigner::Assigner"]],["impl Unpin for AssignerInner",1,["leo_passes::common::assigner::AssignerInner"]],["impl Unpin for ConstantPropagationTable",1,["leo_passes::common::constant_propagation_table::ConstantPropagationTable"]],["impl Unpin for RenameTable",1,["leo_passes::common::rename_table::RenameTable"]],["impl Unpin for FunctionSymbol",1,["leo_passes::common::symbol_table::function_symbol::FunctionSymbol"]],["impl Unpin for SymbolTable",1,["leo_passes::common::symbol_table::SymbolTable"]],["impl Unpin for VariableSymbol",1,["leo_passes::common::symbol_table::variable_symbol::VariableSymbol"]],["impl Unpin for TypeTable",1,["leo_passes::common::type_table::TypeTable"]],["impl Unpin for AwaitChecker",1,["leo_passes::static_analysis::await_checker::AwaitChecker"]],["impl Unpin for ScopeState",1,["leo_passes::type_checking::scope_state::ScopeState"]],["impl<'a> Unpin for CodeGenerator<'a>",1,["leo_passes::code_generation::generator::CodeGenerator"]],["impl<'a> Unpin for DeadCodeEliminator<'a>",1,["leo_passes::dead_code_elimination::dead_code_eliminator::DeadCodeEliminator"]],["impl<'a> Unpin for Destructurer<'a>",1,["leo_passes::destructuring::destructurer::Destructurer"]],["impl<'a> Unpin for Flattener<'a>",1,["leo_passes::flattening::flattener::Flattener"]],["impl<'a> Unpin for AssignmentRenamer<'a>",1,["leo_passes::function_inlining::assignment_renamer::AssignmentRenamer"]],["impl<'a> Unpin for FunctionInliner<'a>",1,["leo_passes::function_inlining::function_inliner::FunctionInliner"]],["impl<'a> Unpin for Unroller<'a>",1,["leo_passes::loop_unrolling::unroller::Unroller"]],["impl<'a> Unpin for FutureChecker<'a>",1,["leo_passes::static_analysis::future_checker::FutureChecker"]],["impl<'a> Unpin for StaticSingleAssigner<'a>",1,["leo_passes::static_single_assignment::static_single_assigner::StaticSingleAssigner"]],["impl<'a> Unpin for SymbolTableCreator<'a>",1,["leo_passes::symbol_table_creation::creator::SymbolTableCreator"]],["impl<'a, N> Unpin for StaticAnalyzer<'a, N>
where\n N: Unpin,
",1,["leo_passes::static_analysis::analyzer::StaticAnalyzer"]],["impl<'a, N> Unpin for TypeChecker<'a, N>
where\n N: Unpin,
",1,["leo_passes::type_checking::checker::TypeChecker"]],["impl<F> Unpin for Replacer<F>
where\n F: Unpin,
",1,["leo_passes::common::replacer::Replacer"]],["impl<I> Unpin for RangeIterator<I>
where\n I: Unpin,
",1,["leo_passes::loop_unrolling::range_iterator::RangeIterator"]],["impl<N> Unpin for DiGraphError<N>
where\n N: Unpin,
",1,["leo_passes::common::graph::DiGraphError"]],["impl<N> Unpin for DiGraph<N>
where\n N: Unpin,
",1,["leo_passes::common::graph::DiGraph"]],["impl<N> Unpin for TreeNode<N>
where\n N: Unpin,
",1,["leo_passes::common::tree_node::TreeNode"]]]],["leo_retriever",[["impl Unpin for Location",1,["leo_retriever::program_context::location::Location"]],["impl Unpin for NetworkName",1,["leo_retriever::program_context::network_name::NetworkName"]],["impl Unpin for Dependency",1,["leo_retriever::program_context::dependency::Dependency"]],["impl Unpin for LockFileEntry",1,["leo_retriever::program_context::lock_file_entry::LockFileEntry"]],["impl Unpin for Manifest",1,["leo_retriever::program_context::manifest::Manifest"]],["impl Unpin for ProgramContext",1,["leo_retriever::program_context::ProgramContext"]],["impl<N> Unpin for Retriever<N>
where\n N: Unpin,
",1,["leo_retriever::retriever::Retriever"]]]],["leo_span",[["impl Unpin for FileName",1,["leo_span::source_map::FileName"]],["impl Unpin for InternedStr",1,["leo_span::symbol::InternedStr"]],["impl Unpin for LineCol",1,["leo_span::source_map::LineCol"]],["impl Unpin for MultiByteChar",1,["leo_span::source_map::MultiByteChar"]],["impl Unpin for SourceFile",1,["leo_span::source_map::SourceFile"]],["impl Unpin for SourceMap",1,["leo_span::source_map::SourceMap"]],["impl Unpin for SourceMapInner",1,["leo_span::source_map::SourceMapInner"]],["impl Unpin for SpanLocation",1,["leo_span::source_map::SpanLocation"]],["impl Unpin for BytePos",1,["leo_span::span::BytePos"]],["impl Unpin for CharPos",1,["leo_span::span::CharPos"]],["impl Unpin for Span",1,["leo_span::span::Span"]],["impl Unpin for SpanMapVisitor",1,["leo_span::span_json::SpanMapVisitor"]],["impl Unpin for InnerInterner",1,["leo_span::symbol::InnerInterner"]],["impl Unpin for Interner",1,["leo_span::symbol::Interner"]],["impl Unpin for SessionGlobals",1,["leo_span::symbol::SessionGlobals"]],["impl Unpin for Symbol",1,["leo_span::symbol::Symbol"]]]],["leo_test_framework",[["impl Unpin for TestError",1,["leo_test_framework::error::TestError"]],["impl Unpin for ParseType",1,["leo_test_framework::runner::ParseType"]],["impl Unpin for TestExpectationMode",1,["leo_test_framework::test::TestExpectationMode"]],["impl Unpin for TestFailure",1,["leo_test_framework::error::TestFailure"]],["impl Unpin for TestExpectation",1,["leo_test_framework::output::TestExpectation"]],["impl Unpin for Test",1,["leo_test_framework::runner::Test"]],["impl Unpin for TestCases",1,["leo_test_framework::runner::TestCases"]],["impl Unpin for TestConfig",1,["leo_test_framework::test::TestConfig"]]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[584,25094,1569,8492,10185,5029,1593,13983,2866,5074,2757]} \ No newline at end of file +//{"start":57,"fragment_lengths":[584,25094,1569,8884,7913,10530,5029,1593,13983,2866,5074,2757]} \ No newline at end of file diff --git a/trait.impl/core/ops/drop/trait.Drop.js b/trait.impl/core/ops/drop/trait.Drop.js new file mode 100644 index 0000000000..b3d27036b6 --- /dev/null +++ b/trait.impl/core/ops/drop/trait.Drop.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["leo_interpreter",[["impl Drop for RatatuiUi"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[320]} \ No newline at end of file diff --git a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js index 5856a434d9..b279c8205d 100644 --- a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["leo_abnf",[["impl RefUnwindSafe for Scope",1,["leo_abnf::Scope"]],["impl<'a> RefUnwindSafe for Processor<'a>",1,["leo_abnf::Processor"]]]],["leo_ast",[["impl !RefUnwindSafe for Statement",1,["leo_ast::statement::Statement"]],["impl !RefUnwindSafe for NodeBuilder",1,["leo_ast::common::node_builder::NodeBuilder"]],["impl !RefUnwindSafe for Function",1,["leo_ast::functions::Function"]],["impl !RefUnwindSafe for ProgramScope",1,["leo_ast::program::program_scope::ProgramScope"]],["impl !RefUnwindSafe for Program",1,["leo_ast::program::Program"]],["impl !RefUnwindSafe for Block",1,["leo_ast::statement::block::Block"]],["impl !RefUnwindSafe for ConditionalStatement",1,["leo_ast::statement::conditional::ConditionalStatement"]],["impl !RefUnwindSafe for IterationStatement",1,["leo_ast::statement::iteration::IterationStatement"]],["impl !RefUnwindSafe for Ast",1,["leo_ast::Ast"]],["impl RefUnwindSafe for AccessExpression",1,["leo_ast::expressions::access::AccessExpression"]],["impl RefUnwindSafe for BinaryOperation",1,["leo_ast::expressions::binary::BinaryOperation"]],["impl RefUnwindSafe for Expression",1,["leo_ast::expressions::Expression"]],["impl RefUnwindSafe for Literal",1,["leo_ast::expressions::literal::Literal"]],["impl RefUnwindSafe for UnaryOperation",1,["leo_ast::expressions::unary::UnaryOperation"]],["impl RefUnwindSafe for CoreFunction",1,["leo_ast::functions::core_function::CoreFunction"]],["impl RefUnwindSafe for Mode",1,["leo_ast::functions::mode::Mode"]],["impl RefUnwindSafe for Variant",1,["leo_ast::functions::variant::Variant"]],["impl RefUnwindSafe for GroupCoordinate",1,["leo_ast::groups::group_coordinate::GroupCoordinate"]],["impl RefUnwindSafe for GroupLiteral",1,["leo_ast::groups::group_literal::GroupLiteral"]],["impl RefUnwindSafe for AssertVariant",1,["leo_ast::statement::assert::AssertVariant"]],["impl RefUnwindSafe for ConsoleFunction",1,["leo_ast::statement::console::console_function::ConsoleFunction"]],["impl RefUnwindSafe for DeclarationType",1,["leo_ast::statement::definition::declaration_type::DeclarationType"]],["impl RefUnwindSafe for CoreConstant",1,["leo_ast::types::core_constant::CoreConstant"]],["impl RefUnwindSafe for IntegerType",1,["leo_ast::types::integer_type::IntegerType"]],["impl RefUnwindSafe for Type",1,["leo_ast::types::type_::Type"]],["impl RefUnwindSafe for Value",1,["leo_ast::value::Value"]],["impl RefUnwindSafe for ArrayAccess",1,["leo_ast::access::array_access::ArrayAccess"]],["impl RefUnwindSafe for AssociatedConstant",1,["leo_ast::access::associated_constant_access::AssociatedConstant"]],["impl RefUnwindSafe for AssociatedFunction",1,["leo_ast::access::associated_function_access::AssociatedFunction"]],["impl RefUnwindSafe for MemberAccess",1,["leo_ast::access::member_access::MemberAccess"]],["impl RefUnwindSafe for TupleAccess",1,["leo_ast::access::tuple_access::TupleAccess"]],["impl RefUnwindSafe for Identifier",1,["leo_ast::common::identifier::Identifier"]],["impl RefUnwindSafe for Location",1,["leo_ast::common::location::Location"]],["impl RefUnwindSafe for NodeBuilderInner",1,["leo_ast::common::node_builder::NodeBuilderInner"]],["impl RefUnwindSafe for NonNegativeNumber",1,["leo_ast::common::positive_number::NonNegativeNumber"]],["impl RefUnwindSafe for StaticString",1,["leo_ast::common::static_string::StaticString"]],["impl RefUnwindSafe for ArrayExpression",1,["leo_ast::expressions::array::ArrayExpression"]],["impl RefUnwindSafe for BinaryExpression",1,["leo_ast::expressions::binary::BinaryExpression"]],["impl RefUnwindSafe for CallExpression",1,["leo_ast::expressions::call::CallExpression"]],["impl RefUnwindSafe for CastExpression",1,["leo_ast::expressions::cast::CastExpression"]],["impl RefUnwindSafe for ErrExpression",1,["leo_ast::expressions::err::ErrExpression"]],["impl RefUnwindSafe for LocatorExpression",1,["leo_ast::expressions::locator::LocatorExpression"]],["impl RefUnwindSafe for StructExpression",1,["leo_ast::expressions::struct_init::StructExpression"]],["impl RefUnwindSafe for StructVariableInitializer",1,["leo_ast::expressions::struct_init::StructVariableInitializer"]],["impl RefUnwindSafe for TernaryExpression",1,["leo_ast::expressions::ternary::TernaryExpression"]],["impl RefUnwindSafe for TupleExpression",1,["leo_ast::expressions::tuple::TupleExpression"]],["impl RefUnwindSafe for UnaryExpression",1,["leo_ast::expressions::unary::UnaryExpression"]],["impl RefUnwindSafe for UnitExpression",1,["leo_ast::expressions::unit::UnitExpression"]],["impl RefUnwindSafe for Annotation",1,["leo_ast::functions::annotation::Annotation"]],["impl RefUnwindSafe for Input",1,["leo_ast::functions::input::Input"]],["impl RefUnwindSafe for Output",1,["leo_ast::functions::output::Output"]],["impl RefUnwindSafe for GroupTuple",1,["leo_ast::groups::group_literal::GroupTuple"]],["impl RefUnwindSafe for Mapping",1,["leo_ast::mapping::Mapping"]],["impl RefUnwindSafe for ProgramId",1,["leo_ast::program::program_id::ProgramId"]],["impl RefUnwindSafe for AssertStatement",1,["leo_ast::statement::assert::AssertStatement"]],["impl RefUnwindSafe for AssignStatement",1,["leo_ast::statement::assign::AssignStatement"]],["impl RefUnwindSafe for ConsoleStatement",1,["leo_ast::statement::console::console_statement::ConsoleStatement"]],["impl RefUnwindSafe for ConstDeclaration",1,["leo_ast::statement::const_::ConstDeclaration"]],["impl RefUnwindSafe for DefinitionStatement",1,["leo_ast::statement::definition::DefinitionStatement"]],["impl RefUnwindSafe for ExpressionStatement",1,["leo_ast::statement::expression::ExpressionStatement"]],["impl RefUnwindSafe for ReturnStatement",1,["leo_ast::statement::return_::ReturnStatement"]],["impl RefUnwindSafe for Member",1,["leo_ast::struct::member::Member"]],["impl RefUnwindSafe for Composite",1,["leo_ast::struct::Composite"]],["impl RefUnwindSafe for FunctionStub",1,["leo_ast::stub::function_stub::FunctionStub"]],["impl RefUnwindSafe for Stub",1,["leo_ast::stub::Stub"]],["impl RefUnwindSafe for ArrayType",1,["leo_ast::types::array::ArrayType"]],["impl RefUnwindSafe for FutureType",1,["leo_ast::types::future::FutureType"]],["impl RefUnwindSafe for MappingType",1,["leo_ast::types::mapping::MappingType"]],["impl RefUnwindSafe for CompositeType",1,["leo_ast::types::struct_type::CompositeType"]],["impl RefUnwindSafe for TupleType",1,["leo_ast::types::tuple::TupleType"]],["impl<'a> RefUnwindSafe for DisplayDecimal<'a>",1,["leo_ast::expressions::literal::DisplayDecimal"]]]],["leo_compiler",[["impl RefUnwindSafe for BuildOptions",1,["leo_compiler::options::BuildOptions"]],["impl RefUnwindSafe for CompilerOptions",1,["leo_compiler::options::CompilerOptions"]],["impl RefUnwindSafe for OutputOptions",1,["leo_compiler::options::OutputOptions"]],["impl<'a, N> !RefUnwindSafe for Compiler<'a, N>",1,["leo_compiler::compiler::Compiler"]]]],["leo_errors",[["impl !RefUnwindSafe for BufferEmitter",1,["leo_errors::emitter::BufferEmitter"]],["impl !RefUnwindSafe for Handler",1,["leo_errors::emitter::Handler"]],["impl !RefUnwindSafe for HandlerInner",1,["leo_errors::emitter::HandlerInner"]],["impl RefUnwindSafe for AstError",1,["leo_errors::errors::ast::ast_errors::AstError"]],["impl RefUnwindSafe for CliError",1,["leo_errors::errors::cli::cli_errors::CliError"]],["impl RefUnwindSafe for CompilerError",1,["leo_errors::errors::compiler::compiler_errors::CompilerError"]],["impl RefUnwindSafe for LeoError",1,["leo_errors::errors::LeoError"]],["impl RefUnwindSafe for LeoWarning",1,["leo_errors::errors::LeoWarning"]],["impl RefUnwindSafe for FlattenError",1,["leo_errors::errors::flattener::flattener_errors::FlattenError"]],["impl RefUnwindSafe for LoopUnrollerError",1,["leo_errors::errors::loop_unroller::loop_unroller_errors::LoopUnrollerError"]],["impl RefUnwindSafe for PackageError",1,["leo_errors::errors::package::package_errors::PackageError"]],["impl RefUnwindSafe for ParserError",1,["leo_errors::errors::parser::parser_errors::ParserError"]],["impl RefUnwindSafe for ParserWarning",1,["leo_errors::errors::parser::parser_warnings::ParserWarning"]],["impl RefUnwindSafe for StaticAnalyzerError",1,["leo_errors::errors::static_analyzer::static_analyzer_error::StaticAnalyzerError"]],["impl RefUnwindSafe for StaticAnalyzerWarning",1,["leo_errors::errors::static_analyzer::static_analyzer_warning::StaticAnalyzerWarning"]],["impl RefUnwindSafe for TypeCheckerError",1,["leo_errors::errors::type_checker::type_checker_error::TypeCheckerError"]],["impl RefUnwindSafe for TypeCheckerWarning",1,["leo_errors::errors::type_checker::type_checker_warning::TypeCheckerWarning"]],["impl RefUnwindSafe for UtilError",1,["leo_errors::errors::utils::util_errors::UtilError"]],["impl RefUnwindSafe for Backtraced",1,["leo_errors::common::backtraced::Backtraced"]],["impl RefUnwindSafe for Formatted",1,["leo_errors::common::formatted::Formatted"]],["impl RefUnwindSafe for StderrEmitter",1,["leo_errors::emitter::StderrEmitter"]],["impl<T> RefUnwindSafe for Buffer<T>
where\n T: RefUnwindSafe,
",1,["leo_errors::emitter::Buffer"]]]],["leo_lang",[["impl RefUnwindSafe for Commands",1,["leo_lang::cli::cli::Commands"]],["impl RefUnwindSafe for Account",1,["leo_lang::cli::commands::account::Account"]],["impl RefUnwindSafe for ExampleVariant",1,["leo_lang::cli::commands::example::ExampleVariant"]],["impl RefUnwindSafe for QueryCommands",1,["leo_lang::cli::commands::query::QueryCommands"]],["impl RefUnwindSafe for CLI",1,["leo_lang::cli::cli::CLI"]],["impl RefUnwindSafe for LeoAdd",1,["leo_lang::cli::commands::add::LeoAdd"]],["impl RefUnwindSafe for LeoBuild",1,["leo_lang::cli::commands::build::LeoBuild"]],["impl RefUnwindSafe for LeoClean",1,["leo_lang::cli::commands::clean::LeoClean"]],["impl RefUnwindSafe for Deploy",1,["leo_lang::cli::commands::deploy::Deploy"]],["impl RefUnwindSafe for LeoExample",1,["leo_lang::cli::commands::example::LeoExample"]],["impl RefUnwindSafe for LeoExecute",1,["leo_lang::cli::commands::execute::LeoExecute"]],["impl RefUnwindSafe for LeoNew",1,["leo_lang::cli::commands::new::LeoNew"]],["impl RefUnwindSafe for LeoBlock",1,["leo_lang::cli::commands::query::block::LeoBlock"]],["impl RefUnwindSafe for LeoCommittee",1,["leo_lang::cli::commands::query::committee::LeoCommittee"]],["impl RefUnwindSafe for LeoMempool",1,["leo_lang::cli::commands::query::mempool::LeoMempool"]],["impl RefUnwindSafe for LeoPeers",1,["leo_lang::cli::commands::query::peers::LeoPeers"]],["impl RefUnwindSafe for LeoProgram",1,["leo_lang::cli::commands::query::program::LeoProgram"]],["impl RefUnwindSafe for StateRoot",1,["leo_lang::cli::commands::query::state_root::StateRoot"]],["impl RefUnwindSafe for LeoQuery",1,["leo_lang::cli::commands::query::LeoQuery"]],["impl RefUnwindSafe for LeoTransaction",1,["leo_lang::cli::commands::query::transaction::LeoTransaction"]],["impl RefUnwindSafe for LeoRemove",1,["leo_lang::cli::commands::remove::LeoRemove"]],["impl RefUnwindSafe for LeoRun",1,["leo_lang::cli::commands::run::LeoRun"]],["impl RefUnwindSafe for BuildOptions",1,["leo_lang::cli::commands::BuildOptions"]],["impl RefUnwindSafe for FeeOptions",1,["leo_lang::cli::commands::FeeOptions"]],["impl RefUnwindSafe for LeoUpdate",1,["leo_lang::cli::commands::update::LeoUpdate"]],["impl RefUnwindSafe for Context",1,["leo_lang::cli::helpers::context::Context"]],["impl RefUnwindSafe for Updater",1,["leo_lang::cli::helpers::updater::Updater"]],["impl<F, T> RefUnwindSafe for Format<F, T>
where\n F: RefUnwindSafe,\n T: RefUnwindSafe,
",1,["leo_lang::cli::helpers::logger::Format"]]]],["leo_package",[["impl RefUnwindSafe for Snapshot",1,["leo_package::outputs::ast_snapshot::Snapshot"]],["impl RefUnwindSafe for BuildDirectory",1,["leo_package::build::directory::BuildDirectory"]],["impl RefUnwindSafe for ImportsDirectory",1,["leo_package::imports::directory::ImportsDirectory"]],["impl RefUnwindSafe for InputsDirectory",1,["leo_package::inputs::directory::InputsDirectory"]],["impl RefUnwindSafe for SnapshotFile",1,["leo_package::outputs::ast_snapshot::SnapshotFile"]],["impl RefUnwindSafe for ChecksumFile",1,["leo_package::outputs::checksum::ChecksumFile"]],["impl RefUnwindSafe for CircuitFile",1,["leo_package::outputs::circuit::CircuitFile"]],["impl RefUnwindSafe for OutputsDirectory",1,["leo_package::outputs::directory::OutputsDirectory"]],["impl RefUnwindSafe for Package",1,["leo_package::package::Package"]],["impl RefUnwindSafe for Gitignore",1,["leo_package::root::gitignore::Gitignore"]],["impl RefUnwindSafe for SourceDirectory",1,["leo_package::source::directory::SourceDirectory"]],["impl RefUnwindSafe for MainFile",1,["leo_package::source::main::MainFile"]],["impl<N> RefUnwindSafe for Env<N>
where\n <N as Environment>::Field: RefUnwindSafe,\n <N as Environment>::Scalar: RefUnwindSafe,
",1,["leo_package::root::env::Env"]]]],["leo_parser",[["impl RefUnwindSafe for Delimiter",1,["leo_parser::tokenizer::token::Delimiter"]],["impl RefUnwindSafe for Token",1,["leo_parser::tokenizer::token::Token"]],["impl RefUnwindSafe for SpannedToken",1,["leo_parser::tokenizer::lexer::SpannedToken"]],["impl<'a, N> !RefUnwindSafe for ParserContext<'a, N>",1,["leo_parser::parser::context::ParserContext"]]]],["leo_passes",[["impl !RefUnwindSafe for Assigner",1,["leo_passes::common::assigner::Assigner"]],["impl !RefUnwindSafe for ConstantPropagationTable",1,["leo_passes::common::constant_propagation_table::ConstantPropagationTable"]],["impl !RefUnwindSafe for SymbolTable",1,["leo_passes::common::symbol_table::SymbolTable"]],["impl !RefUnwindSafe for TypeTable",1,["leo_passes::common::type_table::TypeTable"]],["impl RefUnwindSafe for VariableType",1,["leo_passes::common::symbol_table::variable_symbol::VariableType"]],["impl RefUnwindSafe for Guard",1,["leo_passes::flattening::flattener::Guard"]],["impl RefUnwindSafe for ReturnGuard",1,["leo_passes::flattening::flattener::ReturnGuard"]],["impl RefUnwindSafe for Clusivity",1,["leo_passes::loop_unrolling::range_iterator::Clusivity"]],["impl RefUnwindSafe for Position",1,["leo_passes::static_analysis::future_checker::Position"]],["impl RefUnwindSafe for AssignerInner",1,["leo_passes::common::assigner::AssignerInner"]],["impl RefUnwindSafe for RenameTable",1,["leo_passes::common::rename_table::RenameTable"]],["impl RefUnwindSafe for FunctionSymbol",1,["leo_passes::common::symbol_table::function_symbol::FunctionSymbol"]],["impl RefUnwindSafe for VariableSymbol",1,["leo_passes::common::symbol_table::variable_symbol::VariableSymbol"]],["impl RefUnwindSafe for AwaitChecker",1,["leo_passes::static_analysis::await_checker::AwaitChecker"]],["impl RefUnwindSafe for ScopeState",1,["leo_passes::type_checking::scope_state::ScopeState"]],["impl<'a> !RefUnwindSafe for CodeGenerator<'a>",1,["leo_passes::code_generation::generator::CodeGenerator"]],["impl<'a> !RefUnwindSafe for DeadCodeEliminator<'a>",1,["leo_passes::dead_code_elimination::dead_code_eliminator::DeadCodeEliminator"]],["impl<'a> !RefUnwindSafe for Destructurer<'a>",1,["leo_passes::destructuring::destructurer::Destructurer"]],["impl<'a> !RefUnwindSafe for Flattener<'a>",1,["leo_passes::flattening::flattener::Flattener"]],["impl<'a> !RefUnwindSafe for AssignmentRenamer<'a>",1,["leo_passes::function_inlining::assignment_renamer::AssignmentRenamer"]],["impl<'a> !RefUnwindSafe for FunctionInliner<'a>",1,["leo_passes::function_inlining::function_inliner::FunctionInliner"]],["impl<'a> !RefUnwindSafe for Unroller<'a>",1,["leo_passes::loop_unrolling::unroller::Unroller"]],["impl<'a> !RefUnwindSafe for FutureChecker<'a>",1,["leo_passes::static_analysis::future_checker::FutureChecker"]],["impl<'a> !RefUnwindSafe for StaticSingleAssigner<'a>",1,["leo_passes::static_single_assignment::static_single_assigner::StaticSingleAssigner"]],["impl<'a> !RefUnwindSafe for SymbolTableCreator<'a>",1,["leo_passes::symbol_table_creation::creator::SymbolTableCreator"]],["impl<'a, N> !RefUnwindSafe for StaticAnalyzer<'a, N>",1,["leo_passes::static_analysis::analyzer::StaticAnalyzer"]],["impl<'a, N> !RefUnwindSafe for TypeChecker<'a, N>",1,["leo_passes::type_checking::checker::TypeChecker"]],["impl<F> RefUnwindSafe for Replacer<F>
where\n F: RefUnwindSafe,
",1,["leo_passes::common::replacer::Replacer"]],["impl<I> RefUnwindSafe for RangeIterator<I>
where\n I: RefUnwindSafe,
",1,["leo_passes::loop_unrolling::range_iterator::RangeIterator"]],["impl<N> RefUnwindSafe for DiGraphError<N>
where\n N: RefUnwindSafe,
",1,["leo_passes::common::graph::DiGraphError"]],["impl<N> RefUnwindSafe for DiGraph<N>
where\n N: RefUnwindSafe,
",1,["leo_passes::common::graph::DiGraph"]],["impl<N> RefUnwindSafe for TreeNode<N>
where\n N: RefUnwindSafe,
",1,["leo_passes::common::tree_node::TreeNode"]]]],["leo_retriever",[["impl RefUnwindSafe for Location",1,["leo_retriever::program_context::location::Location"]],["impl RefUnwindSafe for NetworkName",1,["leo_retriever::program_context::network_name::NetworkName"]],["impl RefUnwindSafe for Dependency",1,["leo_retriever::program_context::dependency::Dependency"]],["impl RefUnwindSafe for LockFileEntry",1,["leo_retriever::program_context::lock_file_entry::LockFileEntry"]],["impl RefUnwindSafe for Manifest",1,["leo_retriever::program_context::manifest::Manifest"]],["impl RefUnwindSafe for ProgramContext",1,["leo_retriever::program_context::ProgramContext"]],["impl<N> RefUnwindSafe for Retriever<N>
where\n N: RefUnwindSafe,
",1,["leo_retriever::retriever::Retriever"]]]],["leo_span",[["impl !RefUnwindSafe for SourceMap",1,["leo_span::source_map::SourceMap"]],["impl !RefUnwindSafe for Interner",1,["leo_span::symbol::Interner"]],["impl !RefUnwindSafe for SessionGlobals",1,["leo_span::symbol::SessionGlobals"]],["impl RefUnwindSafe for FileName",1,["leo_span::source_map::FileName"]],["impl RefUnwindSafe for InternedStr",1,["leo_span::symbol::InternedStr"]],["impl RefUnwindSafe for LineCol",1,["leo_span::source_map::LineCol"]],["impl RefUnwindSafe for MultiByteChar",1,["leo_span::source_map::MultiByteChar"]],["impl RefUnwindSafe for SourceFile",1,["leo_span::source_map::SourceFile"]],["impl RefUnwindSafe for SourceMapInner",1,["leo_span::source_map::SourceMapInner"]],["impl RefUnwindSafe for SpanLocation",1,["leo_span::source_map::SpanLocation"]],["impl RefUnwindSafe for BytePos",1,["leo_span::span::BytePos"]],["impl RefUnwindSafe for CharPos",1,["leo_span::span::CharPos"]],["impl RefUnwindSafe for Span",1,["leo_span::span::Span"]],["impl RefUnwindSafe for SpanMapVisitor",1,["leo_span::span_json::SpanMapVisitor"]],["impl RefUnwindSafe for InnerInterner",1,["leo_span::symbol::InnerInterner"]],["impl RefUnwindSafe for Symbol",1,["leo_span::symbol::Symbol"]]]],["leo_test_framework",[["impl RefUnwindSafe for TestError",1,["leo_test_framework::error::TestError"]],["impl RefUnwindSafe for ParseType",1,["leo_test_framework::runner::ParseType"]],["impl RefUnwindSafe for TestExpectationMode",1,["leo_test_framework::test::TestExpectationMode"]],["impl RefUnwindSafe for TestFailure",1,["leo_test_framework::error::TestFailure"]],["impl RefUnwindSafe for TestExpectation",1,["leo_test_framework::output::TestExpectation"]],["impl RefUnwindSafe for Test",1,["leo_test_framework::runner::Test"]],["impl RefUnwindSafe for TestCases",1,["leo_test_framework::runner::TestCases"]],["impl RefUnwindSafe for TestConfig",1,["leo_test_framework::test::TestConfig"]]]]]); + var implementors = Object.fromEntries([["leo_abnf",[["impl RefUnwindSafe for Scope",1,["leo_abnf::Scope"]],["impl<'a> RefUnwindSafe for Processor<'a>",1,["leo_abnf::Processor"]]]],["leo_ast",[["impl !RefUnwindSafe for Statement",1,["leo_ast::statement::Statement"]],["impl !RefUnwindSafe for NodeBuilder",1,["leo_ast::common::node_builder::NodeBuilder"]],["impl !RefUnwindSafe for Function",1,["leo_ast::functions::Function"]],["impl !RefUnwindSafe for ProgramScope",1,["leo_ast::program::program_scope::ProgramScope"]],["impl !RefUnwindSafe for Program",1,["leo_ast::program::Program"]],["impl !RefUnwindSafe for Block",1,["leo_ast::statement::block::Block"]],["impl !RefUnwindSafe for ConditionalStatement",1,["leo_ast::statement::conditional::ConditionalStatement"]],["impl !RefUnwindSafe for IterationStatement",1,["leo_ast::statement::iteration::IterationStatement"]],["impl !RefUnwindSafe for Ast",1,["leo_ast::Ast"]],["impl RefUnwindSafe for AccessExpression",1,["leo_ast::expressions::access::AccessExpression"]],["impl RefUnwindSafe for BinaryOperation",1,["leo_ast::expressions::binary::BinaryOperation"]],["impl RefUnwindSafe for Expression",1,["leo_ast::expressions::Expression"]],["impl RefUnwindSafe for Literal",1,["leo_ast::expressions::literal::Literal"]],["impl RefUnwindSafe for UnaryOperation",1,["leo_ast::expressions::unary::UnaryOperation"]],["impl RefUnwindSafe for CoreFunction",1,["leo_ast::functions::core_function::CoreFunction"]],["impl RefUnwindSafe for Mode",1,["leo_ast::functions::mode::Mode"]],["impl RefUnwindSafe for Variant",1,["leo_ast::functions::variant::Variant"]],["impl RefUnwindSafe for GroupCoordinate",1,["leo_ast::groups::group_coordinate::GroupCoordinate"]],["impl RefUnwindSafe for GroupLiteral",1,["leo_ast::groups::group_literal::GroupLiteral"]],["impl RefUnwindSafe for AssertVariant",1,["leo_ast::statement::assert::AssertVariant"]],["impl RefUnwindSafe for ConsoleFunction",1,["leo_ast::statement::console::console_function::ConsoleFunction"]],["impl RefUnwindSafe for DeclarationType",1,["leo_ast::statement::definition::declaration_type::DeclarationType"]],["impl RefUnwindSafe for CoreConstant",1,["leo_ast::types::core_constant::CoreConstant"]],["impl RefUnwindSafe for IntegerType",1,["leo_ast::types::integer_type::IntegerType"]],["impl RefUnwindSafe for Type",1,["leo_ast::types::type_::Type"]],["impl RefUnwindSafe for Value",1,["leo_ast::value::Value"]],["impl RefUnwindSafe for ArrayAccess",1,["leo_ast::access::array_access::ArrayAccess"]],["impl RefUnwindSafe for AssociatedConstant",1,["leo_ast::access::associated_constant_access::AssociatedConstant"]],["impl RefUnwindSafe for AssociatedFunction",1,["leo_ast::access::associated_function_access::AssociatedFunction"]],["impl RefUnwindSafe for MemberAccess",1,["leo_ast::access::member_access::MemberAccess"]],["impl RefUnwindSafe for TupleAccess",1,["leo_ast::access::tuple_access::TupleAccess"]],["impl RefUnwindSafe for Identifier",1,["leo_ast::common::identifier::Identifier"]],["impl RefUnwindSafe for Location",1,["leo_ast::common::location::Location"]],["impl RefUnwindSafe for NodeBuilderInner",1,["leo_ast::common::node_builder::NodeBuilderInner"]],["impl RefUnwindSafe for NonNegativeNumber",1,["leo_ast::common::positive_number::NonNegativeNumber"]],["impl RefUnwindSafe for StaticString",1,["leo_ast::common::static_string::StaticString"]],["impl RefUnwindSafe for ArrayExpression",1,["leo_ast::expressions::array::ArrayExpression"]],["impl RefUnwindSafe for BinaryExpression",1,["leo_ast::expressions::binary::BinaryExpression"]],["impl RefUnwindSafe for CallExpression",1,["leo_ast::expressions::call::CallExpression"]],["impl RefUnwindSafe for CastExpression",1,["leo_ast::expressions::cast::CastExpression"]],["impl RefUnwindSafe for ErrExpression",1,["leo_ast::expressions::err::ErrExpression"]],["impl RefUnwindSafe for LocatorExpression",1,["leo_ast::expressions::locator::LocatorExpression"]],["impl RefUnwindSafe for StructExpression",1,["leo_ast::expressions::struct_init::StructExpression"]],["impl RefUnwindSafe for StructVariableInitializer",1,["leo_ast::expressions::struct_init::StructVariableInitializer"]],["impl RefUnwindSafe for TernaryExpression",1,["leo_ast::expressions::ternary::TernaryExpression"]],["impl RefUnwindSafe for TupleExpression",1,["leo_ast::expressions::tuple::TupleExpression"]],["impl RefUnwindSafe for UnaryExpression",1,["leo_ast::expressions::unary::UnaryExpression"]],["impl RefUnwindSafe for UnitExpression",1,["leo_ast::expressions::unit::UnitExpression"]],["impl RefUnwindSafe for Annotation",1,["leo_ast::functions::annotation::Annotation"]],["impl RefUnwindSafe for Input",1,["leo_ast::functions::input::Input"]],["impl RefUnwindSafe for Output",1,["leo_ast::functions::output::Output"]],["impl RefUnwindSafe for GroupTuple",1,["leo_ast::groups::group_literal::GroupTuple"]],["impl RefUnwindSafe for Mapping",1,["leo_ast::mapping::Mapping"]],["impl RefUnwindSafe for ProgramId",1,["leo_ast::program::program_id::ProgramId"]],["impl RefUnwindSafe for AssertStatement",1,["leo_ast::statement::assert::AssertStatement"]],["impl RefUnwindSafe for AssignStatement",1,["leo_ast::statement::assign::AssignStatement"]],["impl RefUnwindSafe for ConsoleStatement",1,["leo_ast::statement::console::console_statement::ConsoleStatement"]],["impl RefUnwindSafe for ConstDeclaration",1,["leo_ast::statement::const_::ConstDeclaration"]],["impl RefUnwindSafe for DefinitionStatement",1,["leo_ast::statement::definition::DefinitionStatement"]],["impl RefUnwindSafe for ExpressionStatement",1,["leo_ast::statement::expression::ExpressionStatement"]],["impl RefUnwindSafe for ReturnStatement",1,["leo_ast::statement::return_::ReturnStatement"]],["impl RefUnwindSafe for Member",1,["leo_ast::struct::member::Member"]],["impl RefUnwindSafe for Composite",1,["leo_ast::struct::Composite"]],["impl RefUnwindSafe for FunctionStub",1,["leo_ast::stub::function_stub::FunctionStub"]],["impl RefUnwindSafe for Stub",1,["leo_ast::stub::Stub"]],["impl RefUnwindSafe for ArrayType",1,["leo_ast::types::array::ArrayType"]],["impl RefUnwindSafe for FutureType",1,["leo_ast::types::future::FutureType"]],["impl RefUnwindSafe for MappingType",1,["leo_ast::types::mapping::MappingType"]],["impl RefUnwindSafe for CompositeType",1,["leo_ast::types::struct_type::CompositeType"]],["impl RefUnwindSafe for TupleType",1,["leo_ast::types::tuple::TupleType"]],["impl<'a> RefUnwindSafe for DisplayDecimal<'a>",1,["leo_ast::expressions::literal::DisplayDecimal"]]]],["leo_compiler",[["impl RefUnwindSafe for BuildOptions",1,["leo_compiler::options::BuildOptions"]],["impl RefUnwindSafe for CompilerOptions",1,["leo_compiler::options::CompilerOptions"]],["impl RefUnwindSafe for OutputOptions",1,["leo_compiler::options::OutputOptions"]],["impl<'a, N> !RefUnwindSafe for Compiler<'a, N>",1,["leo_compiler::compiler::Compiler"]]]],["leo_errors",[["impl !RefUnwindSafe for BufferEmitter",1,["leo_errors::emitter::BufferEmitter"]],["impl !RefUnwindSafe for Handler",1,["leo_errors::emitter::Handler"]],["impl !RefUnwindSafe for HandlerInner",1,["leo_errors::emitter::HandlerInner"]],["impl RefUnwindSafe for AstError",1,["leo_errors::errors::ast::ast_errors::AstError"]],["impl RefUnwindSafe for CliError",1,["leo_errors::errors::cli::cli_errors::CliError"]],["impl RefUnwindSafe for CompilerError",1,["leo_errors::errors::compiler::compiler_errors::CompilerError"]],["impl RefUnwindSafe for LeoError",1,["leo_errors::errors::LeoError"]],["impl RefUnwindSafe for LeoWarning",1,["leo_errors::errors::LeoWarning"]],["impl RefUnwindSafe for FlattenError",1,["leo_errors::errors::flattener::flattener_errors::FlattenError"]],["impl RefUnwindSafe for LoopUnrollerError",1,["leo_errors::errors::loop_unroller::loop_unroller_errors::LoopUnrollerError"]],["impl RefUnwindSafe for PackageError",1,["leo_errors::errors::package::package_errors::PackageError"]],["impl RefUnwindSafe for ParserError",1,["leo_errors::errors::parser::parser_errors::ParserError"]],["impl RefUnwindSafe for ParserWarning",1,["leo_errors::errors::parser::parser_warnings::ParserWarning"]],["impl RefUnwindSafe for StaticAnalyzerError",1,["leo_errors::errors::static_analyzer::static_analyzer_error::StaticAnalyzerError"]],["impl RefUnwindSafe for StaticAnalyzerWarning",1,["leo_errors::errors::static_analyzer::static_analyzer_warning::StaticAnalyzerWarning"]],["impl RefUnwindSafe for TypeCheckerError",1,["leo_errors::errors::type_checker::type_checker_error::TypeCheckerError"]],["impl RefUnwindSafe for TypeCheckerWarning",1,["leo_errors::errors::type_checker::type_checker_warning::TypeCheckerWarning"]],["impl RefUnwindSafe for UtilError",1,["leo_errors::errors::utils::util_errors::UtilError"]],["impl RefUnwindSafe for Backtraced",1,["leo_errors::common::backtraced::Backtraced"]],["impl RefUnwindSafe for Formatted",1,["leo_errors::common::formatted::Formatted"]],["impl RefUnwindSafe for StderrEmitter",1,["leo_errors::emitter::StderrEmitter"]],["impl RefUnwindSafe for InterpreterHalt",1,["leo_errors::errors::interpreter_halt::InterpreterHalt"]],["impl<T> RefUnwindSafe for Buffer<T>
where\n T: RefUnwindSafe,
",1,["leo_errors::emitter::Buffer"]]]],["leo_interpreter",[["impl !RefUnwindSafe for Interpreter",1,["leo_interpreter::interpreter::Interpreter"]],["impl RefUnwindSafe for InterpreterAction",1,["leo_interpreter::interpreter::InterpreterAction"]],["impl RefUnwindSafe for Value",1,["leo_interpreter::value::Value"]],["impl RefUnwindSafe for ContextStack",1,["leo_interpreter::cursor::ContextStack"]],["impl RefUnwindSafe for FunctionContext",1,["leo_interpreter::cursor::FunctionContext"]],["impl RefUnwindSafe for GlobalId",1,["leo_interpreter::cursor::GlobalId"]],["impl RefUnwindSafe for StepResult",1,["leo_interpreter::cursor::StepResult"]],["impl RefUnwindSafe for DialoguerUi",1,["leo_interpreter::dialoguer_input::DialoguerUi"]],["impl RefUnwindSafe for Breakpoint",1,["leo_interpreter::interpreter::Breakpoint"]],["impl RefUnwindSafe for Watchpoint",1,["leo_interpreter::interpreter::Watchpoint"]],["impl RefUnwindSafe for DebuggerLayout",1,["leo_interpreter::ratatui_ui::DebuggerLayout"]],["impl RefUnwindSafe for DrawData",1,["leo_interpreter::ratatui_ui::DrawData"]],["impl RefUnwindSafe for Prompt",1,["leo_interpreter::ratatui_ui::Prompt"]],["impl RefUnwindSafe for RatatuiUi",1,["leo_interpreter::ratatui_ui::RatatuiUi"]],["impl RefUnwindSafe for AsyncExecution",1,["leo_interpreter::value::AsyncExecution"]],["impl RefUnwindSafe for Future",1,["leo_interpreter::value::Future"]],["impl RefUnwindSafe for StructContents",1,["leo_interpreter::value::StructContents"]],["impl<'a> !RefUnwindSafe for Element<'a>",1,["leo_interpreter::cursor::Element"]],["impl<'a> !RefUnwindSafe for FunctionVariant<'a>",1,["leo_interpreter::cursor::FunctionVariant"]],["impl<'a> !RefUnwindSafe for Cursor<'a>",1,["leo_interpreter::cursor::Cursor"]],["impl<'a> !RefUnwindSafe for Frame<'a>",1,["leo_interpreter::cursor::Frame"]],["impl<'a> RefUnwindSafe for AleoContext<'a>",1,["leo_interpreter::cursor::AleoContext"]],["impl<'a> RefUnwindSafe for UserData<'a>",1,["leo_interpreter::ui::UserData"]]]],["leo_lang",[["impl RefUnwindSafe for Commands",1,["leo_lang::cli::cli::Commands"]],["impl RefUnwindSafe for Account",1,["leo_lang::cli::commands::account::Account"]],["impl RefUnwindSafe for ExampleVariant",1,["leo_lang::cli::commands::example::ExampleVariant"]],["impl RefUnwindSafe for QueryCommands",1,["leo_lang::cli::commands::query::QueryCommands"]],["impl RefUnwindSafe for CLI",1,["leo_lang::cli::cli::CLI"]],["impl RefUnwindSafe for LeoAdd",1,["leo_lang::cli::commands::add::LeoAdd"]],["impl RefUnwindSafe for LeoBuild",1,["leo_lang::cli::commands::build::LeoBuild"]],["impl RefUnwindSafe for LeoClean",1,["leo_lang::cli::commands::clean::LeoClean"]],["impl RefUnwindSafe for LeoDebug",1,["leo_lang::cli::commands::debug::LeoDebug"]],["impl RefUnwindSafe for Deploy",1,["leo_lang::cli::commands::deploy::Deploy"]],["impl RefUnwindSafe for LeoExample",1,["leo_lang::cli::commands::example::LeoExample"]],["impl RefUnwindSafe for LeoExecute",1,["leo_lang::cli::commands::execute::LeoExecute"]],["impl RefUnwindSafe for LeoNew",1,["leo_lang::cli::commands::new::LeoNew"]],["impl RefUnwindSafe for LeoBlock",1,["leo_lang::cli::commands::query::block::LeoBlock"]],["impl RefUnwindSafe for LeoCommittee",1,["leo_lang::cli::commands::query::committee::LeoCommittee"]],["impl RefUnwindSafe for LeoMempool",1,["leo_lang::cli::commands::query::mempool::LeoMempool"]],["impl RefUnwindSafe for LeoPeers",1,["leo_lang::cli::commands::query::peers::LeoPeers"]],["impl RefUnwindSafe for LeoProgram",1,["leo_lang::cli::commands::query::program::LeoProgram"]],["impl RefUnwindSafe for StateRoot",1,["leo_lang::cli::commands::query::state_root::StateRoot"]],["impl RefUnwindSafe for LeoQuery",1,["leo_lang::cli::commands::query::LeoQuery"]],["impl RefUnwindSafe for LeoTransaction",1,["leo_lang::cli::commands::query::transaction::LeoTransaction"]],["impl RefUnwindSafe for LeoRemove",1,["leo_lang::cli::commands::remove::LeoRemove"]],["impl RefUnwindSafe for LeoRun",1,["leo_lang::cli::commands::run::LeoRun"]],["impl RefUnwindSafe for BuildOptions",1,["leo_lang::cli::commands::BuildOptions"]],["impl RefUnwindSafe for FeeOptions",1,["leo_lang::cli::commands::FeeOptions"]],["impl RefUnwindSafe for LeoUpdate",1,["leo_lang::cli::commands::update::LeoUpdate"]],["impl RefUnwindSafe for Context",1,["leo_lang::cli::helpers::context::Context"]],["impl RefUnwindSafe for Updater",1,["leo_lang::cli::helpers::updater::Updater"]],["impl<F, T> RefUnwindSafe for Format<F, T>
where\n F: RefUnwindSafe,\n T: RefUnwindSafe,
",1,["leo_lang::cli::helpers::logger::Format"]]]],["leo_package",[["impl RefUnwindSafe for Snapshot",1,["leo_package::outputs::ast_snapshot::Snapshot"]],["impl RefUnwindSafe for BuildDirectory",1,["leo_package::build::directory::BuildDirectory"]],["impl RefUnwindSafe for ImportsDirectory",1,["leo_package::imports::directory::ImportsDirectory"]],["impl RefUnwindSafe for InputsDirectory",1,["leo_package::inputs::directory::InputsDirectory"]],["impl RefUnwindSafe for SnapshotFile",1,["leo_package::outputs::ast_snapshot::SnapshotFile"]],["impl RefUnwindSafe for ChecksumFile",1,["leo_package::outputs::checksum::ChecksumFile"]],["impl RefUnwindSafe for CircuitFile",1,["leo_package::outputs::circuit::CircuitFile"]],["impl RefUnwindSafe for OutputsDirectory",1,["leo_package::outputs::directory::OutputsDirectory"]],["impl RefUnwindSafe for Package",1,["leo_package::package::Package"]],["impl RefUnwindSafe for Gitignore",1,["leo_package::root::gitignore::Gitignore"]],["impl RefUnwindSafe for SourceDirectory",1,["leo_package::source::directory::SourceDirectory"]],["impl RefUnwindSafe for MainFile",1,["leo_package::source::main::MainFile"]],["impl<N> RefUnwindSafe for Env<N>
where\n <N as Environment>::Field: RefUnwindSafe,\n <N as Environment>::Scalar: RefUnwindSafe,
",1,["leo_package::root::env::Env"]]]],["leo_parser",[["impl RefUnwindSafe for Delimiter",1,["leo_parser::tokenizer::token::Delimiter"]],["impl RefUnwindSafe for Token",1,["leo_parser::tokenizer::token::Token"]],["impl RefUnwindSafe for SpannedToken",1,["leo_parser::tokenizer::lexer::SpannedToken"]],["impl<'a, N> !RefUnwindSafe for ParserContext<'a, N>",1,["leo_parser::parser::context::ParserContext"]]]],["leo_passes",[["impl !RefUnwindSafe for Assigner",1,["leo_passes::common::assigner::Assigner"]],["impl !RefUnwindSafe for ConstantPropagationTable",1,["leo_passes::common::constant_propagation_table::ConstantPropagationTable"]],["impl !RefUnwindSafe for SymbolTable",1,["leo_passes::common::symbol_table::SymbolTable"]],["impl !RefUnwindSafe for TypeTable",1,["leo_passes::common::type_table::TypeTable"]],["impl RefUnwindSafe for VariableType",1,["leo_passes::common::symbol_table::variable_symbol::VariableType"]],["impl RefUnwindSafe for Guard",1,["leo_passes::flattening::flattener::Guard"]],["impl RefUnwindSafe for ReturnGuard",1,["leo_passes::flattening::flattener::ReturnGuard"]],["impl RefUnwindSafe for Clusivity",1,["leo_passes::loop_unrolling::range_iterator::Clusivity"]],["impl RefUnwindSafe for Position",1,["leo_passes::static_analysis::future_checker::Position"]],["impl RefUnwindSafe for AssignerInner",1,["leo_passes::common::assigner::AssignerInner"]],["impl RefUnwindSafe for RenameTable",1,["leo_passes::common::rename_table::RenameTable"]],["impl RefUnwindSafe for FunctionSymbol",1,["leo_passes::common::symbol_table::function_symbol::FunctionSymbol"]],["impl RefUnwindSafe for VariableSymbol",1,["leo_passes::common::symbol_table::variable_symbol::VariableSymbol"]],["impl RefUnwindSafe for AwaitChecker",1,["leo_passes::static_analysis::await_checker::AwaitChecker"]],["impl RefUnwindSafe for ScopeState",1,["leo_passes::type_checking::scope_state::ScopeState"]],["impl<'a> !RefUnwindSafe for CodeGenerator<'a>",1,["leo_passes::code_generation::generator::CodeGenerator"]],["impl<'a> !RefUnwindSafe for DeadCodeEliminator<'a>",1,["leo_passes::dead_code_elimination::dead_code_eliminator::DeadCodeEliminator"]],["impl<'a> !RefUnwindSafe for Destructurer<'a>",1,["leo_passes::destructuring::destructurer::Destructurer"]],["impl<'a> !RefUnwindSafe for Flattener<'a>",1,["leo_passes::flattening::flattener::Flattener"]],["impl<'a> !RefUnwindSafe for AssignmentRenamer<'a>",1,["leo_passes::function_inlining::assignment_renamer::AssignmentRenamer"]],["impl<'a> !RefUnwindSafe for FunctionInliner<'a>",1,["leo_passes::function_inlining::function_inliner::FunctionInliner"]],["impl<'a> !RefUnwindSafe for Unroller<'a>",1,["leo_passes::loop_unrolling::unroller::Unroller"]],["impl<'a> !RefUnwindSafe for FutureChecker<'a>",1,["leo_passes::static_analysis::future_checker::FutureChecker"]],["impl<'a> !RefUnwindSafe for StaticSingleAssigner<'a>",1,["leo_passes::static_single_assignment::static_single_assigner::StaticSingleAssigner"]],["impl<'a> !RefUnwindSafe for SymbolTableCreator<'a>",1,["leo_passes::symbol_table_creation::creator::SymbolTableCreator"]],["impl<'a, N> !RefUnwindSafe for StaticAnalyzer<'a, N>",1,["leo_passes::static_analysis::analyzer::StaticAnalyzer"]],["impl<'a, N> !RefUnwindSafe for TypeChecker<'a, N>",1,["leo_passes::type_checking::checker::TypeChecker"]],["impl<F> RefUnwindSafe for Replacer<F>
where\n F: RefUnwindSafe,
",1,["leo_passes::common::replacer::Replacer"]],["impl<I> RefUnwindSafe for RangeIterator<I>
where\n I: RefUnwindSafe,
",1,["leo_passes::loop_unrolling::range_iterator::RangeIterator"]],["impl<N> RefUnwindSafe for DiGraphError<N>
where\n N: RefUnwindSafe,
",1,["leo_passes::common::graph::DiGraphError"]],["impl<N> RefUnwindSafe for DiGraph<N>
where\n N: RefUnwindSafe,
",1,["leo_passes::common::graph::DiGraph"]],["impl<N> RefUnwindSafe for TreeNode<N>
where\n N: RefUnwindSafe,
",1,["leo_passes::common::tree_node::TreeNode"]]]],["leo_retriever",[["impl RefUnwindSafe for Location",1,["leo_retriever::program_context::location::Location"]],["impl RefUnwindSafe for NetworkName",1,["leo_retriever::program_context::network_name::NetworkName"]],["impl RefUnwindSafe for Dependency",1,["leo_retriever::program_context::dependency::Dependency"]],["impl RefUnwindSafe for LockFileEntry",1,["leo_retriever::program_context::lock_file_entry::LockFileEntry"]],["impl RefUnwindSafe for Manifest",1,["leo_retriever::program_context::manifest::Manifest"]],["impl RefUnwindSafe for ProgramContext",1,["leo_retriever::program_context::ProgramContext"]],["impl<N> RefUnwindSafe for Retriever<N>
where\n N: RefUnwindSafe,
",1,["leo_retriever::retriever::Retriever"]]]],["leo_span",[["impl !RefUnwindSafe for SourceMap",1,["leo_span::source_map::SourceMap"]],["impl !RefUnwindSafe for Interner",1,["leo_span::symbol::Interner"]],["impl !RefUnwindSafe for SessionGlobals",1,["leo_span::symbol::SessionGlobals"]],["impl RefUnwindSafe for FileName",1,["leo_span::source_map::FileName"]],["impl RefUnwindSafe for InternedStr",1,["leo_span::symbol::InternedStr"]],["impl RefUnwindSafe for LineCol",1,["leo_span::source_map::LineCol"]],["impl RefUnwindSafe for MultiByteChar",1,["leo_span::source_map::MultiByteChar"]],["impl RefUnwindSafe for SourceFile",1,["leo_span::source_map::SourceFile"]],["impl RefUnwindSafe for SourceMapInner",1,["leo_span::source_map::SourceMapInner"]],["impl RefUnwindSafe for SpanLocation",1,["leo_span::source_map::SpanLocation"]],["impl RefUnwindSafe for BytePos",1,["leo_span::span::BytePos"]],["impl RefUnwindSafe for CharPos",1,["leo_span::span::CharPos"]],["impl RefUnwindSafe for Span",1,["leo_span::span::Span"]],["impl RefUnwindSafe for SpanMapVisitor",1,["leo_span::span_json::SpanMapVisitor"]],["impl RefUnwindSafe for InnerInterner",1,["leo_span::symbol::InnerInterner"]],["impl RefUnwindSafe for Symbol",1,["leo_span::symbol::Symbol"]]]],["leo_test_framework",[["impl RefUnwindSafe for TestError",1,["leo_test_framework::error::TestError"]],["impl RefUnwindSafe for ParseType",1,["leo_test_framework::runner::ParseType"]],["impl RefUnwindSafe for TestExpectationMode",1,["leo_test_framework::test::TestExpectationMode"]],["impl RefUnwindSafe for TestFailure",1,["leo_test_framework::error::TestFailure"]],["impl RefUnwindSafe for TestExpectation",1,["leo_test_framework::output::TestExpectation"]],["impl RefUnwindSafe for Test",1,["leo_test_framework::runner::Test"]],["impl RefUnwindSafe for TestCases",1,["leo_test_framework::runner::TestCases"]],["impl RefUnwindSafe for TestConfig",1,["leo_test_framework::test::TestConfig"]]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[678,28440,1581,9576,11595,5734,1605,15384,3242,5829,3133]} \ No newline at end of file +//{"start":57,"fragment_lengths":[678,28440,1581,10015,8999,11987,5734,1605,15384,3242,5829,3133]} \ No newline at end of file diff --git a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js index e420fe45cb..312f03d5a5 100644 --- a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["leo_abnf",[["impl UnwindSafe for Scope",1,["leo_abnf::Scope"]],["impl<'a> UnwindSafe for Processor<'a>",1,["leo_abnf::Processor"]]]],["leo_ast",[["impl UnwindSafe for AccessExpression",1,["leo_ast::expressions::access::AccessExpression"]],["impl UnwindSafe for BinaryOperation",1,["leo_ast::expressions::binary::BinaryOperation"]],["impl UnwindSafe for Expression",1,["leo_ast::expressions::Expression"]],["impl UnwindSafe for Literal",1,["leo_ast::expressions::literal::Literal"]],["impl UnwindSafe for UnaryOperation",1,["leo_ast::expressions::unary::UnaryOperation"]],["impl UnwindSafe for CoreFunction",1,["leo_ast::functions::core_function::CoreFunction"]],["impl UnwindSafe for Mode",1,["leo_ast::functions::mode::Mode"]],["impl UnwindSafe for Variant",1,["leo_ast::functions::variant::Variant"]],["impl UnwindSafe for GroupCoordinate",1,["leo_ast::groups::group_coordinate::GroupCoordinate"]],["impl UnwindSafe for GroupLiteral",1,["leo_ast::groups::group_literal::GroupLiteral"]],["impl UnwindSafe for AssertVariant",1,["leo_ast::statement::assert::AssertVariant"]],["impl UnwindSafe for ConsoleFunction",1,["leo_ast::statement::console::console_function::ConsoleFunction"]],["impl UnwindSafe for DeclarationType",1,["leo_ast::statement::definition::declaration_type::DeclarationType"]],["impl UnwindSafe for Statement",1,["leo_ast::statement::Statement"]],["impl UnwindSafe for CoreConstant",1,["leo_ast::types::core_constant::CoreConstant"]],["impl UnwindSafe for IntegerType",1,["leo_ast::types::integer_type::IntegerType"]],["impl UnwindSafe for Type",1,["leo_ast::types::type_::Type"]],["impl UnwindSafe for Value",1,["leo_ast::value::Value"]],["impl UnwindSafe for ArrayAccess",1,["leo_ast::access::array_access::ArrayAccess"]],["impl UnwindSafe for AssociatedConstant",1,["leo_ast::access::associated_constant_access::AssociatedConstant"]],["impl UnwindSafe for AssociatedFunction",1,["leo_ast::access::associated_function_access::AssociatedFunction"]],["impl UnwindSafe for MemberAccess",1,["leo_ast::access::member_access::MemberAccess"]],["impl UnwindSafe for TupleAccess",1,["leo_ast::access::tuple_access::TupleAccess"]],["impl UnwindSafe for Identifier",1,["leo_ast::common::identifier::Identifier"]],["impl UnwindSafe for Location",1,["leo_ast::common::location::Location"]],["impl UnwindSafe for NodeBuilder",1,["leo_ast::common::node_builder::NodeBuilder"]],["impl UnwindSafe for NodeBuilderInner",1,["leo_ast::common::node_builder::NodeBuilderInner"]],["impl UnwindSafe for NonNegativeNumber",1,["leo_ast::common::positive_number::NonNegativeNumber"]],["impl UnwindSafe for StaticString",1,["leo_ast::common::static_string::StaticString"]],["impl UnwindSafe for ArrayExpression",1,["leo_ast::expressions::array::ArrayExpression"]],["impl UnwindSafe for BinaryExpression",1,["leo_ast::expressions::binary::BinaryExpression"]],["impl UnwindSafe for CallExpression",1,["leo_ast::expressions::call::CallExpression"]],["impl UnwindSafe for CastExpression",1,["leo_ast::expressions::cast::CastExpression"]],["impl UnwindSafe for ErrExpression",1,["leo_ast::expressions::err::ErrExpression"]],["impl UnwindSafe for LocatorExpression",1,["leo_ast::expressions::locator::LocatorExpression"]],["impl UnwindSafe for StructExpression",1,["leo_ast::expressions::struct_init::StructExpression"]],["impl UnwindSafe for StructVariableInitializer",1,["leo_ast::expressions::struct_init::StructVariableInitializer"]],["impl UnwindSafe for TernaryExpression",1,["leo_ast::expressions::ternary::TernaryExpression"]],["impl UnwindSafe for TupleExpression",1,["leo_ast::expressions::tuple::TupleExpression"]],["impl UnwindSafe for UnaryExpression",1,["leo_ast::expressions::unary::UnaryExpression"]],["impl UnwindSafe for UnitExpression",1,["leo_ast::expressions::unit::UnitExpression"]],["impl UnwindSafe for Annotation",1,["leo_ast::functions::annotation::Annotation"]],["impl UnwindSafe for Input",1,["leo_ast::functions::input::Input"]],["impl UnwindSafe for Output",1,["leo_ast::functions::output::Output"]],["impl UnwindSafe for Function",1,["leo_ast::functions::Function"]],["impl UnwindSafe for GroupTuple",1,["leo_ast::groups::group_literal::GroupTuple"]],["impl UnwindSafe for Mapping",1,["leo_ast::mapping::Mapping"]],["impl UnwindSafe for ProgramId",1,["leo_ast::program::program_id::ProgramId"]],["impl UnwindSafe for ProgramScope",1,["leo_ast::program::program_scope::ProgramScope"]],["impl UnwindSafe for Program",1,["leo_ast::program::Program"]],["impl UnwindSafe for AssertStatement",1,["leo_ast::statement::assert::AssertStatement"]],["impl UnwindSafe for AssignStatement",1,["leo_ast::statement::assign::AssignStatement"]],["impl UnwindSafe for Block",1,["leo_ast::statement::block::Block"]],["impl UnwindSafe for ConditionalStatement",1,["leo_ast::statement::conditional::ConditionalStatement"]],["impl UnwindSafe for ConsoleStatement",1,["leo_ast::statement::console::console_statement::ConsoleStatement"]],["impl UnwindSafe for ConstDeclaration",1,["leo_ast::statement::const_::ConstDeclaration"]],["impl UnwindSafe for DefinitionStatement",1,["leo_ast::statement::definition::DefinitionStatement"]],["impl UnwindSafe for ExpressionStatement",1,["leo_ast::statement::expression::ExpressionStatement"]],["impl UnwindSafe for IterationStatement",1,["leo_ast::statement::iteration::IterationStatement"]],["impl UnwindSafe for ReturnStatement",1,["leo_ast::statement::return_::ReturnStatement"]],["impl UnwindSafe for Ast",1,["leo_ast::Ast"]],["impl UnwindSafe for Member",1,["leo_ast::struct::member::Member"]],["impl UnwindSafe for Composite",1,["leo_ast::struct::Composite"]],["impl UnwindSafe for FunctionStub",1,["leo_ast::stub::function_stub::FunctionStub"]],["impl UnwindSafe for Stub",1,["leo_ast::stub::Stub"]],["impl UnwindSafe for ArrayType",1,["leo_ast::types::array::ArrayType"]],["impl UnwindSafe for FutureType",1,["leo_ast::types::future::FutureType"]],["impl UnwindSafe for MappingType",1,["leo_ast::types::mapping::MappingType"]],["impl UnwindSafe for CompositeType",1,["leo_ast::types::struct_type::CompositeType"]],["impl UnwindSafe for TupleType",1,["leo_ast::types::tuple::TupleType"]],["impl<'a> UnwindSafe for DisplayDecimal<'a>",1,["leo_ast::expressions::literal::DisplayDecimal"]]]],["leo_compiler",[["impl UnwindSafe for BuildOptions",1,["leo_compiler::options::BuildOptions"]],["impl UnwindSafe for CompilerOptions",1,["leo_compiler::options::CompilerOptions"]],["impl UnwindSafe for OutputOptions",1,["leo_compiler::options::OutputOptions"]],["impl<'a, N> !UnwindSafe for Compiler<'a, N>",1,["leo_compiler::compiler::Compiler"]]]],["leo_errors",[["impl !UnwindSafe for BufferEmitter",1,["leo_errors::emitter::BufferEmitter"]],["impl !UnwindSafe for Handler",1,["leo_errors::emitter::Handler"]],["impl !UnwindSafe for HandlerInner",1,["leo_errors::emitter::HandlerInner"]],["impl UnwindSafe for AstError",1,["leo_errors::errors::ast::ast_errors::AstError"]],["impl UnwindSafe for CliError",1,["leo_errors::errors::cli::cli_errors::CliError"]],["impl UnwindSafe for CompilerError",1,["leo_errors::errors::compiler::compiler_errors::CompilerError"]],["impl UnwindSafe for LeoError",1,["leo_errors::errors::LeoError"]],["impl UnwindSafe for LeoWarning",1,["leo_errors::errors::LeoWarning"]],["impl UnwindSafe for FlattenError",1,["leo_errors::errors::flattener::flattener_errors::FlattenError"]],["impl UnwindSafe for LoopUnrollerError",1,["leo_errors::errors::loop_unroller::loop_unroller_errors::LoopUnrollerError"]],["impl UnwindSafe for PackageError",1,["leo_errors::errors::package::package_errors::PackageError"]],["impl UnwindSafe for ParserError",1,["leo_errors::errors::parser::parser_errors::ParserError"]],["impl UnwindSafe for ParserWarning",1,["leo_errors::errors::parser::parser_warnings::ParserWarning"]],["impl UnwindSafe for StaticAnalyzerError",1,["leo_errors::errors::static_analyzer::static_analyzer_error::StaticAnalyzerError"]],["impl UnwindSafe for StaticAnalyzerWarning",1,["leo_errors::errors::static_analyzer::static_analyzer_warning::StaticAnalyzerWarning"]],["impl UnwindSafe for TypeCheckerError",1,["leo_errors::errors::type_checker::type_checker_error::TypeCheckerError"]],["impl UnwindSafe for TypeCheckerWarning",1,["leo_errors::errors::type_checker::type_checker_warning::TypeCheckerWarning"]],["impl UnwindSafe for UtilError",1,["leo_errors::errors::utils::util_errors::UtilError"]],["impl UnwindSafe for Backtraced",1,["leo_errors::common::backtraced::Backtraced"]],["impl UnwindSafe for Formatted",1,["leo_errors::common::formatted::Formatted"]],["impl UnwindSafe for StderrEmitter",1,["leo_errors::emitter::StderrEmitter"]],["impl<T> UnwindSafe for Buffer<T>
where\n T: UnwindSafe,
",1,["leo_errors::emitter::Buffer"]]]],["leo_lang",[["impl UnwindSafe for Commands",1,["leo_lang::cli::cli::Commands"]],["impl UnwindSafe for Account",1,["leo_lang::cli::commands::account::Account"]],["impl UnwindSafe for ExampleVariant",1,["leo_lang::cli::commands::example::ExampleVariant"]],["impl UnwindSafe for QueryCommands",1,["leo_lang::cli::commands::query::QueryCommands"]],["impl UnwindSafe for CLI",1,["leo_lang::cli::cli::CLI"]],["impl UnwindSafe for LeoAdd",1,["leo_lang::cli::commands::add::LeoAdd"]],["impl UnwindSafe for LeoBuild",1,["leo_lang::cli::commands::build::LeoBuild"]],["impl UnwindSafe for LeoClean",1,["leo_lang::cli::commands::clean::LeoClean"]],["impl UnwindSafe for Deploy",1,["leo_lang::cli::commands::deploy::Deploy"]],["impl UnwindSafe for LeoExample",1,["leo_lang::cli::commands::example::LeoExample"]],["impl UnwindSafe for LeoExecute",1,["leo_lang::cli::commands::execute::LeoExecute"]],["impl UnwindSafe for LeoNew",1,["leo_lang::cli::commands::new::LeoNew"]],["impl UnwindSafe for LeoBlock",1,["leo_lang::cli::commands::query::block::LeoBlock"]],["impl UnwindSafe for LeoCommittee",1,["leo_lang::cli::commands::query::committee::LeoCommittee"]],["impl UnwindSafe for LeoMempool",1,["leo_lang::cli::commands::query::mempool::LeoMempool"]],["impl UnwindSafe for LeoPeers",1,["leo_lang::cli::commands::query::peers::LeoPeers"]],["impl UnwindSafe for LeoProgram",1,["leo_lang::cli::commands::query::program::LeoProgram"]],["impl UnwindSafe for StateRoot",1,["leo_lang::cli::commands::query::state_root::StateRoot"]],["impl UnwindSafe for LeoQuery",1,["leo_lang::cli::commands::query::LeoQuery"]],["impl UnwindSafe for LeoTransaction",1,["leo_lang::cli::commands::query::transaction::LeoTransaction"]],["impl UnwindSafe for LeoRemove",1,["leo_lang::cli::commands::remove::LeoRemove"]],["impl UnwindSafe for LeoRun",1,["leo_lang::cli::commands::run::LeoRun"]],["impl UnwindSafe for BuildOptions",1,["leo_lang::cli::commands::BuildOptions"]],["impl UnwindSafe for FeeOptions",1,["leo_lang::cli::commands::FeeOptions"]],["impl UnwindSafe for LeoUpdate",1,["leo_lang::cli::commands::update::LeoUpdate"]],["impl UnwindSafe for Context",1,["leo_lang::cli::helpers::context::Context"]],["impl UnwindSafe for Updater",1,["leo_lang::cli::helpers::updater::Updater"]],["impl<F, T> UnwindSafe for Format<F, T>
where\n F: UnwindSafe,\n T: UnwindSafe,
",1,["leo_lang::cli::helpers::logger::Format"]]]],["leo_package",[["impl UnwindSafe for Snapshot",1,["leo_package::outputs::ast_snapshot::Snapshot"]],["impl UnwindSafe for BuildDirectory",1,["leo_package::build::directory::BuildDirectory"]],["impl UnwindSafe for ImportsDirectory",1,["leo_package::imports::directory::ImportsDirectory"]],["impl UnwindSafe for InputsDirectory",1,["leo_package::inputs::directory::InputsDirectory"]],["impl UnwindSafe for SnapshotFile",1,["leo_package::outputs::ast_snapshot::SnapshotFile"]],["impl UnwindSafe for ChecksumFile",1,["leo_package::outputs::checksum::ChecksumFile"]],["impl UnwindSafe for CircuitFile",1,["leo_package::outputs::circuit::CircuitFile"]],["impl UnwindSafe for OutputsDirectory",1,["leo_package::outputs::directory::OutputsDirectory"]],["impl UnwindSafe for Package",1,["leo_package::package::Package"]],["impl UnwindSafe for Gitignore",1,["leo_package::root::gitignore::Gitignore"]],["impl UnwindSafe for SourceDirectory",1,["leo_package::source::directory::SourceDirectory"]],["impl UnwindSafe for MainFile",1,["leo_package::source::main::MainFile"]],["impl<N> UnwindSafe for Env<N>
where\n <N as Environment>::Field: UnwindSafe,\n <N as Environment>::Scalar: UnwindSafe,
",1,["leo_package::root::env::Env"]]]],["leo_parser",[["impl UnwindSafe for Delimiter",1,["leo_parser::tokenizer::token::Delimiter"]],["impl UnwindSafe for Token",1,["leo_parser::tokenizer::token::Token"]],["impl UnwindSafe for SpannedToken",1,["leo_parser::tokenizer::lexer::SpannedToken"]],["impl<'a, N> !UnwindSafe for ParserContext<'a, N>",1,["leo_parser::parser::context::ParserContext"]]]],["leo_passes",[["impl UnwindSafe for VariableType",1,["leo_passes::common::symbol_table::variable_symbol::VariableType"]],["impl UnwindSafe for Guard",1,["leo_passes::flattening::flattener::Guard"]],["impl UnwindSafe for ReturnGuard",1,["leo_passes::flattening::flattener::ReturnGuard"]],["impl UnwindSafe for Clusivity",1,["leo_passes::loop_unrolling::range_iterator::Clusivity"]],["impl UnwindSafe for Position",1,["leo_passes::static_analysis::future_checker::Position"]],["impl UnwindSafe for Assigner",1,["leo_passes::common::assigner::Assigner"]],["impl UnwindSafe for AssignerInner",1,["leo_passes::common::assigner::AssignerInner"]],["impl UnwindSafe for ConstantPropagationTable",1,["leo_passes::common::constant_propagation_table::ConstantPropagationTable"]],["impl UnwindSafe for RenameTable",1,["leo_passes::common::rename_table::RenameTable"]],["impl UnwindSafe for FunctionSymbol",1,["leo_passes::common::symbol_table::function_symbol::FunctionSymbol"]],["impl UnwindSafe for SymbolTable",1,["leo_passes::common::symbol_table::SymbolTable"]],["impl UnwindSafe for VariableSymbol",1,["leo_passes::common::symbol_table::variable_symbol::VariableSymbol"]],["impl UnwindSafe for TypeTable",1,["leo_passes::common::type_table::TypeTable"]],["impl UnwindSafe for AwaitChecker",1,["leo_passes::static_analysis::await_checker::AwaitChecker"]],["impl UnwindSafe for ScopeState",1,["leo_passes::type_checking::scope_state::ScopeState"]],["impl<'a> !UnwindSafe for CodeGenerator<'a>",1,["leo_passes::code_generation::generator::CodeGenerator"]],["impl<'a> !UnwindSafe for DeadCodeEliminator<'a>",1,["leo_passes::dead_code_elimination::dead_code_eliminator::DeadCodeEliminator"]],["impl<'a> !UnwindSafe for Destructurer<'a>",1,["leo_passes::destructuring::destructurer::Destructurer"]],["impl<'a> !UnwindSafe for Flattener<'a>",1,["leo_passes::flattening::flattener::Flattener"]],["impl<'a> !UnwindSafe for AssignmentRenamer<'a>",1,["leo_passes::function_inlining::assignment_renamer::AssignmentRenamer"]],["impl<'a> !UnwindSafe for FunctionInliner<'a>",1,["leo_passes::function_inlining::function_inliner::FunctionInliner"]],["impl<'a> !UnwindSafe for Unroller<'a>",1,["leo_passes::loop_unrolling::unroller::Unroller"]],["impl<'a> !UnwindSafe for FutureChecker<'a>",1,["leo_passes::static_analysis::future_checker::FutureChecker"]],["impl<'a> !UnwindSafe for StaticSingleAssigner<'a>",1,["leo_passes::static_single_assignment::static_single_assigner::StaticSingleAssigner"]],["impl<'a> !UnwindSafe for SymbolTableCreator<'a>",1,["leo_passes::symbol_table_creation::creator::SymbolTableCreator"]],["impl<'a, N> !UnwindSafe for StaticAnalyzer<'a, N>",1,["leo_passes::static_analysis::analyzer::StaticAnalyzer"]],["impl<'a, N> !UnwindSafe for TypeChecker<'a, N>",1,["leo_passes::type_checking::checker::TypeChecker"]],["impl<F> UnwindSafe for Replacer<F>
where\n F: UnwindSafe,
",1,["leo_passes::common::replacer::Replacer"]],["impl<I> UnwindSafe for RangeIterator<I>
where\n I: UnwindSafe,
",1,["leo_passes::loop_unrolling::range_iterator::RangeIterator"]],["impl<N> UnwindSafe for DiGraphError<N>
where\n N: UnwindSafe,
",1,["leo_passes::common::graph::DiGraphError"]],["impl<N> UnwindSafe for DiGraph<N>
where\n N: UnwindSafe,
",1,["leo_passes::common::graph::DiGraph"]],["impl<N> UnwindSafe for TreeNode<N>
where\n N: UnwindSafe,
",1,["leo_passes::common::tree_node::TreeNode"]]]],["leo_retriever",[["impl UnwindSafe for Location",1,["leo_retriever::program_context::location::Location"]],["impl UnwindSafe for NetworkName",1,["leo_retriever::program_context::network_name::NetworkName"]],["impl UnwindSafe for Dependency",1,["leo_retriever::program_context::dependency::Dependency"]],["impl UnwindSafe for LockFileEntry",1,["leo_retriever::program_context::lock_file_entry::LockFileEntry"]],["impl UnwindSafe for Manifest",1,["leo_retriever::program_context::manifest::Manifest"]],["impl UnwindSafe for ProgramContext",1,["leo_retriever::program_context::ProgramContext"]],["impl<N> UnwindSafe for Retriever<N>
where\n N: UnwindSafe,
",1,["leo_retriever::retriever::Retriever"]]]],["leo_span",[["impl UnwindSafe for FileName",1,["leo_span::source_map::FileName"]],["impl UnwindSafe for InternedStr",1,["leo_span::symbol::InternedStr"]],["impl UnwindSafe for LineCol",1,["leo_span::source_map::LineCol"]],["impl UnwindSafe for MultiByteChar",1,["leo_span::source_map::MultiByteChar"]],["impl UnwindSafe for SourceFile",1,["leo_span::source_map::SourceFile"]],["impl UnwindSafe for SourceMap",1,["leo_span::source_map::SourceMap"]],["impl UnwindSafe for SourceMapInner",1,["leo_span::source_map::SourceMapInner"]],["impl UnwindSafe for SpanLocation",1,["leo_span::source_map::SpanLocation"]],["impl UnwindSafe for BytePos",1,["leo_span::span::BytePos"]],["impl UnwindSafe for CharPos",1,["leo_span::span::CharPos"]],["impl UnwindSafe for Span",1,["leo_span::span::Span"]],["impl UnwindSafe for SpanMapVisitor",1,["leo_span::span_json::SpanMapVisitor"]],["impl UnwindSafe for InnerInterner",1,["leo_span::symbol::InnerInterner"]],["impl UnwindSafe for Interner",1,["leo_span::symbol::Interner"]],["impl UnwindSafe for SessionGlobals",1,["leo_span::symbol::SessionGlobals"]],["impl UnwindSafe for Symbol",1,["leo_span::symbol::Symbol"]]]],["leo_test_framework",[["impl UnwindSafe for TestError",1,["leo_test_framework::error::TestError"]],["impl UnwindSafe for ParseType",1,["leo_test_framework::runner::ParseType"]],["impl UnwindSafe for TestExpectationMode",1,["leo_test_framework::test::TestExpectationMode"]],["impl UnwindSafe for TestFailure",1,["leo_test_framework::error::TestFailure"]],["impl UnwindSafe for TestExpectation",1,["leo_test_framework::output::TestExpectation"]],["impl UnwindSafe for Test",1,["leo_test_framework::runner::Test"]],["impl UnwindSafe for TestCases",1,["leo_test_framework::runner::TestCases"]],["impl UnwindSafe for TestConfig",1,["leo_test_framework::test::TestConfig"]]]]]); + var implementors = Object.fromEntries([["leo_abnf",[["impl UnwindSafe for Scope",1,["leo_abnf::Scope"]],["impl<'a> UnwindSafe for Processor<'a>",1,["leo_abnf::Processor"]]]],["leo_ast",[["impl UnwindSafe for AccessExpression",1,["leo_ast::expressions::access::AccessExpression"]],["impl UnwindSafe for BinaryOperation",1,["leo_ast::expressions::binary::BinaryOperation"]],["impl UnwindSafe for Expression",1,["leo_ast::expressions::Expression"]],["impl UnwindSafe for Literal",1,["leo_ast::expressions::literal::Literal"]],["impl UnwindSafe for UnaryOperation",1,["leo_ast::expressions::unary::UnaryOperation"]],["impl UnwindSafe for CoreFunction",1,["leo_ast::functions::core_function::CoreFunction"]],["impl UnwindSafe for Mode",1,["leo_ast::functions::mode::Mode"]],["impl UnwindSafe for Variant",1,["leo_ast::functions::variant::Variant"]],["impl UnwindSafe for GroupCoordinate",1,["leo_ast::groups::group_coordinate::GroupCoordinate"]],["impl UnwindSafe for GroupLiteral",1,["leo_ast::groups::group_literal::GroupLiteral"]],["impl UnwindSafe for AssertVariant",1,["leo_ast::statement::assert::AssertVariant"]],["impl UnwindSafe for ConsoleFunction",1,["leo_ast::statement::console::console_function::ConsoleFunction"]],["impl UnwindSafe for DeclarationType",1,["leo_ast::statement::definition::declaration_type::DeclarationType"]],["impl UnwindSafe for Statement",1,["leo_ast::statement::Statement"]],["impl UnwindSafe for CoreConstant",1,["leo_ast::types::core_constant::CoreConstant"]],["impl UnwindSafe for IntegerType",1,["leo_ast::types::integer_type::IntegerType"]],["impl UnwindSafe for Type",1,["leo_ast::types::type_::Type"]],["impl UnwindSafe for Value",1,["leo_ast::value::Value"]],["impl UnwindSafe for ArrayAccess",1,["leo_ast::access::array_access::ArrayAccess"]],["impl UnwindSafe for AssociatedConstant",1,["leo_ast::access::associated_constant_access::AssociatedConstant"]],["impl UnwindSafe for AssociatedFunction",1,["leo_ast::access::associated_function_access::AssociatedFunction"]],["impl UnwindSafe for MemberAccess",1,["leo_ast::access::member_access::MemberAccess"]],["impl UnwindSafe for TupleAccess",1,["leo_ast::access::tuple_access::TupleAccess"]],["impl UnwindSafe for Identifier",1,["leo_ast::common::identifier::Identifier"]],["impl UnwindSafe for Location",1,["leo_ast::common::location::Location"]],["impl UnwindSafe for NodeBuilder",1,["leo_ast::common::node_builder::NodeBuilder"]],["impl UnwindSafe for NodeBuilderInner",1,["leo_ast::common::node_builder::NodeBuilderInner"]],["impl UnwindSafe for NonNegativeNumber",1,["leo_ast::common::positive_number::NonNegativeNumber"]],["impl UnwindSafe for StaticString",1,["leo_ast::common::static_string::StaticString"]],["impl UnwindSafe for ArrayExpression",1,["leo_ast::expressions::array::ArrayExpression"]],["impl UnwindSafe for BinaryExpression",1,["leo_ast::expressions::binary::BinaryExpression"]],["impl UnwindSafe for CallExpression",1,["leo_ast::expressions::call::CallExpression"]],["impl UnwindSafe for CastExpression",1,["leo_ast::expressions::cast::CastExpression"]],["impl UnwindSafe for ErrExpression",1,["leo_ast::expressions::err::ErrExpression"]],["impl UnwindSafe for LocatorExpression",1,["leo_ast::expressions::locator::LocatorExpression"]],["impl UnwindSafe for StructExpression",1,["leo_ast::expressions::struct_init::StructExpression"]],["impl UnwindSafe for StructVariableInitializer",1,["leo_ast::expressions::struct_init::StructVariableInitializer"]],["impl UnwindSafe for TernaryExpression",1,["leo_ast::expressions::ternary::TernaryExpression"]],["impl UnwindSafe for TupleExpression",1,["leo_ast::expressions::tuple::TupleExpression"]],["impl UnwindSafe for UnaryExpression",1,["leo_ast::expressions::unary::UnaryExpression"]],["impl UnwindSafe for UnitExpression",1,["leo_ast::expressions::unit::UnitExpression"]],["impl UnwindSafe for Annotation",1,["leo_ast::functions::annotation::Annotation"]],["impl UnwindSafe for Input",1,["leo_ast::functions::input::Input"]],["impl UnwindSafe for Output",1,["leo_ast::functions::output::Output"]],["impl UnwindSafe for Function",1,["leo_ast::functions::Function"]],["impl UnwindSafe for GroupTuple",1,["leo_ast::groups::group_literal::GroupTuple"]],["impl UnwindSafe for Mapping",1,["leo_ast::mapping::Mapping"]],["impl UnwindSafe for ProgramId",1,["leo_ast::program::program_id::ProgramId"]],["impl UnwindSafe for ProgramScope",1,["leo_ast::program::program_scope::ProgramScope"]],["impl UnwindSafe for Program",1,["leo_ast::program::Program"]],["impl UnwindSafe for AssertStatement",1,["leo_ast::statement::assert::AssertStatement"]],["impl UnwindSafe for AssignStatement",1,["leo_ast::statement::assign::AssignStatement"]],["impl UnwindSafe for Block",1,["leo_ast::statement::block::Block"]],["impl UnwindSafe for ConditionalStatement",1,["leo_ast::statement::conditional::ConditionalStatement"]],["impl UnwindSafe for ConsoleStatement",1,["leo_ast::statement::console::console_statement::ConsoleStatement"]],["impl UnwindSafe for ConstDeclaration",1,["leo_ast::statement::const_::ConstDeclaration"]],["impl UnwindSafe for DefinitionStatement",1,["leo_ast::statement::definition::DefinitionStatement"]],["impl UnwindSafe for ExpressionStatement",1,["leo_ast::statement::expression::ExpressionStatement"]],["impl UnwindSafe for IterationStatement",1,["leo_ast::statement::iteration::IterationStatement"]],["impl UnwindSafe for ReturnStatement",1,["leo_ast::statement::return_::ReturnStatement"]],["impl UnwindSafe for Ast",1,["leo_ast::Ast"]],["impl UnwindSafe for Member",1,["leo_ast::struct::member::Member"]],["impl UnwindSafe for Composite",1,["leo_ast::struct::Composite"]],["impl UnwindSafe for FunctionStub",1,["leo_ast::stub::function_stub::FunctionStub"]],["impl UnwindSafe for Stub",1,["leo_ast::stub::Stub"]],["impl UnwindSafe for ArrayType",1,["leo_ast::types::array::ArrayType"]],["impl UnwindSafe for FutureType",1,["leo_ast::types::future::FutureType"]],["impl UnwindSafe for MappingType",1,["leo_ast::types::mapping::MappingType"]],["impl UnwindSafe for CompositeType",1,["leo_ast::types::struct_type::CompositeType"]],["impl UnwindSafe for TupleType",1,["leo_ast::types::tuple::TupleType"]],["impl<'a> UnwindSafe for DisplayDecimal<'a>",1,["leo_ast::expressions::literal::DisplayDecimal"]]]],["leo_compiler",[["impl UnwindSafe for BuildOptions",1,["leo_compiler::options::BuildOptions"]],["impl UnwindSafe for CompilerOptions",1,["leo_compiler::options::CompilerOptions"]],["impl UnwindSafe for OutputOptions",1,["leo_compiler::options::OutputOptions"]],["impl<'a, N> !UnwindSafe for Compiler<'a, N>",1,["leo_compiler::compiler::Compiler"]]]],["leo_errors",[["impl !UnwindSafe for BufferEmitter",1,["leo_errors::emitter::BufferEmitter"]],["impl !UnwindSafe for Handler",1,["leo_errors::emitter::Handler"]],["impl !UnwindSafe for HandlerInner",1,["leo_errors::emitter::HandlerInner"]],["impl UnwindSafe for AstError",1,["leo_errors::errors::ast::ast_errors::AstError"]],["impl UnwindSafe for CliError",1,["leo_errors::errors::cli::cli_errors::CliError"]],["impl UnwindSafe for CompilerError",1,["leo_errors::errors::compiler::compiler_errors::CompilerError"]],["impl UnwindSafe for LeoError",1,["leo_errors::errors::LeoError"]],["impl UnwindSafe for LeoWarning",1,["leo_errors::errors::LeoWarning"]],["impl UnwindSafe for FlattenError",1,["leo_errors::errors::flattener::flattener_errors::FlattenError"]],["impl UnwindSafe for LoopUnrollerError",1,["leo_errors::errors::loop_unroller::loop_unroller_errors::LoopUnrollerError"]],["impl UnwindSafe for PackageError",1,["leo_errors::errors::package::package_errors::PackageError"]],["impl UnwindSafe for ParserError",1,["leo_errors::errors::parser::parser_errors::ParserError"]],["impl UnwindSafe for ParserWarning",1,["leo_errors::errors::parser::parser_warnings::ParserWarning"]],["impl UnwindSafe for StaticAnalyzerError",1,["leo_errors::errors::static_analyzer::static_analyzer_error::StaticAnalyzerError"]],["impl UnwindSafe for StaticAnalyzerWarning",1,["leo_errors::errors::static_analyzer::static_analyzer_warning::StaticAnalyzerWarning"]],["impl UnwindSafe for TypeCheckerError",1,["leo_errors::errors::type_checker::type_checker_error::TypeCheckerError"]],["impl UnwindSafe for TypeCheckerWarning",1,["leo_errors::errors::type_checker::type_checker_warning::TypeCheckerWarning"]],["impl UnwindSafe for UtilError",1,["leo_errors::errors::utils::util_errors::UtilError"]],["impl UnwindSafe for Backtraced",1,["leo_errors::common::backtraced::Backtraced"]],["impl UnwindSafe for Formatted",1,["leo_errors::common::formatted::Formatted"]],["impl UnwindSafe for StderrEmitter",1,["leo_errors::emitter::StderrEmitter"]],["impl UnwindSafe for InterpreterHalt",1,["leo_errors::errors::interpreter_halt::InterpreterHalt"]],["impl<T> UnwindSafe for Buffer<T>
where\n T: UnwindSafe,
",1,["leo_errors::emitter::Buffer"]]]],["leo_interpreter",[["impl !UnwindSafe for Interpreter",1,["leo_interpreter::interpreter::Interpreter"]],["impl UnwindSafe for InterpreterAction",1,["leo_interpreter::interpreter::InterpreterAction"]],["impl UnwindSafe for Value",1,["leo_interpreter::value::Value"]],["impl UnwindSafe for ContextStack",1,["leo_interpreter::cursor::ContextStack"]],["impl UnwindSafe for FunctionContext",1,["leo_interpreter::cursor::FunctionContext"]],["impl UnwindSafe for GlobalId",1,["leo_interpreter::cursor::GlobalId"]],["impl UnwindSafe for StepResult",1,["leo_interpreter::cursor::StepResult"]],["impl UnwindSafe for DialoguerUi",1,["leo_interpreter::dialoguer_input::DialoguerUi"]],["impl UnwindSafe for Breakpoint",1,["leo_interpreter::interpreter::Breakpoint"]],["impl UnwindSafe for Watchpoint",1,["leo_interpreter::interpreter::Watchpoint"]],["impl UnwindSafe for DebuggerLayout",1,["leo_interpreter::ratatui_ui::DebuggerLayout"]],["impl UnwindSafe for DrawData",1,["leo_interpreter::ratatui_ui::DrawData"]],["impl UnwindSafe for Prompt",1,["leo_interpreter::ratatui_ui::Prompt"]],["impl UnwindSafe for RatatuiUi",1,["leo_interpreter::ratatui_ui::RatatuiUi"]],["impl UnwindSafe for AsyncExecution",1,["leo_interpreter::value::AsyncExecution"]],["impl UnwindSafe for Future",1,["leo_interpreter::value::Future"]],["impl UnwindSafe for StructContents",1,["leo_interpreter::value::StructContents"]],["impl<'a> !UnwindSafe for Element<'a>",1,["leo_interpreter::cursor::Element"]],["impl<'a> !UnwindSafe for FunctionVariant<'a>",1,["leo_interpreter::cursor::FunctionVariant"]],["impl<'a> !UnwindSafe for Cursor<'a>",1,["leo_interpreter::cursor::Cursor"]],["impl<'a> !UnwindSafe for Frame<'a>",1,["leo_interpreter::cursor::Frame"]],["impl<'a> UnwindSafe for AleoContext<'a>",1,["leo_interpreter::cursor::AleoContext"]],["impl<'a> UnwindSafe for UserData<'a>",1,["leo_interpreter::ui::UserData"]]]],["leo_lang",[["impl UnwindSafe for Commands",1,["leo_lang::cli::cli::Commands"]],["impl UnwindSafe for Account",1,["leo_lang::cli::commands::account::Account"]],["impl UnwindSafe for ExampleVariant",1,["leo_lang::cli::commands::example::ExampleVariant"]],["impl UnwindSafe for QueryCommands",1,["leo_lang::cli::commands::query::QueryCommands"]],["impl UnwindSafe for CLI",1,["leo_lang::cli::cli::CLI"]],["impl UnwindSafe for LeoAdd",1,["leo_lang::cli::commands::add::LeoAdd"]],["impl UnwindSafe for LeoBuild",1,["leo_lang::cli::commands::build::LeoBuild"]],["impl UnwindSafe for LeoClean",1,["leo_lang::cli::commands::clean::LeoClean"]],["impl UnwindSafe for LeoDebug",1,["leo_lang::cli::commands::debug::LeoDebug"]],["impl UnwindSafe for Deploy",1,["leo_lang::cli::commands::deploy::Deploy"]],["impl UnwindSafe for LeoExample",1,["leo_lang::cli::commands::example::LeoExample"]],["impl UnwindSafe for LeoExecute",1,["leo_lang::cli::commands::execute::LeoExecute"]],["impl UnwindSafe for LeoNew",1,["leo_lang::cli::commands::new::LeoNew"]],["impl UnwindSafe for LeoBlock",1,["leo_lang::cli::commands::query::block::LeoBlock"]],["impl UnwindSafe for LeoCommittee",1,["leo_lang::cli::commands::query::committee::LeoCommittee"]],["impl UnwindSafe for LeoMempool",1,["leo_lang::cli::commands::query::mempool::LeoMempool"]],["impl UnwindSafe for LeoPeers",1,["leo_lang::cli::commands::query::peers::LeoPeers"]],["impl UnwindSafe for LeoProgram",1,["leo_lang::cli::commands::query::program::LeoProgram"]],["impl UnwindSafe for StateRoot",1,["leo_lang::cli::commands::query::state_root::StateRoot"]],["impl UnwindSafe for LeoQuery",1,["leo_lang::cli::commands::query::LeoQuery"]],["impl UnwindSafe for LeoTransaction",1,["leo_lang::cli::commands::query::transaction::LeoTransaction"]],["impl UnwindSafe for LeoRemove",1,["leo_lang::cli::commands::remove::LeoRemove"]],["impl UnwindSafe for LeoRun",1,["leo_lang::cli::commands::run::LeoRun"]],["impl UnwindSafe for BuildOptions",1,["leo_lang::cli::commands::BuildOptions"]],["impl UnwindSafe for FeeOptions",1,["leo_lang::cli::commands::FeeOptions"]],["impl UnwindSafe for LeoUpdate",1,["leo_lang::cli::commands::update::LeoUpdate"]],["impl UnwindSafe for Context",1,["leo_lang::cli::helpers::context::Context"]],["impl UnwindSafe for Updater",1,["leo_lang::cli::helpers::updater::Updater"]],["impl<F, T> UnwindSafe for Format<F, T>
where\n F: UnwindSafe,\n T: UnwindSafe,
",1,["leo_lang::cli::helpers::logger::Format"]]]],["leo_package",[["impl UnwindSafe for Snapshot",1,["leo_package::outputs::ast_snapshot::Snapshot"]],["impl UnwindSafe for BuildDirectory",1,["leo_package::build::directory::BuildDirectory"]],["impl UnwindSafe for ImportsDirectory",1,["leo_package::imports::directory::ImportsDirectory"]],["impl UnwindSafe for InputsDirectory",1,["leo_package::inputs::directory::InputsDirectory"]],["impl UnwindSafe for SnapshotFile",1,["leo_package::outputs::ast_snapshot::SnapshotFile"]],["impl UnwindSafe for ChecksumFile",1,["leo_package::outputs::checksum::ChecksumFile"]],["impl UnwindSafe for CircuitFile",1,["leo_package::outputs::circuit::CircuitFile"]],["impl UnwindSafe for OutputsDirectory",1,["leo_package::outputs::directory::OutputsDirectory"]],["impl UnwindSafe for Package",1,["leo_package::package::Package"]],["impl UnwindSafe for Gitignore",1,["leo_package::root::gitignore::Gitignore"]],["impl UnwindSafe for SourceDirectory",1,["leo_package::source::directory::SourceDirectory"]],["impl UnwindSafe for MainFile",1,["leo_package::source::main::MainFile"]],["impl<N> UnwindSafe for Env<N>
where\n <N as Environment>::Field: UnwindSafe,\n <N as Environment>::Scalar: UnwindSafe,
",1,["leo_package::root::env::Env"]]]],["leo_parser",[["impl UnwindSafe for Delimiter",1,["leo_parser::tokenizer::token::Delimiter"]],["impl UnwindSafe for Token",1,["leo_parser::tokenizer::token::Token"]],["impl UnwindSafe for SpannedToken",1,["leo_parser::tokenizer::lexer::SpannedToken"]],["impl<'a, N> !UnwindSafe for ParserContext<'a, N>",1,["leo_parser::parser::context::ParserContext"]]]],["leo_passes",[["impl UnwindSafe for VariableType",1,["leo_passes::common::symbol_table::variable_symbol::VariableType"]],["impl UnwindSafe for Guard",1,["leo_passes::flattening::flattener::Guard"]],["impl UnwindSafe for ReturnGuard",1,["leo_passes::flattening::flattener::ReturnGuard"]],["impl UnwindSafe for Clusivity",1,["leo_passes::loop_unrolling::range_iterator::Clusivity"]],["impl UnwindSafe for Position",1,["leo_passes::static_analysis::future_checker::Position"]],["impl UnwindSafe for Assigner",1,["leo_passes::common::assigner::Assigner"]],["impl UnwindSafe for AssignerInner",1,["leo_passes::common::assigner::AssignerInner"]],["impl UnwindSafe for ConstantPropagationTable",1,["leo_passes::common::constant_propagation_table::ConstantPropagationTable"]],["impl UnwindSafe for RenameTable",1,["leo_passes::common::rename_table::RenameTable"]],["impl UnwindSafe for FunctionSymbol",1,["leo_passes::common::symbol_table::function_symbol::FunctionSymbol"]],["impl UnwindSafe for SymbolTable",1,["leo_passes::common::symbol_table::SymbolTable"]],["impl UnwindSafe for VariableSymbol",1,["leo_passes::common::symbol_table::variable_symbol::VariableSymbol"]],["impl UnwindSafe for TypeTable",1,["leo_passes::common::type_table::TypeTable"]],["impl UnwindSafe for AwaitChecker",1,["leo_passes::static_analysis::await_checker::AwaitChecker"]],["impl UnwindSafe for ScopeState",1,["leo_passes::type_checking::scope_state::ScopeState"]],["impl<'a> !UnwindSafe for CodeGenerator<'a>",1,["leo_passes::code_generation::generator::CodeGenerator"]],["impl<'a> !UnwindSafe for DeadCodeEliminator<'a>",1,["leo_passes::dead_code_elimination::dead_code_eliminator::DeadCodeEliminator"]],["impl<'a> !UnwindSafe for Destructurer<'a>",1,["leo_passes::destructuring::destructurer::Destructurer"]],["impl<'a> !UnwindSafe for Flattener<'a>",1,["leo_passes::flattening::flattener::Flattener"]],["impl<'a> !UnwindSafe for AssignmentRenamer<'a>",1,["leo_passes::function_inlining::assignment_renamer::AssignmentRenamer"]],["impl<'a> !UnwindSafe for FunctionInliner<'a>",1,["leo_passes::function_inlining::function_inliner::FunctionInliner"]],["impl<'a> !UnwindSafe for Unroller<'a>",1,["leo_passes::loop_unrolling::unroller::Unroller"]],["impl<'a> !UnwindSafe for FutureChecker<'a>",1,["leo_passes::static_analysis::future_checker::FutureChecker"]],["impl<'a> !UnwindSafe for StaticSingleAssigner<'a>",1,["leo_passes::static_single_assignment::static_single_assigner::StaticSingleAssigner"]],["impl<'a> !UnwindSafe for SymbolTableCreator<'a>",1,["leo_passes::symbol_table_creation::creator::SymbolTableCreator"]],["impl<'a, N> !UnwindSafe for StaticAnalyzer<'a, N>",1,["leo_passes::static_analysis::analyzer::StaticAnalyzer"]],["impl<'a, N> !UnwindSafe for TypeChecker<'a, N>",1,["leo_passes::type_checking::checker::TypeChecker"]],["impl<F> UnwindSafe for Replacer<F>
where\n F: UnwindSafe,
",1,["leo_passes::common::replacer::Replacer"]],["impl<I> UnwindSafe for RangeIterator<I>
where\n I: UnwindSafe,
",1,["leo_passes::loop_unrolling::range_iterator::RangeIterator"]],["impl<N> UnwindSafe for DiGraphError<N>
where\n N: UnwindSafe,
",1,["leo_passes::common::graph::DiGraphError"]],["impl<N> UnwindSafe for DiGraph<N>
where\n N: UnwindSafe,
",1,["leo_passes::common::graph::DiGraph"]],["impl<N> UnwindSafe for TreeNode<N>
where\n N: UnwindSafe,
",1,["leo_passes::common::tree_node::TreeNode"]]]],["leo_retriever",[["impl UnwindSafe for Location",1,["leo_retriever::program_context::location::Location"]],["impl UnwindSafe for NetworkName",1,["leo_retriever::program_context::network_name::NetworkName"]],["impl UnwindSafe for Dependency",1,["leo_retriever::program_context::dependency::Dependency"]],["impl UnwindSafe for LockFileEntry",1,["leo_retriever::program_context::lock_file_entry::LockFileEntry"]],["impl UnwindSafe for Manifest",1,["leo_retriever::program_context::manifest::Manifest"]],["impl UnwindSafe for ProgramContext",1,["leo_retriever::program_context::ProgramContext"]],["impl<N> UnwindSafe for Retriever<N>
where\n N: UnwindSafe,
",1,["leo_retriever::retriever::Retriever"]]]],["leo_span",[["impl UnwindSafe for FileName",1,["leo_span::source_map::FileName"]],["impl UnwindSafe for InternedStr",1,["leo_span::symbol::InternedStr"]],["impl UnwindSafe for LineCol",1,["leo_span::source_map::LineCol"]],["impl UnwindSafe for MultiByteChar",1,["leo_span::source_map::MultiByteChar"]],["impl UnwindSafe for SourceFile",1,["leo_span::source_map::SourceFile"]],["impl UnwindSafe for SourceMap",1,["leo_span::source_map::SourceMap"]],["impl UnwindSafe for SourceMapInner",1,["leo_span::source_map::SourceMapInner"]],["impl UnwindSafe for SpanLocation",1,["leo_span::source_map::SpanLocation"]],["impl UnwindSafe for BytePos",1,["leo_span::span::BytePos"]],["impl UnwindSafe for CharPos",1,["leo_span::span::CharPos"]],["impl UnwindSafe for Span",1,["leo_span::span::Span"]],["impl UnwindSafe for SpanMapVisitor",1,["leo_span::span_json::SpanMapVisitor"]],["impl UnwindSafe for InnerInterner",1,["leo_span::symbol::InnerInterner"]],["impl UnwindSafe for Interner",1,["leo_span::symbol::Interner"]],["impl UnwindSafe for SessionGlobals",1,["leo_span::symbol::SessionGlobals"]],["impl UnwindSafe for Symbol",1,["leo_span::symbol::Symbol"]]]],["leo_test_framework",[["impl UnwindSafe for TestError",1,["leo_test_framework::error::TestError"]],["impl UnwindSafe for ParseType",1,["leo_test_framework::runner::ParseType"]],["impl UnwindSafe for TestExpectationMode",1,["leo_test_framework::test::TestExpectationMode"]],["impl UnwindSafe for TestFailure",1,["leo_test_framework::error::TestFailure"]],["impl UnwindSafe for TestExpectation",1,["leo_test_framework::output::TestExpectation"]],["impl UnwindSafe for Test",1,["leo_test_framework::runner::Test"]],["impl UnwindSafe for TestCases",1,["leo_test_framework::runner::TestCases"]],["impl UnwindSafe for TestConfig",1,["leo_test_framework::test::TestConfig"]]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[660,27792,1545,9369,11325,5599,1569,15047,3170,5682,3061]} \ No newline at end of file +//{"start":57,"fragment_lengths":[660,27792,1545,9799,8792,11708,5599,1569,15047,3170,5682,3061]} \ No newline at end of file diff --git a/trait.impl/leo_interpreter/ui/trait.Ui.js b/trait.impl/leo_interpreter/ui/trait.Ui.js new file mode 100644 index 0000000000..78cc0d7e43 --- /dev/null +++ b/trait.impl/leo_interpreter/ui/trait.Ui.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["leo_interpreter",[]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[22]} \ No newline at end of file diff --git a/trait.impl/leo_interpreter/util/trait.ExpectTc.js b/trait.impl/leo_interpreter/util/trait.ExpectTc.js new file mode 100644 index 0000000000..78cc0d7e43 --- /dev/null +++ b/trait.impl/leo_interpreter/util/trait.ExpectTc.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["leo_interpreter",[]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[22]} \ No newline at end of file diff --git a/trait.impl/ratatui/widgets/trait.Widget.js b/trait.impl/ratatui/widgets/trait.Widget.js new file mode 100644 index 0000000000..06777b9ab9 --- /dev/null +++ b/trait.impl/ratatui/widgets/trait.Widget.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["leo_interpreter",[["impl<'a> Widget for &'a Prompt"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[198]} \ No newline at end of file diff --git a/trait.impl/snarkvm_utilities/bits/trait.ToBits.js b/trait.impl/snarkvm_utilities/bits/trait.ToBits.js new file mode 100644 index 0000000000..c886410c9c --- /dev/null +++ b/trait.impl/snarkvm_utilities/bits/trait.ToBits.js @@ -0,0 +1,9 @@ +(function() { + var implementors = Object.fromEntries([["leo_interpreter",[["impl ToBits for Value"]]]]); + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } +})() +//{"start":57,"fragment_lengths":[161]} \ No newline at end of file diff --git a/type.impl/snarkvm_console_program/data/identifier/struct.Identifier.js b/type.impl/snarkvm_console_program/data/identifier/struct.Identifier.js new file mode 100644 index 0000000000..bf28e6110e --- /dev/null +++ b/type.impl/snarkvm_console_program/data/identifier/struct.Identifier.js @@ -0,0 +1,9 @@ +(function() { + var type_impls = Object.fromEntries([["leo_interpreter",[["
§

impl<N> Clone for Identifier<N>
where\n N: Clone + Network,

§

fn clone(&self) -> Identifier<N>

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

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

Performs copy-assignment from source. Read more
","Clone","leo_interpreter::value::SvmIdentifier"],["
§

impl<N> Debug for Identifier<N>
where\n N: Network,

§

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

Formats the value using the given formatter. Read more
","Debug","leo_interpreter::value::SvmIdentifier"],["
§

impl<'de, N> Deserialize<'de> for Identifier<N>
where\n N: Network,

§

fn deserialize<D>(\n deserializer: D,\n) -> Result<Identifier<N>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserializes the identifier from a string or bytes.

\n
","Deserialize<'de>","leo_interpreter::value::SvmIdentifier"],["
§

impl<N> Display for Identifier<N>
where\n N: Network,

§

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

Prints the identifier as a string.

\n
","Display","leo_interpreter::value::SvmIdentifier"],["
§

impl<N> Equal for Identifier<N>
where\n N: Network,

§

fn is_equal(&self, other: &Identifier<N>) -> <Identifier<N> as Equal>::Output

Returns true if self and other are equal.

\n
§

fn is_not_equal(\n &self,\n other: &Identifier<N>,\n) -> <Identifier<N> as Equal>::Output

Returns true if self and other are not equal.

\n
§

type Output = Boolean<N>

","Equal","leo_interpreter::value::SvmIdentifier"],["
§

impl<N> From<&Identifier<N>> for Identifier<N>
where\n N: Network,

§

fn from(identifier: &Identifier<N>) -> Identifier<N>

Returns a copy of the identifier.

\n
","From<&Identifier>","leo_interpreter::value::SvmIdentifier"],["
§

impl<N> FromBits for Identifier<N>
where\n N: Network,

§

fn from_bits_le(bits_le: &[bool]) -> Result<Identifier<N>, Error>

Initializes a new identifier from a list of little-endian bits without trailing zeros.

\n
§

fn from_bits_be(bits_be: &[bool]) -> Result<Identifier<N>, Error>

Initializes a new identifier from a list of big-endian bits without leading zeros.

\n
","FromBits","leo_interpreter::value::SvmIdentifier"],["
§

impl<N> FromBytes for Identifier<N>
where\n N: Network,

§

fn read_le<R>(reader: R) -> Result<Identifier<N>, Error>
where\n R: Read,

Reads in an identifier from a buffer.

\n
§

fn from_bytes_le(bytes: &[u8]) -> Result<Self, Error>
where\n Self: Sized,

Returns Self from a byte array in little-endian order.
","FromBytes","leo_interpreter::value::SvmIdentifier"],["
§

impl<N> FromField for Identifier<N>
where\n N: Network,

§

fn from_field(\n field: &<Identifier<N> as FromField>::Field,\n) -> Result<Identifier<N>, Error>

Initializes a new identifier from a field element.

\n
§

type Field = Field<N>

","FromField","leo_interpreter::value::SvmIdentifier"],["
§

impl<N> FromStr for Identifier<N>
where\n N: Network,

§

fn from_str(\n identifier: &str,\n) -> Result<Identifier<N>, <Identifier<N> as FromStr>::Err>

Reads in an identifier from a string.

\n
§

type Err = Error

The associated error which can be returned from parsing.
","FromStr","leo_interpreter::value::SvmIdentifier"],["
§

impl<N> Hash for Identifier<N>
where\n N: Network,

§

fn hash<H>(&self, state: &mut H)
where\n H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","leo_interpreter::value::SvmIdentifier"],["
§

impl<N> Identifier<N>
where\n N: Network,

pub fn size_in_bits(&self) -> u8

Returns the number of bits of this identifier.

\n
",0,"leo_interpreter::value::SvmIdentifier"],["
§

impl<N> Parser for Identifier<N>
where\n N: Network,

§

fn parse(string: &str) -> Result<(&str, Identifier<N>), Err<VerboseError<&str>>>

Parses a string into an identifier.

\n
§Requirements
\n

The identifier must be alphanumeric (or underscore).\nThe identifier must not start with a number.\nThe identifier must not be a keyword.

\n
","Parser","leo_interpreter::value::SvmIdentifier"],["
§

impl<N> PartialEq for Identifier<N>
where\n N: Network,

§

fn eq(&self, other: &Identifier<N>) -> bool

Returns true if self and other are equal.

\n
1.0.0 · source§

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

Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
","PartialEq","leo_interpreter::value::SvmIdentifier"],["
§

impl<N> Serialize for Identifier<N>
where\n N: Network,

§

fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serializes the identifier into string or bytes.

\n
","Serialize","leo_interpreter::value::SvmIdentifier"],["
§

impl<N> ToBits for Identifier<N>
where\n N: Network,

§

fn write_bits_le(&self, vec: &mut Vec<bool>)

Returns the little-endian bits of the identifier.

\n
§

fn write_bits_be(&self, vec: &mut Vec<bool>)

Returns the big-endian bits of the identifier.

\n
§

fn to_bits_le(&self) -> Vec<bool>

Returns self as a boolean array in little-endian order.
§

fn to_bits_be(&self) -> Vec<bool>

Returns self as a boolean array in big-endian order.
§

fn num_bits() -> Option<usize>

An optional indication of how many bits an object can be represented with.
","ToBits","leo_interpreter::value::SvmIdentifier"],["
§

impl<N> ToBytes for Identifier<N>
where\n N: Network,

§

fn write_le<W>(&self, writer: W) -> Result<(), Error>
where\n W: Write,

Writes an identifier to a buffer.

\n
§

fn to_bytes_le(&self) -> Result<Vec<u8>, Error>
where\n Self: Sized,

Returns self as a byte array in little-endian order.
","ToBytes","leo_interpreter::value::SvmIdentifier"],["
§

impl<N> ToField for Identifier<N>
where\n N: Network,

§

fn to_field(&self) -> Result<<Identifier<N> as ToField>::Field, Error>

Returns the identifier as a field element.

\n
§

type Field = Field<N>

","ToField","leo_interpreter::value::SvmIdentifier"],["
§

impl<N> TryFrom<&String> for Identifier<N>
where\n N: Network,

§

fn try_from(identifier: &String) -> Result<Identifier<N>, Error>

Initializes an identifier from a string.

\n
§

type Error = Error

The type returned in the event of a conversion error.
","TryFrom<&String>","leo_interpreter::value::SvmIdentifier"],["
§

impl<N> TryFrom<&str> for Identifier<N>
where\n N: Network,

§

fn try_from(identifier: &str) -> Result<Identifier<N>, Error>

Initializes an identifier from a string.

\n
§

type Error = Error

The type returned in the event of a conversion error.
","TryFrom<&str>","leo_interpreter::value::SvmIdentifier"],["
§

impl<N> TryFrom<String> for Identifier<N>
where\n N: Network,

§

fn try_from(identifier: String) -> Result<Identifier<N>, Error>

Initializes an identifier from a string.

\n
§

type Error = Error

The type returned in the event of a conversion error.
","TryFrom","leo_interpreter::value::SvmIdentifier"],["
§

impl<N> Copy for Identifier<N>
where\n N: Copy + Network,

","Copy","leo_interpreter::value::SvmIdentifier"],["
§

impl<N> Eq for Identifier<N>
where\n N: Network,

","Eq","leo_interpreter::value::SvmIdentifier"]]]]); + if (window.register_type_impls) { + window.register_type_impls(type_impls); + } else { + window.pending_type_impls = type_impls; + } +})() +//{"start":55,"fragment_lengths":[41790]} \ No newline at end of file diff --git a/type.impl/snarkvm_console_types_address/struct.Address.js b/type.impl/snarkvm_console_types_address/struct.Address.js new file mode 100644 index 0000000000..6f1e4c572f --- /dev/null +++ b/type.impl/snarkvm_console_types_address/struct.Address.js @@ -0,0 +1,9 @@ +(function() { + var type_impls = Object.fromEntries([["leo_interpreter",[["
§

impl<E> Address<E>
where\n E: Environment,

pub const fn new(group: Group<E>) -> Address<E>

Initializes an address from a group element.

\n

pub fn zero() -> Address<E>

Initializes a zero address.

\n
",0,"leo_interpreter::value::SvmAddress"],["
§

impl<E> Address<E>
where\n E: Environment,

pub const fn to_group(&self) -> &Group<E>

Returns the address as a group element.

\n
",0,"leo_interpreter::value::SvmAddress"],["
§

impl<E> Clone for Address<E>
where\n E: Clone + Environment,

§

fn clone(&self) -> Address<E>

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

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

Performs copy-assignment from source. Read more
","Clone","leo_interpreter::value::SvmAddress"],["
§

impl<E> Compare for Address<E>
where\n E: Environment,

§

fn is_less_than(&self, other: &Address<E>) -> <Address<E> as Compare>::Output

Returns true if self is less than other.

\n
§

fn is_greater_than(&self, other: &Address<E>) -> <Address<E> as Compare>::Output

Returns true if self is greater than other.

\n
§

fn is_less_than_or_equal(\n &self,\n other: &Address<E>,\n) -> <Address<E> as Compare>::Output

Returns true if self is less than or equal to other.

\n
§

fn is_greater_than_or_equal(\n &self,\n other: &Address<E>,\n) -> <Address<E> as Compare>::Output

Returns true if self is greater than or equal to other.

\n
§

type Output = Boolean<E>

","Compare","leo_interpreter::value::SvmAddress"],["
§

impl<E> Debug for Address<E>
where\n E: Environment,

§

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

Formats the value using the given formatter. Read more
","Debug","leo_interpreter::value::SvmAddress"],["
§

impl<E> Deref for Address<E>
where\n E: Environment,

§

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

Returns the address as a group element.

\n
§

type Target = Group<E>

The resulting type after dereferencing.
","Deref","leo_interpreter::value::SvmAddress"],["
§

impl<'de, E> Deserialize<'de> for Address<E>
where\n E: Environment,

§

fn deserialize<D>(\n deserializer: D,\n) -> Result<Address<E>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserializes an account address from a string or bytes.

\n
","Deserialize<'de>","leo_interpreter::value::SvmAddress"],["
§

impl<E> Display for Address<E>
where\n E: Environment,

§

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

Writes an account address as a bech32m string.

\n
","Display","leo_interpreter::value::SvmAddress"],["
§

impl<E> Equal for Address<E>
where\n E: Environment,

§

fn is_equal(&self, other: &Address<E>) -> <Address<E> as Equal>::Output

Returns true if self and other are equal.

\n
§

fn is_not_equal(&self, other: &Address<E>) -> <Address<E> as Equal>::Output

Returns true if self and other are not equal.

\n
§

type Output = Boolean<E>

","Equal","leo_interpreter::value::SvmAddress"],["
§

impl<E> FromBits for Address<E>
where\n E: Environment,

§

fn from_bits_le(bits_le: &[bool]) -> Result<Address<E>, Error>

Initializes a new address by recovering the x-coordinate of an affine group from a list of little-endian bits.

\n
§

fn from_bits_be(bits_be: &[bool]) -> Result<Address<E>, Error>

Initializes a new address by recovering the x-coordinate of an affine group from a list of big-endian bits.

\n
","FromBits","leo_interpreter::value::SvmAddress"],["
§

impl<E> FromBytes for Address<E>
where\n E: Environment,

§

fn read_le<R>(reader: R) -> Result<Address<E>, Error>
where\n R: Read,

Reads in an account address from a buffer.

\n
§

fn from_bytes_le(bytes: &[u8]) -> Result<Self, Error>
where\n Self: Sized,

Returns Self from a byte array in little-endian order.
","FromBytes","leo_interpreter::value::SvmAddress"],["
§

impl<E> FromField for Address<E>
where\n E: Environment,

§

fn from_field(\n field: &<Address<E> as FromField>::Field,\n) -> Result<Address<E>, Error>

Initializes a new address by recovering the x-coordinate of an affine group from a field element.

\n
§

type Field = Field<E>

","FromField","leo_interpreter::value::SvmAddress"],["
§

impl<E> FromFields for Address<E>
where\n E: Environment,

§

fn from_fields(\n fields: &[<Address<E> as FromFields>::Field],\n) -> Result<Address<E>, Error>

Initializes a new address by recovering the x-coordinate of an affine group from a field element.

\n
§

type Field = Field<E>

","FromFields","leo_interpreter::value::SvmAddress"],["
§

impl<E> FromStr for Address<E>
where\n E: Environment,

§

fn from_str(address: &str) -> Result<Address<E>, <Address<E> as FromStr>::Err>

Reads in an account address string.

\n
§

type Err = Error

The associated error which can be returned from parsing.
","FromStr","leo_interpreter::value::SvmAddress"],["
§

impl<E> Hash for Address<E>
where\n E: Hash + Environment,

§

fn hash<__H>(&self, state: &mut __H)
where\n __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","leo_interpreter::value::SvmAddress"],["
§

impl<E> Parser for Address<E>
where\n E: Environment,

§

fn parse(string: &str) -> Result<(&str, Address<E>), Err<VerboseError<&str>>>

Parses a string into an address.

\n
","Parser","leo_interpreter::value::SvmAddress"],["
§

impl<E> PartialEq for Address<E>
where\n E: PartialEq + Environment,

§

fn eq(&self, other: &Address<E>) -> bool

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

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

Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
","PartialEq","leo_interpreter::value::SvmAddress"],["
§

impl<E> Serialize for Address<E>
where\n E: Environment,

§

fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serializes an account address into a string or as bytes.

\n
","Serialize","leo_interpreter::value::SvmAddress"],["
§

impl<E> SizeInBits for Address<E>
where\n E: Environment,

§

fn size_in_bits() -> usize

Returns the address size in bits.

\n
","SizeInBits","leo_interpreter::value::SvmAddress"],["
§

impl<E> SizeInBytes for Address<E>
where\n E: Environment,

§

fn size_in_bytes() -> usize

Returns the address size in bytes.

\n
","SizeInBytes","leo_interpreter::value::SvmAddress"],["
§

impl<E> Ternary for Address<E>
where\n E: Environment,

§

fn ternary(\n condition: &<Address<E> as Ternary>::Boolean,\n first: &Address<E>,\n second: &Address<E>,\n) -> <Address<E> as Ternary>::Output

Returns first if condition is true, otherwise returns second.

\n
§

type Boolean = Boolean<E>

§

type Output = Address<E>

","Ternary","leo_interpreter::value::SvmAddress"],["
§

impl<E> ToBits for Address<E>
where\n E: Environment,

§

fn write_bits_le(&self, vec: &mut Vec<bool>)

Outputs the little-endian bit representation of self.to_x_coordinate() without trailing zeros.

\n
§

fn write_bits_be(&self, vec: &mut Vec<bool>)

Outputs the big-endian bit representation of self.to_x_coordinate() without leading zeros.

\n
§

fn to_bits_le(&self) -> Vec<bool>

Returns self as a boolean array in little-endian order.
§

fn to_bits_be(&self) -> Vec<bool>

Returns self as a boolean array in big-endian order.
§

fn num_bits() -> Option<usize>

An optional indication of how many bits an object can be represented with.
","ToBits","leo_interpreter::value::SvmAddress"],["
§

impl<E> ToBytes for Address<E>
where\n E: Environment,

§

fn write_le<W>(&self, writer: W) -> Result<(), Error>
where\n W: Write,

Writes an account address to a buffer.

\n
§

fn to_bytes_le(&self) -> Result<Vec<u8>, Error>
where\n Self: Sized,

Returns self as a byte array in little-endian order.
","ToBytes","leo_interpreter::value::SvmAddress"],["
§

impl<E> ToField for Address<E>
where\n E: Environment,

§

fn to_field(&self) -> Result<<Address<E> as ToField>::Field, Error>

Returns the address as a field element.

\n
§

type Field = Field<E>

","ToField","leo_interpreter::value::SvmAddress"],["
§

impl<E> ToFields for Address<E>
where\n E: Environment,

§

fn to_fields(&self) -> Result<Vec<<Address<E> as ToFields>::Field>, Error>

Returns the address as field elements.

\n
§

type Field = Field<E>

","ToFields","leo_interpreter::value::SvmAddress"],["
§

impl<N> TryFrom<&ComputeKey<N>> for Address<N>
where\n N: Network,

§

fn try_from(\n compute_key: &ComputeKey<N>,\n) -> Result<Address<N>, <Address<N> as TryFrom<&ComputeKey<N>>>::Error>

Derives the account address from an account compute key.

\n
§

type Error = Error

The type returned in the event of a conversion error.
","TryFrom<&ComputeKey>","leo_interpreter::value::SvmAddress"],["
§

impl<N> TryFrom<&PrivateKey<N>> for Address<N>
where\n N: Network,

§

fn try_from(\n private_key: &PrivateKey<N>,\n) -> Result<Address<N>, <Address<N> as TryFrom<&PrivateKey<N>>>::Error>

Derives the account address from an account private key.

\n
§

type Error = Error

The type returned in the event of a conversion error.
","TryFrom<&PrivateKey>","leo_interpreter::value::SvmAddress"],["
§

impl<N> TryFrom<&ViewKey<N>> for Address<N>
where\n N: Network,

§

fn try_from(\n view_key: &ViewKey<N>,\n) -> Result<Address<N>, <Address<N> as TryFrom<&ViewKey<N>>>::Error>

Derives the account address from an account view key.

\n
§

type Error = Error

The type returned in the event of a conversion error.
","TryFrom<&ViewKey>","leo_interpreter::value::SvmAddress"],["
§

impl<N> TryFrom<ComputeKey<N>> for Address<N>
where\n N: Network,

§

fn try_from(\n compute_key: ComputeKey<N>,\n) -> Result<Address<N>, <Address<N> as TryFrom<ComputeKey<N>>>::Error>

Derives the account address from an account compute key.

\n
§

type Error = Error

The type returned in the event of a conversion error.
","TryFrom>","leo_interpreter::value::SvmAddress"],["
§

impl<N> TryFrom<PrivateKey<N>> for Address<N>
where\n N: Network,

§

fn try_from(\n private_key: PrivateKey<N>,\n) -> Result<Address<N>, <Address<N> as TryFrom<PrivateKey<N>>>::Error>

Derives the account address from an account private key.

\n
§

type Error = Error

The type returned in the event of a conversion error.
","TryFrom>","leo_interpreter::value::SvmAddress"],["
§

impl<N> TryFrom<ViewKey<N>> for Address<N>
where\n N: Network,

§

fn try_from(\n view_key: ViewKey<N>,\n) -> Result<Address<N>, <Address<N> as TryFrom<ViewKey<N>>>::Error>

Derives the account address from an account view key.

\n
§

type Error = Error

The type returned in the event of a conversion error.
","TryFrom>","leo_interpreter::value::SvmAddress"],["
§

impl<E> TypeName for Address<E>
where\n E: Environment,

§

fn type_name() -> &'static str

Returns the type name as a string.

\n
","TypeName","leo_interpreter::value::SvmAddress"],["
§

impl<E> Visibility for Address<E>
where\n E: Environment,

§

fn size_in_fields(&self) -> Result<u16, Error>

Returns the number of field elements to encode self.

\n
§

type Boolean = Boolean<E>

","Visibility","leo_interpreter::value::SvmAddress"],["
§

impl<E> AddressTrait for Address<E>
where\n E: Environment,

","AddressTrait","leo_interpreter::value::SvmAddress"],["
§

impl<E> Copy for Address<E>
where\n E: Copy + Environment,

","Copy","leo_interpreter::value::SvmAddress"],["
§

impl<E> Eq for Address<E>
where\n E: Eq + Environment,

","Eq","leo_interpreter::value::SvmAddress"],["
§

impl<E> StructuralPartialEq for Address<E>
where\n E: Environment,

","StructuralPartialEq","leo_interpreter::value::SvmAddress"]]]]); + if (window.register_type_impls) { + window.register_type_impls(type_impls); + } else { + window.pending_type_impls = type_impls; + } +})() +//{"start":55,"fragment_lengths":[62798]} \ No newline at end of file diff --git a/type.impl/snarkvm_console_types_boolean/struct.Boolean.js b/type.impl/snarkvm_console_types_boolean/struct.Boolean.js new file mode 100644 index 0000000000..fb7953669f --- /dev/null +++ b/type.impl/snarkvm_console_types_boolean/struct.Boolean.js @@ -0,0 +1,9 @@ +(function() { + var type_impls = Object.fromEntries([["leo_interpreter",[["
§

impl<E> BitAnd<&Boolean<E>> for Boolean<E>
where\n E: Environment,

§

fn bitand(\n self,\n other: &Boolean<E>,\n) -> <Boolean<E> as BitAnd<&Boolean<E>>>::Output

Returns the bitwise AND of self and other.

\n
§

type Output = Boolean<E>

The resulting type after applying the & operator.
","BitAnd<&Boolean>","leo_interpreter::value::SvmBoolean"],["
§

impl<E> BitAnd for Boolean<E>
where\n E: Environment,

§

fn bitand(self, other: Boolean<E>) -> <Boolean<E> as BitAnd>::Output

Returns the bitwise AND`` of selfandother`.

\n
§

type Output = Boolean<E>

The resulting type after applying the & operator.
","BitAnd","leo_interpreter::value::SvmBoolean"],["
§

impl<E> BitAndAssign for Boolean<E>
where\n E: Environment,

§

fn bitand_assign(&mut self, other: Boolean<E>)

Sets self as the bitwise AND of self and other.

\n
","BitAndAssign","leo_interpreter::value::SvmBoolean"],["
§

impl<E> BitOr<&Boolean<E>> for Boolean<E>
where\n E: Environment,

§

fn bitor(self, other: &Boolean<E>) -> <Boolean<E> as BitOr<&Boolean<E>>>::Output

Returns the bitwise OR of self and other.

\n
§

type Output = Boolean<E>

The resulting type after applying the | operator.
","BitOr<&Boolean>","leo_interpreter::value::SvmBoolean"],["
§

impl<E> BitOr for Boolean<E>
where\n E: Environment,

§

fn bitor(self, other: Boolean<E>) -> <Boolean<E> as BitOr>::Output

Returns the bitwise OR of self and other.

\n
§

type Output = Boolean<E>

The resulting type after applying the | operator.
","BitOr","leo_interpreter::value::SvmBoolean"],["
§

impl<E> BitOrAssign for Boolean<E>
where\n E: Environment,

§

fn bitor_assign(&mut self, other: Boolean<E>)

Sets self as the bitwise OR of self and other.

\n
","BitOrAssign","leo_interpreter::value::SvmBoolean"],["
§

impl<E> BitXor<&Boolean<E>> for Boolean<E>
where\n E: Environment,

§

fn bitxor(\n self,\n other: &Boolean<E>,\n) -> <Boolean<E> as BitXor<&Boolean<E>>>::Output

Returns the bitwise XOR of self and other.

\n
§

type Output = Boolean<E>

The resulting type after applying the ^ operator.
","BitXor<&Boolean>","leo_interpreter::value::SvmBoolean"],["
§

impl<E> BitXor for Boolean<E>
where\n E: Environment,

§

fn bitxor(self, other: Boolean<E>) -> <Boolean<E> as BitXor>::Output

Returns the bitwise XOR of self and other.

\n
§

type Output = Boolean<E>

The resulting type after applying the ^ operator.
","BitXor","leo_interpreter::value::SvmBoolean"],["
§

impl<E> BitXorAssign for Boolean<E>
where\n E: Environment,

§

fn bitxor_assign(&mut self, other: Boolean<E>)

Sets self as the bitwise XOR of self and other.

\n
","BitXorAssign","leo_interpreter::value::SvmBoolean"],["
§

impl<E> Boolean<E>
where\n E: Environment,

pub const fn new(boolean: bool) -> Boolean<E>

Initializes a new boolean.

\n

pub const fn zero() -> Boolean<E>

👎Deprecated since 0.1.0: This is used for testing purposes

Initializes a false boolean.

\n
",0,"leo_interpreter::value::SvmBoolean"],["
§

impl<E> Cast<Address<E>> for Boolean<E>
where\n E: Environment,

§

fn cast(&self) -> Result<Address<E>, Error>

Casts a Boolean to an Address.

\n
","Cast>","leo_interpreter::value::SvmBoolean"],["
§

impl<E> Cast<Field<E>> for Boolean<E>
where\n E: Environment,

§

fn cast(&self) -> Result<Field<E>, Error>

Casts a Boolean to a Field.

\n
","Cast>","leo_interpreter::value::SvmBoolean"],["
§

impl<E> Cast<Group<E>> for Boolean<E>
where\n E: Environment,

§

fn cast(&self) -> Result<Group<E>, Error>

Casts a Boolean to a Group.

\n
","Cast>","leo_interpreter::value::SvmBoolean"],["
§

impl<E, I> Cast<Integer<E, I>> for Boolean<E>
where\n E: Environment,\n I: IntegerType,

§

fn cast(&self) -> Result<Integer<E, I>, Error>

Casts a Boolean to an Integer.

\n
","Cast>","leo_interpreter::value::SvmBoolean"],["
§

impl<E> Cast<Scalar<E>> for Boolean<E>
where\n E: Environment,

§

fn cast(&self) -> Result<Scalar<E>, Error>

Casts a Boolean to a Scalar.

\n
","Cast>","leo_interpreter::value::SvmBoolean"],["
§

impl<E> Cast for Boolean<E>
where\n E: Environment,

§

fn cast(&self) -> Result<Boolean<E>, Error>

Casts a Boolean to a Boolean.

\n
","Cast","leo_interpreter::value::SvmBoolean"],["
§

impl<E> CastLossy<Address<E>> for Boolean<E>
where\n E: Environment,

§

fn cast_lossy(&self) -> Address<E>

Casts a Boolean to an Address.\nThis is safe because casting from a boolean to any other type is always lossless.

\n

If the boolean is true, the address is the generator of the prime-order subgroup.\nIf the boolean is false, the address is the zero group element.

\n
","CastLossy>","leo_interpreter::value::SvmBoolean"],["
§

impl<E> CastLossy<Field<E>> for Boolean<E>
where\n E: Environment,

§

fn cast_lossy(&self) -> Field<E>

Casts a Boolean to a Field.\nThis is safe because casting from a boolean to any other type is always lossless.

\n
","CastLossy>","leo_interpreter::value::SvmBoolean"],["
§

impl<E> CastLossy<Group<E>> for Boolean<E>
where\n E: Environment,

§

fn cast_lossy(&self) -> Group<E>

Casts a Boolean to a Group.\nThis is safe because casting from a boolean to any other type is always lossless.

\n

If the boolean is true, the group element is the generator of the prime-order subgroup.\nIf the boolean is false, the group element is the zero group element.

\n
","CastLossy>","leo_interpreter::value::SvmBoolean"],["
§

impl<E, I> CastLossy<Integer<E, I>> for Boolean<E>
where\n E: Environment,\n I: IntegerType,

§

fn cast_lossy(&self) -> Integer<E, I>

Casts a Boolean to an Integer.

\n
","CastLossy>","leo_interpreter::value::SvmBoolean"],["
§

impl<E> CastLossy<Scalar<E>> for Boolean<E>
where\n E: Environment,

§

fn cast_lossy(&self) -> Scalar<E>

Casts a Boolean to a Scalar.\nThis is safe because casting from a boolean to any other type is always lossless.

\n
","CastLossy>","leo_interpreter::value::SvmBoolean"],["
§

impl<E> CastLossy for Boolean<E>
where\n E: Environment,

§

fn cast_lossy(&self) -> Boolean<E>

Casts a Boolean to a Boolean.\nThis is an identity cast, so it is always lossless.

\n
","CastLossy","leo_interpreter::value::SvmBoolean"],["
§

impl<E> Clone for Boolean<E>
where\n E: Clone + Environment,

§

fn clone(&self) -> Boolean<E>

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

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

Performs copy-assignment from source. Read more
","Clone","leo_interpreter::value::SvmBoolean"],["
§

impl<E> Debug for Boolean<E>
where\n E: Environment,

§

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

Formats the value using the given formatter. Read more
","Debug","leo_interpreter::value::SvmBoolean"],["
§

impl<E> Deref for Boolean<E>
where\n E: Environment,

§

type Target = bool

The resulting type after dereferencing.
§

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

Dereferences the value.
","Deref","leo_interpreter::value::SvmBoolean"],["
§

impl<'de, E> Deserialize<'de> for Boolean<E>
where\n E: Environment,

§

fn deserialize<D>(\n deserializer: D,\n) -> Result<Boolean<E>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserializes the boolean from a string or bytes.

\n
","Deserialize<'de>","leo_interpreter::value::SvmBoolean"],["
§

impl<E> Display for Boolean<E>
where\n E: Environment,

§

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

Formats the value using the given formatter. Read more
","Display","leo_interpreter::value::SvmBoolean"],["
§

impl<E> Equal for Boolean<E>
where\n E: Environment,

§

fn is_equal(&self, other: &Boolean<E>) -> <Boolean<E> as Equal>::Output

Returns true if self and other are equal.

\n
§

fn is_not_equal(&self, other: &Boolean<E>) -> <Boolean<E> as Equal>::Output

Returns true if self and other are not equal.

\n
§

type Output = Boolean<E>

","Equal","leo_interpreter::value::SvmBoolean"],["
§

impl<E> FromBits for Boolean<E>
where\n E: Environment,

§

fn from_bits_le(bits_le: &[bool]) -> Result<Boolean<E>, Error>

Initializes a new boolean by extracting the first bit from a list of length 1.

\n
§

fn from_bits_be(bits_be: &[bool]) -> Result<Boolean<E>, Error>

Initializes a new boolean by extracting the first bit from a list of length 1.

\n
","FromBits","leo_interpreter::value::SvmBoolean"],["
§

impl<E> FromBytes for Boolean<E>
where\n E: Environment,

§

fn read_le<R>(reader: R) -> Result<Boolean<E>, Error>
where\n R: Read,

Reads the boolean from a buffer.

\n
§

fn from_bytes_le(bytes: &[u8]) -> Result<Self, Error>
where\n Self: Sized,

Returns Self from a byte array in little-endian order.
","FromBytes","leo_interpreter::value::SvmBoolean"],["
§

impl<E> FromStr for Boolean<E>
where\n E: Environment,

§

fn from_str(string: &str) -> Result<Boolean<E>, Error>

Parses a string into a boolean.

\n
§

type Err = Error

The associated error which can be returned from parsing.
","FromStr","leo_interpreter::value::SvmBoolean"],["
§

impl<E> Hash for Boolean<E>
where\n E: Hash + Environment,

§

fn hash<__H>(&self, state: &mut __H)
where\n __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","leo_interpreter::value::SvmBoolean"],["
§

impl<E> Nand for Boolean<E>
where\n E: Environment,

§

fn nand(&self, other: &Boolean<E>) -> <Boolean<E> as Nand>::Output

Returns the bitwise NAND of self and other.

\n
§

type Output = Boolean<E>

","Nand","leo_interpreter::value::SvmBoolean"],["
§

impl<E> Nor for Boolean<E>
where\n E: Environment,

§

fn nor(&self, other: &Boolean<E>) -> <Boolean<E> as Nor>::Output

Returns the bitwise NOR of self and other.

\n
§

type Output = Boolean<E>

","Nor","leo_interpreter::value::SvmBoolean"],["
§

impl<E> Not for Boolean<E>
where\n E: Environment,

§

fn not(self) -> <Boolean<E> as Not>::Output

Returns the negation of self.

\n
§

type Output = Boolean<E>

The resulting type after applying the ! operator.
","Not","leo_interpreter::value::SvmBoolean"],["
§

impl<E> Parser for Boolean<E>
where\n E: Environment,

§

fn parse(string: &str) -> Result<(&str, Boolean<E>), Err<VerboseError<&str>>>

Parses a string into a boolean.

\n
","Parser","leo_interpreter::value::SvmBoolean"],["
§

impl<E> PartialEq for Boolean<E>
where\n E: PartialEq + Environment,

§

fn eq(&self, other: &Boolean<E>) -> bool

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

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

Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
","PartialEq","leo_interpreter::value::SvmBoolean"],["
§

impl<E> Serialize for Boolean<E>
where\n E: Environment,

§

fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serializes the boolean into a string or as bytes.

\n
","Serialize","leo_interpreter::value::SvmBoolean"],["
§

impl<E> SizeInBits for Boolean<E>
where\n E: Environment,

§

fn size_in_bits() -> usize

Returns the field size in bits.

\n
","SizeInBits","leo_interpreter::value::SvmBoolean"],["
§

impl<E> SizeInBytes for Boolean<E>
where\n E: Environment,

§

fn size_in_bytes() -> usize

Returns the boolean size in bytes.

\n
","SizeInBytes","leo_interpreter::value::SvmBoolean"],["
§

impl<E> SizeInDataBits for Boolean<E>
where\n E: Environment,

§

fn size_in_data_bits() -> usize

Returns the field capacity for data bits.

\n
","SizeInDataBits","leo_interpreter::value::SvmBoolean"],["
§

impl<E> Ternary for Boolean<E>
where\n E: Environment,

§

fn ternary(\n condition: &<Boolean<E> as Ternary>::Boolean,\n first: &Boolean<E>,\n second: &Boolean<E>,\n) -> <Boolean<E> as Ternary>::Output

Returns first if condition is true, otherwise returns second.

\n
§

type Boolean = Boolean<E>

§

type Output = Boolean<E>

","Ternary","leo_interpreter::value::SvmBoolean"],["
§

impl<E> ToBits for Boolean<E>
where\n E: Environment,

§

fn write_bits_le(&self, vec: &mut Vec<bool>)

Outputs self in a vector.

\n
§

fn write_bits_be(&self, vec: &mut Vec<bool>)

Outputs self in a vector.

\n
§

fn to_bits_le(&self) -> Vec<bool>

Returns self as a boolean array in little-endian order.
§

fn to_bits_be(&self) -> Vec<bool>

Returns self as a boolean array in big-endian order.
§

fn num_bits() -> Option<usize>

An optional indication of how many bits an object can be represented with.
","ToBits","leo_interpreter::value::SvmBoolean"],["
§

impl<E> ToBytes for Boolean<E>
where\n E: Environment,

§

fn write_le<W>(&self, writer: W) -> Result<(), Error>
where\n W: Write,

Writes the boolean to a buffer.

\n
§

fn to_bytes_le(&self) -> Result<Vec<u8>, Error>
where\n Self: Sized,

Returns self as a byte array in little-endian order.
","ToBytes","leo_interpreter::value::SvmBoolean"],["
§

impl<E> TypeName for Boolean<E>
where\n E: Environment,

§

fn type_name() -> &'static str

Returns the type name as a string.

\n
","TypeName","leo_interpreter::value::SvmBoolean"],["
§

impl<E> BooleanTrait for Boolean<E>
where\n E: Environment,

","BooleanTrait","leo_interpreter::value::SvmBoolean"],["
§

impl<E> Copy for Boolean<E>
where\n E: Copy + Environment,

","Copy","leo_interpreter::value::SvmBoolean"],["
§

impl<E> Eq for Boolean<E>
where\n E: Eq + Environment,

","Eq","leo_interpreter::value::SvmBoolean"],["
§

impl<E> StructuralPartialEq for Boolean<E>
where\n E: Environment,

","StructuralPartialEq","leo_interpreter::value::SvmBoolean"]]]]); + if (window.register_type_impls) { + window.register_type_impls(type_impls); + } else { + window.pending_type_impls = type_impls; + } +})() +//{"start":55,"fragment_lengths":[71518]} \ No newline at end of file diff --git a/type.impl/snarkvm_console_types_field/struct.Field.js b/type.impl/snarkvm_console_types_field/struct.Field.js new file mode 100644 index 0000000000..cadb55bdf7 --- /dev/null +++ b/type.impl/snarkvm_console_types_field/struct.Field.js @@ -0,0 +1,9 @@ +(function() { + var type_impls = Object.fromEntries([["leo_interpreter",[["
§

impl<E> Add<&Field<E>> for Field<E>
where\n E: Environment,

§

fn add(self, other: &Field<E>) -> <Field<E> as Add<&Field<E>>>::Output

Returns the sum of self and other.

\n
§

type Output = Field<E>

The resulting type after applying the + operator.
","Add<&Field>","leo_interpreter::value::SvmField"],["
§

impl<E> Add for Field<E>
where\n E: Environment,

§

fn add(self, other: Field<E>) -> <Field<E> as Add>::Output

Returns the sum of self and other.

\n
§

type Output = Field<E>

The resulting type after applying the + operator.
","Add","leo_interpreter::value::SvmField"],["
§

impl<E> AddAssign<&Field<E>> for Field<E>
where\n E: Environment,

§

fn add_assign(&mut self, other: &Field<E>)

Adds other to self.

\n
","AddAssign<&Field>","leo_interpreter::value::SvmField"],["
§

impl<E> AddAssign for Field<E>
where\n E: Environment,

§

fn add_assign(&mut self, other: Field<E>)

Adds other to self.

\n
","AddAssign","leo_interpreter::value::SvmField"],["
§

impl<E> Cast<Address<E>> for Field<E>
where\n E: Environment,

§

fn cast(&self) -> Result<Address<E>, Error>

Casts a Field to an Address.

\n

This operation attempts to recover the group element from the field element, and then\nconstructs an address from the group element.

\n

To cast arbitrary field elements to addresses, use Field::cast_lossy.

\n
","Cast>","leo_interpreter::value::SvmField"],["
§

impl<E> Cast<Boolean<E>> for Field<E>
where\n E: Environment,

§

fn cast(&self) -> Result<Boolean<E>, Error>

Casts a Field to a Boolean, if the field is zero or one.

\n

To cast arbitrary field elements to booleans, use Field::cast_lossy.

\n
","Cast>","leo_interpreter::value::SvmField"],["
§

impl<E> Cast<Group<E>> for Field<E>
where\n E: Environment,

§

fn cast(&self) -> Result<Group<E>, Error>

Casts a Field to a Group.

\n

This operation attempts to recover the group element from the field element,\nand returns an error if the field element is not a valid x-coordinate.

\n

To cast arbitrary field elements to groups, use Field::cast_lossy.

\n
","Cast>","leo_interpreter::value::SvmField"],["
§

impl<E, I> Cast<Integer<E, I>> for Field<E>
where\n E: Environment,\n I: IntegerType,

§

fn cast(&self) -> Result<Integer<E, I>, Error>

Casts a Field to an Integer, if the field element is in the integer’s range.

\n

To cast arbitrary field elements to integers, use Field::cast_lossy.

\n
","Cast>","leo_interpreter::value::SvmField"],["
§

impl<E> Cast<Scalar<E>> for Field<E>
where\n E: Environment,

§

fn cast(&self) -> Result<Scalar<E>, Error>

Casts a Field to a Scalar, if the field element is in the scalar’s range.

\n

To cast arbitrary field elements to scalars, use Field::cast_lossy.

\n
","Cast>","leo_interpreter::value::SvmField"],["
§

impl<E> Cast for Field<E>
where\n E: Environment,

§

fn cast(&self) -> Result<Field<E>, Error>

Casts a Field to a Field.

\n
","Cast","leo_interpreter::value::SvmField"],["
§

impl<E> CastLossy<Address<E>> for Field<E>
where\n E: Environment,

§

fn cast_lossy(&self) -> Address<E>

Casts a Field to an Address.

\n

This operation attempts to recover the group element from the given field,\nwhich is then used to construct the address. See the documentation of Field::cast_lossy\non the Group type for more details.

\n
","CastLossy>","leo_interpreter::value::SvmField"],["
§

impl<E> CastLossy<Boolean<E>> for Field<E>
where\n E: Environment,

§

fn cast_lossy(&self) -> Boolean<E>

Casts a Field to a Boolean, with lossy truncation.\nThis operation returns the least significant bit of the field.

\n
","CastLossy>","leo_interpreter::value::SvmField"],["
§

impl<E> CastLossy<Group<E>> for Field<E>
where\n E: Environment,

§

fn cast_lossy(&self) -> Group<E>

Casts a Field to a Group.

\n

This operation attempts to recover the group element from the given field.

\n

If the field is a valid x-coordinate, then the group element is returned.\nIf the field is not a valid x-coordinate, then if the field is the one element,\nthe generator of the prime-order subgroup is returned.\nOtherwise, Elligator-2 is applied to the field element to recover a group element.

\n
","CastLossy>","leo_interpreter::value::SvmField"],["
§

impl<E, I> CastLossy<Integer<E, I>> for Field<E>
where\n E: Environment,\n I: IntegerType,

§

fn cast_lossy(&self) -> Integer<E, I>

Casts a Field to an Integer, with lossy truncation.\nThis operation truncates the field to an integer.

\n
","CastLossy>","leo_interpreter::value::SvmField"],["
§

impl<E> CastLossy<Scalar<E>> for Field<E>
where\n E: Environment,

§

fn cast_lossy(&self) -> Scalar<E>

Casts a Field to a Scalar, with lossy truncation.\nThis operation truncates the field to a scalar.

\n
","CastLossy>","leo_interpreter::value::SvmField"],["
§

impl<E> CastLossy for Field<E>
where\n E: Environment,

§

fn cast_lossy(&self) -> Field<E>

Casts a Field to a Field.\nThis is an identity cast, so it is always lossless.

\n
","CastLossy","leo_interpreter::value::SvmField"],["
§

impl<E> Clone for Field<E>
where\n E: Clone + Environment,\n <E as Environment>::Field: Clone,

§

fn clone(&self) -> Field<E>

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

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

Performs copy-assignment from source. Read more
","Clone","leo_interpreter::value::SvmField"],["
§

impl<E> Compare for Field<E>
where\n E: Environment,

§

fn is_less_than(&self, other: &Field<E>) -> <Field<E> as Compare>::Output

Returns true if self is less than other.

\n
§

fn is_greater_than(&self, other: &Field<E>) -> <Field<E> as Compare>::Output

Returns true if self is greater than other.

\n
§

fn is_less_than_or_equal(\n &self,\n other: &Field<E>,\n) -> <Field<E> as Compare>::Output

Returns true if self is less than or equal to other.

\n
§

fn is_greater_than_or_equal(\n &self,\n other: &Field<E>,\n) -> <Field<E> as Compare>::Output

Returns true if self is greater than or equal to other.

\n
§

type Output = Boolean<E>

","Compare","leo_interpreter::value::SvmField"],["
§

impl<E> Debug for Field<E>
where\n E: Environment,

§

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

Formats the value using the given formatter. Read more
","Debug","leo_interpreter::value::SvmField"],["
§

impl<E> Default for Field<E>
where\n E: Environment,

§

fn default() -> Field<E>

Returns the default field element.

\n
","Default","leo_interpreter::value::SvmField"],["
§

impl<E> Deref for Field<E>
where\n E: Environment,

§

type Target = <E as Environment>::Field

The resulting type after dereferencing.
§

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

Dereferences the value.
","Deref","leo_interpreter::value::SvmField"],["
§

impl<E> DerefMut for Field<E>
where\n E: Environment,

§

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

Mutably dereferences the value.
","DerefMut","leo_interpreter::value::SvmField"],["
§

impl<'de, E> Deserialize<'de> for Field<E>
where\n E: Environment,

§

fn deserialize<D>(\n deserializer: D,\n) -> Result<Field<E>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserializes the field from a string or bytes.

\n
","Deserialize<'de>","leo_interpreter::value::SvmField"],["
§

impl<E> Display for Field<E>
where\n E: Environment,

§

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

Formats the value using the given formatter. Read more
","Display","leo_interpreter::value::SvmField"],["
§

impl<E> Div<&Field<E>> for Field<E>
where\n E: Environment,

§

fn div(self, other: &Field<E>) -> <Field<E> as Div<&Field<E>>>::Output

Returns the quotient of self and other.

\n
§

type Output = Field<E>

The resulting type after applying the / operator.
","Div<&Field>","leo_interpreter::value::SvmField"],["
§

impl<E> Div for Field<E>
where\n E: Environment,

§

fn div(self, other: Field<E>) -> <Field<E> as Div>::Output

Returns the quotient of self and other.

\n
§

type Output = Field<E>

The resulting type after applying the / operator.
","Div","leo_interpreter::value::SvmField"],["
§

impl<E> DivAssign<&Field<E>> for Field<E>
where\n E: Environment,

§

fn div_assign(&mut self, other: &Field<E>)

Divides self by other.

\n
","DivAssign<&Field>","leo_interpreter::value::SvmField"],["
§

impl<E> DivAssign for Field<E>
where\n E: Environment,

§

fn div_assign(&mut self, other: Field<E>)

Divides self by other.

\n
","DivAssign","leo_interpreter::value::SvmField"],["
§

impl<E> Double for Field<E>
where\n E: Environment,

§

fn double(&self) -> <Field<E> as Double>::Output

Returns the double of self.

\n
§

type Output = Field<E>

","Double","leo_interpreter::value::SvmField"],["
§

impl<E> Equal for Field<E>
where\n E: Environment,

§

fn is_equal(&self, other: &Field<E>) -> <Field<E> as Equal>::Output

Returns true if self and other are equal.

\n
§

fn is_not_equal(&self, other: &Field<E>) -> <Field<E> as Equal>::Output

Returns true if self and other are not equal.

\n
§

type Output = Boolean<E>

","Equal","leo_interpreter::value::SvmField"],["
§

impl<E> Field<E>
where\n E: Environment,

pub fn even_square_root(&self) -> Result<Field<E>, Error>

Returns the square_root of self, where the least significant bit of the square root is zero.

\n
",0,"leo_interpreter::value::SvmField"],["
§

impl<E> Field<E>
where\n E: Environment,

pub const SIZE_IN_BITS: usize = <E::Field>::SIZE_IN_BITS

The field size in bits.

\n

pub const SIZE_IN_BYTES: usize = _

The field size in bytes.

\n

pub const SIZE_IN_DATA_BITS: usize = <E::Field>::SIZE_IN_DATA_BITS

The field capacity for data bits.

\n

pub const fn new(field: <E as Environment>::Field) -> Field<E>

Initializes a new field.

\n

pub fn new_domain_separator(domain: &str) -> Field<E>

Initializes a new field as a domain separator.

\n

pub fn from_u8(value: u8) -> Field<E>

Initializes a new field from a u8.

\n

pub fn from_u16(value: u16) -> Field<E>

Initializes a new field from a u16.

\n

pub fn from_u32(value: u32) -> Field<E>

Initializes a new field from a u32.

\n

pub fn from_u64(value: u64) -> Field<E>

Initializes a new field from a u64.

\n

pub fn from_u128(value: u128) -> Field<E>

Initializes a new field from a u128.

\n

pub fn half() -> Field<E>

Returns 1 * 2^{-1}.

\n
",0,"leo_interpreter::value::SvmField"],["
§

impl<E> FromBits for Field<E>
where\n E: Environment,

§

fn from_bits_le(bits_le: &[bool]) -> Result<Field<E>, Error>

Initializes a new field from a list of little-endian bits.

\n
    \n
  • If bits_le is longer than E::Field::size_in_bits(), the excess bits are enforced to be 0s.
  • \n
  • If bits_le is shorter than E::Field::size_in_bits(), it is padded with 0s up to field size.
  • \n
\n
§

fn from_bits_be(bits_be: &[bool]) -> Result<Field<E>, Error>

Initializes a new field from a list of big-endian bits without leading zeros.

\n
","FromBits","leo_interpreter::value::SvmField"],["
§

impl<E> FromBytes for Field<E>
where\n E: Environment,

§

fn read_le<R>(reader: R) -> Result<Field<E>, Error>
where\n R: Read,

Reads the field from a buffer.

\n
§

fn from_bytes_le(bytes: &[u8]) -> Result<Self, Error>
where\n Self: Sized,

Returns Self from a byte array in little-endian order.
","FromBytes","leo_interpreter::value::SvmField"],["
§

impl<E> FromStr for Field<E>
where\n E: Environment,

§

fn from_str(string: &str) -> Result<Field<E>, Error>

Parses a string into a field.

\n
§

type Err = Error

The associated error which can be returned from parsing.
","FromStr","leo_interpreter::value::SvmField"],["
§

impl<E> Hash for Field<E>
where\n E: Hash + Environment,\n <E as Environment>::Field: Hash,

§

fn hash<__H>(&self, state: &mut __H)
where\n __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","leo_interpreter::value::SvmField"],["
§

impl<E> Inverse for Field<E>
where\n E: Environment,

§

fn inverse(&self) -> Result<<Field<E> as Inverse>::Output, Error>

Returns the inverse of self.

\n
§

type Output = Field<E>

","Inverse","leo_interpreter::value::SvmField"],["
§

impl<E> Mul<&Field<E>> for Field<E>
where\n E: Environment,

§

fn mul(self, other: &Field<E>) -> <Field<E> as Mul<&Field<E>>>::Output

Returns the product of self and other.

\n
§

type Output = Field<E>

The resulting type after applying the * operator.
","Mul<&Field>","leo_interpreter::value::SvmField"],["
§

impl<E> Mul for Field<E>
where\n E: Environment,

§

fn mul(self, other: Field<E>) -> <Field<E> as Mul>::Output

Returns the product of self and other.

\n
§

type Output = Field<E>

The resulting type after applying the * operator.
","Mul","leo_interpreter::value::SvmField"],["
§

impl<E> MulAssign<&Field<E>> for Field<E>
where\n E: Environment,

§

fn mul_assign(&mut self, other: &Field<E>)

Multiplies self by other.

\n
","MulAssign<&Field>","leo_interpreter::value::SvmField"],["
§

impl<E> MulAssign for Field<E>
where\n E: Environment,

§

fn mul_assign(&mut self, other: Field<E>)

Multiplies self by other.

\n
","MulAssign","leo_interpreter::value::SvmField"],["
§

impl<E> Neg for Field<E>
where\n E: Environment,

§

fn neg(self) -> <Field<E> as Neg>::Output

Returns the negation of self.

\n
§

type Output = Field<E>

The resulting type after applying the - operator.
","Neg","leo_interpreter::value::SvmField"],["
§

impl<E> One for Field<E>
where\n E: Environment,

§

fn one() -> Field<E>

Returns the 1 element of the field.

\n
§

fn is_one(&self) -> bool

Returns true if the element is one.

\n
source§

fn set_one(&mut self)

Sets self to the multiplicative identity element of Self, 1.
","One","leo_interpreter::value::SvmField"],["
§

impl<E> Ord for Field<E>
where\n E: Environment,

§

fn cmp(&self, other: &Field<E>) -> Ordering

Returns the lexicographic ordering of self and other.

\n
1.21.0 · source§

fn max(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where\n Self: Sized,

Restrict a value to a certain interval. Read more
","Ord","leo_interpreter::value::SvmField"],["
§

impl<E> Parser for Field<E>
where\n E: Environment,

§

fn parse(string: &str) -> Result<(&str, Field<E>), Err<VerboseError<&str>>>

Parses a string into a field circuit.

\n
","Parser","leo_interpreter::value::SvmField"],["
§

impl<E> PartialEq for Field<E>
where\n E: PartialEq + Environment,\n <E as Environment>::Field: PartialEq,

§

fn eq(&self, other: &Field<E>) -> bool

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

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

Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
","PartialEq","leo_interpreter::value::SvmField"],["
§

impl<E> PartialOrd for Field<E>
where\n E: Environment,

§

fn partial_cmp(&self, other: &Field<E>) -> Option<Ordering>

Returns the lexicographic ordering of self and other.

\n
1.0.0 · source§

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

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

Tests less than or equal to (for self and other) and is used by the\n<= operator. Read more
1.0.0 · source§

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

Tests greater than (for self and other) and is used by the >\noperator. Read more
1.0.0 · source§

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

Tests greater than or equal to (for self and other) and is used by\nthe >= operator. Read more
","PartialOrd","leo_interpreter::value::SvmField"],["
§

impl<E> Pow<&Field<E>> for Field<E>
where\n E: Environment,

§

fn pow(self, other: &Field<E>) -> <Field<E> as Pow<&Field<E>>>::Output

Returns the power of self to the power of other.

\n
§

type Output = Field<E>

The result after applying the operator.
","Pow<&Field>","leo_interpreter::value::SvmField"],["
§

impl<E> Pow<Field<E>> for Field<E>
where\n E: Environment,

§

fn pow(self, other: Field<E>) -> <Field<E> as Pow<Field<E>>>::Output

Returns the power of self to the power of other.

\n
§

type Output = Field<E>

The result after applying the operator.
","Pow>","leo_interpreter::value::SvmField"],["
§

impl<'a, E> Product<&'a Field<E>> for Field<E>
where\n E: Environment,

§

fn product<I>(iter: I) -> Field<E>
where\n I: Iterator<Item = &'a Field<E>>,

Returns the product of self and other.

\n
","Product<&'a Field>","leo_interpreter::value::SvmField"],["
§

impl<E> Product for Field<E>
where\n E: Environment,

§

fn product<I>(iter: I) -> Field<E>
where\n I: Iterator<Item = Field<E>>,

Returns the product of self and other.

\n
","Product","leo_interpreter::value::SvmField"],["
§

impl<E> Serialize for Field<E>
where\n E: Environment,

§

fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serializes the field into a string or as bytes.

\n
","Serialize","leo_interpreter::value::SvmField"],["
§

impl<E> SizeInBits for Field<E>
where\n E: Environment,

§

fn size_in_bits() -> usize

Returns the field size in bits.

\n
","SizeInBits","leo_interpreter::value::SvmField"],["
§

impl<E> SizeInBytes for Field<E>
where\n E: Environment,

§

fn size_in_bytes() -> usize

Returns the field size in bytes.

\n
","SizeInBytes","leo_interpreter::value::SvmField"],["
§

impl<E> SizeInDataBits for Field<E>
where\n E: Environment,

§

fn size_in_data_bits() -> usize

Returns the field capacity for data bits.

\n
","SizeInDataBits","leo_interpreter::value::SvmField"],["
§

impl<E> Square for Field<E>
where\n E: Environment,

§

fn square(&self) -> <Field<E> as Square>::Output

Returns the square of self.

\n
§

type Output = Field<E>

","Square","leo_interpreter::value::SvmField"],["
§

impl<E> SquareRoot for Field<E>
where\n E: Environment,

§

fn square_root(&self) -> Result<<Field<E> as SquareRoot>::Output, Error>

Returns the square_root of self.\nIf there are two square roots, the bitwise lesser one is returned.

\n
§

type Output = Field<E>

","SquareRoot","leo_interpreter::value::SvmField"],["
§

impl<E> Sub<&Field<E>> for Field<E>
where\n E: Environment,

§

fn sub(self, other: &Field<E>) -> <Field<E> as Sub<&Field<E>>>::Output

Returns the difference of self and other.

\n
§

type Output = Field<E>

The resulting type after applying the - operator.
","Sub<&Field>","leo_interpreter::value::SvmField"],["
§

impl<E> Sub for Field<E>
where\n E: Environment,

§

fn sub(self, other: Field<E>) -> <Field<E> as Sub>::Output

Returns the difference of self and other.

\n
§

type Output = Field<E>

The resulting type after applying the - operator.
","Sub","leo_interpreter::value::SvmField"],["
§

impl<E> SubAssign<&Field<E>> for Field<E>
where\n E: Environment,

§

fn sub_assign(&mut self, other: &Field<E>)

Subtracts other from self.

\n
","SubAssign<&Field>","leo_interpreter::value::SvmField"],["
§

impl<E> SubAssign for Field<E>
where\n E: Environment,

§

fn sub_assign(&mut self, other: Field<E>)

Subtracts other from self.

\n
","SubAssign","leo_interpreter::value::SvmField"],["
§

impl<'a, E> Sum<&'a Field<E>> for Field<E>
where\n E: Environment,

§

fn sum<I>(iter: I) -> Field<E>
where\n I: Iterator<Item = &'a Field<E>>,

Returns the sum of self and other.

\n
","Sum<&'a Field>","leo_interpreter::value::SvmField"],["
§

impl<E> Sum for Field<E>
where\n E: Environment,

§

fn sum<I>(iter: I) -> Field<E>
where\n I: Iterator<Item = Field<E>>,

Returns the sum of self and other.

\n
","Sum","leo_interpreter::value::SvmField"],["
§

impl<E> Ternary for Field<E>
where\n E: Environment,

§

fn ternary(\n condition: &<Field<E> as Ternary>::Boolean,\n first: &Field<E>,\n second: &Field<E>,\n) -> <Field<E> as Ternary>::Output

Returns first if condition is true, otherwise returns second.

\n
§

type Boolean = Boolean<E>

§

type Output = Field<E>

","Ternary","leo_interpreter::value::SvmField"],["
§

impl<E> ToBits for Field<E>
where\n E: Environment,

§

fn write_bits_le(&self, vec: &mut Vec<bool>)

Outputs the little-endian bit representation of self without trailing zeros.

\n
§

fn write_bits_be(&self, vec: &mut Vec<bool>)

Outputs the big-endian bit representation of self without leading zeros.

\n
§

fn to_bits_le(&self) -> Vec<bool>

Returns self as a boolean array in little-endian order.
§

fn to_bits_be(&self) -> Vec<bool>

Returns self as a boolean array in big-endian order.
§

fn num_bits() -> Option<usize>

An optional indication of how many bits an object can be represented with.
","ToBits","leo_interpreter::value::SvmField"],["
§

impl<E> ToBytes for Field<E>
where\n E: Environment,

§

fn write_le<W>(&self, writer: W) -> Result<(), Error>
where\n W: Write,

Writes the field to a buffer.

\n
§

fn to_bytes_le(&self) -> Result<Vec<u8>, Error>
where\n Self: Sized,

Returns self as a byte array in little-endian order.
","ToBytes","leo_interpreter::value::SvmField"],["
§

impl<E> TypeName for Field<E>
where\n E: Environment,

§

fn type_name() -> &'static str

Returns the type name as a string.

\n
","TypeName","leo_interpreter::value::SvmField"],["
§

impl<E> Zero for Field<E>
where\n E: Environment,

§

fn zero() -> Field<E>

Returns the 0 element of the field.

\n
§

fn is_zero(&self) -> bool

Returns true if the element is zero.

\n
source§

fn set_zero(&mut self)

Sets self to the additive identity element of Self, 0.
","Zero","leo_interpreter::value::SvmField"],["
§

impl<E> Zeroize for Field<E>
where\n E: Environment,

§

fn zeroize(&mut self)

Zero out this object from memory using Rust intrinsics which ensure the\nzeroization operation is not “optimized away” by the compiler.
","Zeroize","leo_interpreter::value::SvmField"],["
§

impl<E> Copy for Field<E>
where\n E: Copy + Environment,\n <E as Environment>::Field: Copy,

","Copy","leo_interpreter::value::SvmField"],["
§

impl<E> Eq for Field<E>
where\n E: Eq + Environment,\n <E as Environment>::Field: Eq,

","Eq","leo_interpreter::value::SvmField"],["
§

impl<E> FieldTrait for Field<E>
where\n E: Environment,

","FieldTrait","leo_interpreter::value::SvmField"],["
§

impl<E> StructuralPartialEq for Field<E>
where\n E: Environment,

","StructuralPartialEq","leo_interpreter::value::SvmField"]]]]); + if (window.register_type_impls) { + window.register_type_impls(type_impls); + } else { + window.pending_type_impls = type_impls; + } +})() +//{"start":55,"fragment_lengths":[118226]} \ No newline at end of file diff --git a/type.impl/snarkvm_console_types_group/struct.Group.js b/type.impl/snarkvm_console_types_group/struct.Group.js new file mode 100644 index 0000000000..9a85cdec41 --- /dev/null +++ b/type.impl/snarkvm_console_types_group/struct.Group.js @@ -0,0 +1,9 @@ +(function() { + var type_impls = Object.fromEntries([["leo_interpreter",[["
§

impl<E> Add<&Group<E>> for Group<E>
where\n E: Environment,

§

fn add(self, other: &Group<E>) -> <Group<E> as Add<&Group<E>>>::Output

Returns the sum of self and other.

\n
§

type Output = Group<E>

The resulting type after applying the + operator.
","Add<&Group>","leo_interpreter::value::SvmGroup"],["
§

impl<E> Add for Group<E>
where\n E: Environment,

§

fn add(self, other: Group<E>) -> <Group<E> as Add>::Output

Returns the sum of self and other.

\n
§

type Output = Group<E>

The resulting type after applying the + operator.
","Add","leo_interpreter::value::SvmGroup"],["
§

impl<E> AddAssign<&Group<E>> for Group<E>
where\n E: Environment,

§

fn add_assign(&mut self, other: &Group<E>)

Adds other to self.

\n
","AddAssign<&Group>","leo_interpreter::value::SvmGroup"],["
§

impl<E> AddAssign for Group<E>
where\n E: Environment,

§

fn add_assign(&mut self, other: Group<E>)

Adds other to self.

\n
","AddAssign","leo_interpreter::value::SvmGroup"],["
§

impl<E> Clone for Group<E>
where\n E: Clone + Environment,\n <E as Environment>::Projective: Clone,

§

fn clone(&self) -> Group<E>

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

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

Performs copy-assignment from source. Read more
","Clone","leo_interpreter::value::SvmGroup"],["
§

impl<E> Debug for Group<E>
where\n E: Environment,

§

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

Formats the value using the given formatter. Read more
","Debug","leo_interpreter::value::SvmGroup"],["
§

impl<E> Deref for Group<E>
where\n E: Environment,

§

type Target = <E as Environment>::Projective

The resulting type after dereferencing.
§

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

Dereferences the value.
","Deref","leo_interpreter::value::SvmGroup"],["
§

impl<'de, E> Deserialize<'de> for Group<E>
where\n E: Environment,

§

fn deserialize<D>(\n deserializer: D,\n) -> Result<Group<E>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserializes the group from a string or bytes.

\n
","Deserialize<'de>","leo_interpreter::value::SvmGroup"],["
§

impl<E> Display for Group<E>
where\n E: Environment,

§

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

Formats the value using the given formatter. Read more
","Display","leo_interpreter::value::SvmGroup"],["
§

impl<E> Double for Group<E>
where\n E: Environment,

§

fn double(&self) -> <Group<E> as Double>::Output

Returns the double of self.

\n
§

type Output = Group<E>

","Double","leo_interpreter::value::SvmGroup"],["
§

impl<E> Equal for Group<E>
where\n E: Environment,

§

fn is_equal(&self, other: &Group<E>) -> <Group<E> as Equal>::Output

Returns true if self and other are equal.

\n
§

fn is_not_equal(&self, other: &Group<E>) -> <Group<E> as Equal>::Output

Returns true if self and other are not equal.

\n
§

type Output = Boolean<E>

","Equal","leo_interpreter::value::SvmGroup"],["
§

impl<E> FromBits for Group<E>
where\n E: Environment,

§

fn from_bits_le(bits_le: &[bool]) -> Result<Group<E>, Error>

Initializes a new group by recovering the x-coordinate of an affine group from a list of little-endian bits.

\n
§

fn from_bits_be(bits_be: &[bool]) -> Result<Group<E>, Error>

Initializes a new group by recovering the x-coordinate of an affine group from a list of big-endian bits.

\n
","FromBits","leo_interpreter::value::SvmGroup"],["
§

impl<E> FromBytes for Group<E>
where\n E: Environment,

§

fn read_le<R>(reader: R) -> Result<Group<E>, Error>
where\n R: Read,

Reads the group from a buffer.

\n
§

fn from_bytes_le(bytes: &[u8]) -> Result<Self, Error>
where\n Self: Sized,

Returns Self from a byte array in little-endian order.
","FromBytes","leo_interpreter::value::SvmGroup"],["
§

impl<E> FromField for Group<E>
where\n E: Environment,

§

fn from_field(field: &<Group<E> as FromField>::Field) -> Result<Group<E>, Error>

Initializes a new group by recovering the x-coordinate of an affine group from a field element.

\n
§

type Field = Field<E>

","FromField","leo_interpreter::value::SvmGroup"],["
§

impl<E> FromFields for Group<E>
where\n E: Environment,

§

fn from_fields(\n fields: &[<Group<E> as FromFields>::Field],\n) -> Result<Group<E>, Error>

Initializes a new group by recovering the x-coordinate of an affine group from a field element.

\n
§

type Field = Field<E>

","FromFields","leo_interpreter::value::SvmGroup"],["
§

impl<E> FromStr for Group<E>
where\n E: Environment,

§

fn from_str(string: &str) -> Result<Group<E>, Error>

Parses a string into a group.

\n
§

type Err = Error

The associated error which can be returned from parsing.
","FromStr","leo_interpreter::value::SvmGroup"],["
§

impl<E> Group<E>
where\n E: Environment,

pub fn from_x_coordinate(x_coordinate: Field<E>) -> Result<Group<E>, Error>

Attempts to recover an affine group element from a given x-coordinate field element.\nFor safety, the resulting point is always enforced to be on the curve and in the correct subgroup.

\n
",0,"leo_interpreter::value::SvmGroup"],["
§

impl<E> Group<E>
where\n E: Environment,

pub fn from_xy_coordinates(x: Field<E>, y: Field<E>) -> Group<E>

Initializes a new group from the (x, y) affine coordinates.

\n

pub fn from_xy_coordinates_unchecked(x: Field<E>, y: Field<E>) -> Group<E>

Initializes a new group from the (x, y) affine coordinates.\nNote: The resulting point is not enforced to be on the curve or in the subgroup.

\n
",0,"leo_interpreter::value::SvmGroup"],["
§

impl<E> Group<E>
where\n E: Environment,

pub fn to_x_coordinate(&self) -> Field<E>

Returns the x-coordinate in the affine coordinates of the group.

\n
",0,"leo_interpreter::value::SvmGroup"],["
§

impl<E> Group<E>
where\n E: Environment,

pub fn to_xy_coordinates(&self) -> (Field<E>, Field<E>)

Returns the x-coordinate and y-coordinate in the affine coordinates of the group.

\n
",0,"leo_interpreter::value::SvmGroup"],["
§

impl<E> Group<E>
where\n E: Environment,

pub fn to_y_coordinate(&self) -> Field<E>

Returns the y-coordinate in the affine coordinates of the group.

\n
",0,"leo_interpreter::value::SvmGroup"],["
§

impl<E> Group<E>
where\n E: Environment,

pub const EDWARDS_A: Field<E> = _

The coefficient A for the twisted Edwards curve equation.

\n

pub const EDWARDS_D: Field<E> = _

The coefficient D for the twisted Edwards curve equation.

\n

pub const MONTGOMERY_A: Field<E> = _

The coefficient A for the Montgomery curve equation.

\n

pub const MONTGOMERY_B: Field<E> = _

The coefficient B for the Montgomery curve equation.

\n

pub fn new(group: <E as Environment>::Affine) -> Group<E>

Initializes a new group.

\n

pub fn generator() -> Group<E>

Returns the prime subgroup generator.

\n

pub fn mul_by_cofactor(&self) -> Group<E>

Returns self * COFACTOR.

\n

pub fn div_by_cofactor(&self) -> Group<E>

Returns self / COFACTOR.

\n
",0,"leo_interpreter::value::SvmGroup"],["
§

impl<E> Hash for Group<E>
where\n E: Hash + Environment,\n <E as Environment>::Projective: Hash,

§

fn hash<__H>(&self, state: &mut __H)
where\n __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","leo_interpreter::value::SvmGroup"],["
§

impl<E> Mul<&Scalar<E>> for Group<E>
where\n E: Environment,

§

fn mul(self, other: &Scalar<E>) -> <Group<E> as Mul<&Scalar<E>>>::Output

Returns the product of self and other.

\n
§

type Output = Group<E>

The resulting type after applying the * operator.
","Mul<&Scalar>","leo_interpreter::value::SvmGroup"],["
§

impl<E> Mul<Scalar<E>> for Group<E>
where\n E: Environment,

§

fn mul(self, other: Scalar<E>) -> <Group<E> as Mul<Scalar<E>>>::Output

Returns the product of self and other.

\n
§

type Output = Group<E>

The resulting type after applying the * operator.
","Mul>","leo_interpreter::value::SvmGroup"],["
§

impl<E> MulAssign<&Scalar<E>> for Group<E>
where\n E: Environment,

§

fn mul_assign(&mut self, other: &Scalar<E>)

Multiplies self by other.

\n
","MulAssign<&Scalar>","leo_interpreter::value::SvmGroup"],["
§

impl<E> MulAssign<Scalar<E>> for Group<E>
where\n E: Environment,

§

fn mul_assign(&mut self, other: Scalar<E>)

Multiplies self by other.

\n
","MulAssign>","leo_interpreter::value::SvmGroup"],["
§

impl<E> Neg for Group<E>
where\n E: Environment,

§

fn neg(self) -> <Group<E> as Neg>::Output

Returns the negation of self.

\n
§

type Output = Group<E>

The resulting type after applying the - operator.
","Neg","leo_interpreter::value::SvmGroup"],["
§

impl<E> Parser for Group<E>
where\n E: Environment,

§

fn parse(string: &str) -> Result<(&str, Group<E>), Err<VerboseError<&str>>>

Parses a string into a group circuit.

\n
","Parser","leo_interpreter::value::SvmGroup"],["
§

impl<E> PartialEq for Group<E>
where\n E: PartialEq + Environment,\n <E as Environment>::Projective: PartialEq,

§

fn eq(&self, other: &Group<E>) -> bool

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

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

Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
","PartialEq","leo_interpreter::value::SvmGroup"],["
§

impl<E> Serialize for Group<E>
where\n E: Environment,

§

fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serializes the group into a string or as bytes.

\n
","Serialize","leo_interpreter::value::SvmGroup"],["
§

impl<E> SizeInBits for Group<E>
where\n E: Environment,

§

fn size_in_bits() -> usize

Returns the group size in bits.

\n
","SizeInBits","leo_interpreter::value::SvmGroup"],["
§

impl<E> SizeInBytes for Group<E>
where\n E: Environment,

§

fn size_in_bytes() -> usize

Returns the group size in bytes.

\n
","SizeInBytes","leo_interpreter::value::SvmGroup"],["
§

impl<E> Sub<&Group<E>> for Group<E>
where\n E: Environment,

§

fn sub(self, other: &Group<E>) -> <Group<E> as Sub<&Group<E>>>::Output

Returns the difference of self and other.

\n
§

type Output = Group<E>

The resulting type after applying the - operator.
","Sub<&Group>","leo_interpreter::value::SvmGroup"],["
§

impl<E> Sub for Group<E>
where\n E: Environment,

§

fn sub(self, other: Group<E>) -> <Group<E> as Sub>::Output

Returns the difference of self and other.

\n
§

type Output = Group<E>

The resulting type after applying the - operator.
","Sub","leo_interpreter::value::SvmGroup"],["
§

impl<E> SubAssign<&Group<E>> for Group<E>
where\n E: Environment,

§

fn sub_assign(&mut self, other: &Group<E>)

Subtracts other from self.

\n
","SubAssign<&Group>","leo_interpreter::value::SvmGroup"],["
§

impl<E> SubAssign for Group<E>
where\n E: Environment,

§

fn sub_assign(&mut self, other: Group<E>)

Subtracts other from self.

\n
","SubAssign","leo_interpreter::value::SvmGroup"],["
§

impl<'a, E> Sum<&'a Group<E>> for Group<E>
where\n E: Environment,

§

fn sum<I>(iter: I) -> Group<E>
where\n I: Iterator<Item = &'a Group<E>>,

Returns the sum of self and other.

\n
","Sum<&'a Group>","leo_interpreter::value::SvmGroup"],["
§

impl<E> Sum for Group<E>
where\n E: Environment,

§

fn sum<I>(iter: I) -> Group<E>
where\n I: Iterator<Item = Group<E>>,

Returns the sum of self and other.

\n
","Sum","leo_interpreter::value::SvmGroup"],["
§

impl<E> Ternary for Group<E>
where\n E: Environment,

§

fn ternary(\n condition: &<Group<E> as Ternary>::Boolean,\n first: &Group<E>,\n second: &Group<E>,\n) -> <Group<E> as Ternary>::Output

Returns first if condition is true, otherwise returns second.

\n
§

type Boolean = Boolean<E>

§

type Output = Group<E>

","Ternary","leo_interpreter::value::SvmGroup"],["
§

impl<E> ToBits for Group<E>
where\n E: Environment,

§

fn write_bits_le(&self, vec: &mut Vec<bool>)

Outputs the little-endian bit representation of self.to_x_coordinate() without trailing zeros.

\n
§

fn write_bits_be(&self, vec: &mut Vec<bool>)

Outputs the big-endian bit representation of self.to_x_coordinate() without leading zeros.

\n
§

fn to_bits_le(&self) -> Vec<bool>

Returns self as a boolean array in little-endian order.
§

fn to_bits_be(&self) -> Vec<bool>

Returns self as a boolean array in big-endian order.
§

fn num_bits() -> Option<usize>

An optional indication of how many bits an object can be represented with.
","ToBits","leo_interpreter::value::SvmGroup"],["
§

impl<E> ToBytes for Group<E>
where\n E: Environment,

§

fn write_le<W>(&self, writer: W) -> Result<(), Error>
where\n W: Write,

Writes the group to a buffer.

\n
§

fn to_bytes_le(&self) -> Result<Vec<u8>, Error>
where\n Self: Sized,

Returns self as a byte array in little-endian order.
","ToBytes","leo_interpreter::value::SvmGroup"],["
§

impl<E> ToField for Group<E>
where\n E: Environment,

§

fn to_field(&self) -> Result<<Group<E> as ToField>::Field, Error>

Returns the group as a field element.

\n
§

type Field = Field<E>

","ToField","leo_interpreter::value::SvmGroup"],["
§

impl<E> ToFields for Group<E>
where\n E: Environment,

§

fn to_fields(&self) -> Result<Vec<<Group<E> as ToFields>::Field>, Error>

Returns the group as field elements.

\n
§

type Field = Field<E>

","ToFields","leo_interpreter::value::SvmGroup"],["
§

impl<E> TypeName for Group<E>
where\n E: Environment,

§

fn type_name() -> &'static str

Returns the type name as a string.

\n
","TypeName","leo_interpreter::value::SvmGroup"],["
§

impl<E> Visibility for Group<E>
where\n E: Environment,

§

fn size_in_fields(&self) -> Result<u16, Error>

Returns the number of field elements to encode self.

\n
§

type Boolean = Boolean<E>

","Visibility","leo_interpreter::value::SvmGroup"],["
§

impl<E> Zero for Group<E>
where\n E: Environment,

§

fn zero() -> Group<E>

Returns the 0 element of the group.

\n
§

fn is_zero(&self) -> bool

Returns true if the element is zero.

\n
source§

fn set_zero(&mut self)

Sets self to the additive identity element of Self, 0.
","Zero","leo_interpreter::value::SvmGroup"],["
§

impl<E> Copy for Group<E>
where\n E: Copy + Environment,\n <E as Environment>::Projective: Copy,

","Copy","leo_interpreter::value::SvmGroup"],["
§

impl<E> Eq for Group<E>
where\n E: Eq + Environment,\n <E as Environment>::Projective: Eq,

","Eq","leo_interpreter::value::SvmGroup"],["
§

impl<E> GroupTrait<Scalar<E>> for Group<E>
where\n E: Environment,

","GroupTrait>","leo_interpreter::value::SvmGroup"],["
§

impl<E> StructuralPartialEq for Group<E>
where\n E: Environment,

","StructuralPartialEq","leo_interpreter::value::SvmGroup"]]]]); + if (window.register_type_impls) { + window.register_type_impls(type_impls); + } else { + window.pending_type_impls = type_impls; + } +})() +//{"start":55,"fragment_lengths":[78770]} \ No newline at end of file diff --git a/type.impl/snarkvm_console_types_integers/struct.Integer.js b/type.impl/snarkvm_console_types_integers/struct.Integer.js new file mode 100644 index 0000000000..d899406c17 --- /dev/null +++ b/type.impl/snarkvm_console_types_integers/struct.Integer.js @@ -0,0 +1,9 @@ +(function() { + var type_impls = Object.fromEntries([["leo_interpreter",[["
§

impl<E, I> AbsChecked for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn abs_checked(self) -> <Integer<E, I> as AbsChecked>::Output

Returns the absolute value of self.

\n
§

type Output = Integer<E, I>

","AbsChecked","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> AbsWrapped for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn abs_wrapped(self) -> <Integer<E, I> as AbsWrapped>::Output

Returns the absolute value of self.

\n
§

type Output = Integer<E, I>

","AbsWrapped","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Add<&Integer<E, I>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn add(\n self,\n other: &Integer<E, I>,\n) -> <Integer<E, I> as Add<&Integer<E, I>>>::Output

Returns the sum of self and other.

\n
§

type Output = Integer<E, I>

The resulting type after applying the + operator.
","Add<&Integer>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Add for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn add(self, other: Integer<E, I>) -> <Integer<E, I> as Add>::Output

Returns the sum of self and other.

\n
§

type Output = Integer<E, I>

The resulting type after applying the + operator.
","Add","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> AddAssign<&Integer<E, I>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn add_assign(&mut self, other: &Integer<E, I>)

Adds other to self.

\n
","AddAssign<&Integer>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> AddAssign for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn add_assign(&mut self, other: Integer<E, I>)

Adds other to self.

\n
","AddAssign","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> AddWrapped for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn add_wrapped(\n &self,\n other: &Integer<E, I>,\n) -> <Integer<E, I> as AddWrapped>::Output

Returns the sum of self and other.

\n
§

type Output = Integer<E, I>

","AddWrapped","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> BitAnd<&Integer<E, I>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn bitand(\n self,\n other: &Integer<E, I>,\n) -> <Integer<E, I> as BitAnd<&Integer<E, I>>>::Output

Returns the bitwise AND of self and other.

\n
§

type Output = Integer<E, I>

The resulting type after applying the & operator.
","BitAnd<&Integer>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> BitAnd for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn bitand(self, other: Integer<E, I>) -> <Integer<E, I> as BitAnd>::Output

Returns the bitwise AND of self and other.

\n
§

type Output = Integer<E, I>

The resulting type after applying the & operator.
","BitAnd","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> BitAndAssign for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn bitand_assign(&mut self, other: Integer<E, I>)

Performs the bitwise AND of self and other and assigns the result to self.

\n
","BitAndAssign","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> BitOr<&Integer<E, I>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn bitor(\n self,\n other: &Integer<E, I>,\n) -> <Integer<E, I> as BitOr<&Integer<E, I>>>::Output

Returns the bitwise OR of self and other.

\n
§

type Output = Integer<E, I>

The resulting type after applying the | operator.
","BitOr<&Integer>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> BitOr for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn bitor(self, other: Integer<E, I>) -> <Integer<E, I> as BitOr>::Output

Returns the bitwise OR of self and other.

\n
§

type Output = Integer<E, I>

The resulting type after applying the | operator.
","BitOr","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> BitOrAssign for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn bitor_assign(&mut self, other: Integer<E, I>)

Performs the bitwise OR of self and other and assigns the result to self.

\n
","BitOrAssign","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> BitXor<&Integer<E, I>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn bitxor(\n self,\n other: &Integer<E, I>,\n) -> <Integer<E, I> as BitXor<&Integer<E, I>>>::Output

Returns the bitwise XOR of self and other.

\n
§

type Output = Integer<E, I>

The resulting type after applying the ^ operator.
","BitXor<&Integer>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> BitXor for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn bitxor(self, other: Integer<E, I>) -> <Integer<E, I> as BitXor>::Output

Returns the bitwise XOR of self and other.

\n
§

type Output = Integer<E, I>

The resulting type after applying the ^ operator.
","BitXor","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> BitXorAssign for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn bitxor_assign(&mut self, other: Integer<E, I>)

Performs the bitwise XOR of self and other and assigns the result to self.

\n
","BitXorAssign","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Cast<Address<E>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn cast(&self) -> Result<Address<E>, Error>

Casts an Integer to an Address.

\n

This operation converts the integer to a field element, and then attempts to recover\nthe group element by treating the field element as an x-coordinate. The group element\nis then converted to an address.

\n

To cast arbitrary integers to addresses, use Integer::cast_lossy.

\n
","Cast>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Cast<Boolean<E>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn cast(&self) -> Result<Boolean<E>, Error>

Casts an Integer to a Boolean, if the integer is zero or one.

\n

To cast arbitrary integers to booleans, use Integer::cast_lossy.

\n
","Cast>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Cast<Field<E>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn cast(&self) -> Result<Field<E>, Error>

Casts an Integer to a Field.

\n
","Cast>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Cast<Group<E>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn cast(&self) -> Result<Group<E>, Error>

Casts an Integer to a Group.

\n

This operation converts the integer to a field element, and then attempts to recover\nthe group element by treating the field element as an x-coordinate.

\n

To cast arbitrary integers to groups, use Integer::cast_lossy.

\n
","Cast>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I0, I1> Cast<Integer<E, I1>> for Integer<E, I0>
where\n E: Environment,\n I0: IntegerType,\n I1: IntegerType + TryFrom<I0>,

§

fn cast(&self) -> Result<Integer<E, I1>, Error>

Casts an Integer to another Integer, if the conversion is lossless.

\n
","Cast>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Cast<Scalar<E>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn cast(&self) -> Result<Scalar<E>, Error>

Casts an Integer to a Scalar.

\n
","Cast>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> CastLossy<Address<E>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn cast_lossy(&self) -> Address<E>

Casts an Integer to an Address.

\n

This operation converts the integer into a field element, and then attempts to recover\nthe group element to construct the address. See the documentation of Field::cast_lossy\non the Group type for more details.

\n
","CastLossy>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> CastLossy<Boolean<E>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn cast_lossy(&self) -> Boolean<E>

Casts an Integer to a Boolean, with lossy truncation.\nThis operation returns the least significant bit of the field.

\n
","CastLossy>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> CastLossy<Field<E>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn cast_lossy(&self) -> Field<E>

Casts an Integer to a Field.\nThis is safe because casting from an integer to a field is always lossless.

\n
","CastLossy>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> CastLossy<Group<E>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn cast_lossy(&self) -> Group<E>

Casts an Integer to a Group.

\n

This operation converts the integer into a field element, and then attempts to recover\nthe group element. See the documentation of Field::cast_lossy on the Group type\nfor more details.

\n
","CastLossy>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I0, I1> CastLossy<Integer<E, I1>> for Integer<E, I0>
where\n E: Environment,\n I0: IntegerType + AsPrimitive<I1>,\n I1: IntegerType,

§

fn cast_lossy(&self) -> Integer<E, I1>

Casts an Integer to an Integer of a different type, with lossy truncation.

\n
","CastLossy>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> CastLossy<Scalar<E>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn cast_lossy(&self) -> Scalar<E>

Casts an Integer to a Scalar.\nThis is safe because casting from an integer to a scalar is always lossless.

\n
","CastLossy>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Clone for Integer<E, I>
where\n E: Clone + Environment,\n I: Clone + IntegerType,

§

fn clone(&self) -> Integer<E, I>

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

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

Performs copy-assignment from source. Read more
","Clone","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Compare for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn is_less_than(\n &self,\n other: &Integer<E, I>,\n) -> <Integer<E, I> as Compare>::Output

Returns true if self is less than other.

\n
§

fn is_greater_than(\n &self,\n other: &Integer<E, I>,\n) -> <Integer<E, I> as Compare>::Output

Returns true if self is greater than other.

\n
§

fn is_less_than_or_equal(\n &self,\n other: &Integer<E, I>,\n) -> <Integer<E, I> as Compare>::Output

Returns true if self is less than or equal to other.

\n
§

fn is_greater_than_or_equal(\n &self,\n other: &Integer<E, I>,\n) -> <Integer<E, I> as Compare>::Output

Returns true if self is greater than or equal to other.

\n
§

type Output = Boolean<E>

","Compare","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Debug for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

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

Formats the value using the given formatter. Read more
","Debug","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Deref for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

type Target = I

The resulting type after dereferencing.
§

fn deref(&self) -> &<Integer<E, I> as Deref>::Target

Dereferences the value.
","Deref","leo_interpreter::value::SvmInteger"],["
§

impl<'de, E, I> Deserialize<'de> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn deserialize<D>(\n deserializer: D,\n) -> Result<Integer<E, I>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserializes the integer from a string or bytes.

\n
","Deserialize<'de>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Display for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

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

Formats the value using the given formatter. Read more
","Display","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Div<&Integer<E, I>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn div(\n self,\n other: &Integer<E, I>,\n) -> <Integer<E, I> as Div<&Integer<E, I>>>::Output

Returns the quotient of self and other.

\n
§

type Output = Integer<E, I>

The resulting type after applying the / operator.
","Div<&Integer>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Div for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn div(self, other: Integer<E, I>) -> <Integer<E, I> as Div>::Output

Returns the quotient of self and other.

\n
§

type Output = Integer<E, I>

The resulting type after applying the / operator.
","Div","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> DivAssign<&Integer<E, I>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn div_assign(&mut self, other: &Integer<E, I>)

Divides self by other.

\n
","DivAssign<&Integer>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> DivAssign for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn div_assign(&mut self, other: Integer<E, I>)

Divides self by other.

\n
","DivAssign","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> DivWrapped for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn div_wrapped(\n &self,\n other: &Integer<E, I>,\n) -> <Integer<E, I> as DivWrapped>::Output

Returns the quotient of self and other.

\n
§

type Output = Integer<E, I>

","DivWrapped","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Equal for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn is_equal(&self, other: &Integer<E, I>) -> <Integer<E, I> as Equal>::Output

Returns true if self and other are equal.

\n
§

fn is_not_equal(\n &self,\n other: &Integer<E, I>,\n) -> <Integer<E, I> as Equal>::Output

Returns true if self and other are not equal.

\n
§

type Output = Boolean<E>

","Equal","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> FromBits for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn from_bits_le(bits_le: &[bool]) -> Result<Integer<E, I>, Error>

Initializes a new integer from a list of little-endian bits.

\n
§

fn from_bits_be(bits_be: &[bool]) -> Result<Integer<E, I>, Error>

Initializes a new integer from a list of big-endian bits.

\n
","FromBits","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> FromBytes for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn read_le<R>(reader: R) -> Result<Integer<E, I>, Error>
where\n R: Read,

Reads the integer from a buffer.

\n
§

fn from_bytes_le(bytes: &[u8]) -> Result<Self, Error>
where\n Self: Sized,

Returns Self from a byte array in little-endian order.
","FromBytes","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> FromField for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn from_field(\n field: &<Integer<E, I> as FromField>::Field,\n) -> Result<Integer<E, I>, Error>

Casts an integer from a base field.

\n

This method guarantees the following:

\n
    \n
  1. If the field element is larger than the integer domain, then the operation will fail.
  2. \n
  3. If the field element is smaller than the integer domain, then the operation will succeed.
  4. \n
\n
§

type Field = Field<E>

","FromField","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> FromFields for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn from_fields(\n fields: &[<Integer<E, I> as FromFields>::Field],\n) -> Result<Integer<E, I>, Error>

Initializes a new integer by recovering the x-coordinate of an affine group from a field element.

\n
§

type Field = Field<E>

","FromFields","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> FromStr for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn from_str(string: &str) -> Result<Integer<E, I>, Error>

Parses a string into an integer.

\n
§

type Err = Error

The associated error which can be returned from parsing.
","FromStr","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Hash for Integer<E, I>
where\n E: Hash + Environment,\n I: Hash + IntegerType,

§

fn hash<__H>(&self, state: &mut __H)
where\n __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Integer<E, I>
where\n E: Environment,\n I: IntegerType,

pub fn from_field_lossy(field: &Field<E>) -> Integer<E, I>

Casts an integer from a base field, with lossy truncation.

\n

This method is commonly-used by hash-to-integer algorithms,\nwhere the hash output does not need to preserve the full base field.

\n
",0,"leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Integer<E, I>
where\n E: Environment,\n I: IntegerType,

pub fn to_scalar(&self) -> Scalar<E>

Converts an integer into a scalar.

\n
",0,"leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Integer<E, I>
where\n E: Environment,\n I: IntegerType,

pub const MAX: Integer<E, I> = _

pub const MIN: Integer<E, I> = _

pub const fn new(integer: I) -> Integer<E, I>

Initializes a new integer.

\n
",0,"leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Modulo for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn modulo(&self, other: &Integer<E, I>) -> Integer<E, I>

Returns the result of taking the modulus of self with respect to other.

\n
§

type Output = Integer<E, I>

","Modulo","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Mul<&Integer<E, I>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn mul(\n self,\n other: &Integer<E, I>,\n) -> <Integer<E, I> as Mul<&Integer<E, I>>>::Output

Returns the product of self and other.

\n
§

type Output = Integer<E, I>

The resulting type after applying the * operator.
","Mul<&Integer>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Mul for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn mul(self, other: Integer<E, I>) -> <Integer<E, I> as Mul>::Output

Returns the product of self and other.

\n
§

type Output = Integer<E, I>

The resulting type after applying the * operator.
","Mul","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> MulAssign<&Integer<E, I>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn mul_assign(&mut self, other: &Integer<E, I>)

Multiplies self by other.

\n
","MulAssign<&Integer>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> MulAssign for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn mul_assign(&mut self, other: Integer<E, I>)

Multiplies self by other.

\n
","MulAssign","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> MulWrapped for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn mul_wrapped(\n &self,\n other: &Integer<E, I>,\n) -> <Integer<E, I> as MulWrapped>::Output

Returns the product of self and other.

\n
§

type Output = Integer<E, I>

","MulWrapped","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Neg for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn neg(self) -> <Integer<E, I> as Neg>::Output

Returns the negation of self.

\n
§

type Output = Integer<E, I>

The resulting type after applying the - operator.
","Neg","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Not for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn not(self) -> <Integer<E, I> as Not>::Output

Returns the bitwise NOT of self.

\n
§

type Output = Integer<E, I>

The resulting type after applying the ! operator.
","Not","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> One for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn one() -> Integer<E, I>

Returns the 1 element of the integer.

\n
§

fn is_one(&self) -> bool

Returns true if the element is one.

\n
source§

fn set_one(&mut self)

Sets self to the multiplicative identity element of Self, 1.
","One","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Ord for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn cmp(&self, other: &Integer<E, I>) -> Ordering

Returns the lexicographic ordering of self and other.

\n
1.21.0 · source§

fn max(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where\n Self: Sized,

Restrict a value to a certain interval. Read more
","Ord","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Parser for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn parse(string: &str) -> Result<(&str, Integer<E, I>), Err<VerboseError<&str>>>

Parses a string into a integer circuit.

\n
","Parser","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> PartialEq for Integer<E, I>
where\n E: PartialEq + Environment,\n I: PartialEq + IntegerType,

§

fn eq(&self, other: &Integer<E, I>) -> bool

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

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

Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
","PartialEq","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> PartialOrd for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn partial_cmp(&self, other: &Integer<E, I>) -> Option<Ordering>

Returns the lexicographic ordering of self and other.

\n
1.0.0 · source§

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

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

Tests less than or equal to (for self and other) and is used by the\n<= operator. Read more
1.0.0 · source§

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

Tests greater than (for self and other) and is used by the >\noperator. Read more
1.0.0 · source§

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

Tests greater than or equal to (for self and other) and is used by\nthe >= operator. Read more
","PartialOrd","leo_interpreter::value::SvmInteger"],["
§

impl<E, I, M> Pow<&Integer<E, M>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,\n M: Magnitude,

§

fn pow(\n self,\n other: &Integer<E, M>,\n) -> <Integer<E, I> as Pow<&Integer<E, M>>>::Output

Returns the power of self to the power of other.

\n
§

type Output = Integer<E, I>

The result after applying the operator.
","Pow<&Integer>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I, M> Pow<Integer<E, M>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,\n M: Magnitude,

§

fn pow(\n self,\n other: Integer<E, M>,\n) -> <Integer<E, I> as Pow<Integer<E, M>>>::Output

Returns the power of self to the power of other.

\n
§

type Output = Integer<E, I>

The result after applying the operator.
","Pow>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I, M> PowWrapped<Integer<E, M>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,\n M: Magnitude,

§

fn pow_wrapped(\n &self,\n other: &Integer<E, M>,\n) -> <Integer<E, I> as PowWrapped<Integer<E, M>>>::Output

Returns the power of self to the power of other.

\n
§

type Output = Integer<E, I>

","PowWrapped>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Rem<&Integer<E, I>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn rem(self, other: &Integer<E, I>) -> Integer<E, I>

Returns the remainder of self divided by other.

\n
§

type Output = Integer<E, I>

The resulting type after applying the % operator.
","Rem<&Integer>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Rem for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn rem(self, other: Integer<E, I>) -> Integer<E, I>

Returns the remainder of self divided by other.

\n
§

type Output = Integer<E, I>

The resulting type after applying the % operator.
","Rem","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> RemAssign<&Integer<E, I>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn rem_assign(&mut self, other: &Integer<E, I>)

Returns the remainder of self divided by other.

\n
","RemAssign<&Integer>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> RemAssign for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn rem_assign(&mut self, other: Integer<E, I>)

Returns the remainder of self divided by other.

\n
","RemAssign","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> RemWrapped for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn rem_wrapped(\n &self,\n other: &Integer<E, I>,\n) -> <Integer<E, I> as RemWrapped>::Output

Returns the remainder of self divided by other.

\n
§

type Output = Integer<E, I>

","RemWrapped","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Serialize for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serializes the integer into a string or as bytes.

\n
","Serialize","leo_interpreter::value::SvmInteger"],["
§

impl<E, I, M> Shl<&Integer<E, M>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,\n M: Magnitude,

§

fn shl(\n self,\n n: &Integer<E, M>,\n) -> <Integer<E, I> as Shl<&Integer<E, M>>>::Output

Shifts self to the left by n bits.

\n
§

type Output = Integer<E, I>

The resulting type after applying the << operator.
","Shl<&Integer>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I, M> Shl<Integer<E, M>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,\n M: Magnitude,

§

fn shl(self, n: Integer<E, M>) -> <Integer<E, I> as Shl<Integer<E, M>>>::Output

Shifts self to the left by n bits.

\n
§

type Output = Integer<E, I>

The resulting type after applying the << operator.
","Shl>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I, M> ShlAssign<Integer<E, M>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,\n M: Magnitude,

§

fn shl_assign(&mut self, n: Integer<E, M>)

Shifts self to the left by n bits and assigns the result to self.

\n
","ShlAssign>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I, M> ShlChecked<Integer<E, M>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,\n M: Magnitude,

§

fn shl_checked(\n &self,\n n: &Integer<E, M>,\n) -> <Integer<E, I> as ShlChecked<Integer<E, M>>>::Output

Shifts self to the left by n bits.

\n
§

type Output = Integer<E, I>

","ShlChecked>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I, M> ShlWrapped<Integer<E, M>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,\n M: Magnitude,

§

fn shl_wrapped(\n &self,\n n: &Integer<E, M>,\n) -> <Integer<E, I> as ShlWrapped<Integer<E, M>>>::Output

Shifts self to the left by n bits, continuing past the boundary.

\n
§

type Output = Integer<E, I>

","ShlWrapped>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I, M> Shr<&Integer<E, M>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,\n M: Magnitude,

§

fn shr(\n self,\n n: &Integer<E, M>,\n) -> <Integer<E, I> as Shr<&Integer<E, M>>>::Output

Shifts self to the right by n bits.

\n
§

type Output = Integer<E, I>

The resulting type after applying the >> operator.
","Shr<&Integer>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I, M> Shr<Integer<E, M>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,\n M: Magnitude,

§

fn shr(self, n: Integer<E, M>) -> <Integer<E, I> as Shr<Integer<E, M>>>::Output

Shifts self to the right by n bits.

\n
§

type Output = Integer<E, I>

The resulting type after applying the >> operator.
","Shr>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I, M> ShrAssign<Integer<E, M>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,\n M: Magnitude,

§

fn shr_assign(&mut self, n: Integer<E, M>)

Shifts self to the right by n bits and assigns the result to self.

\n
","ShrAssign>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I, M> ShrChecked<Integer<E, M>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,\n M: Magnitude,

§

fn shr_checked(\n &self,\n n: &Integer<E, M>,\n) -> <Integer<E, I> as ShrChecked<Integer<E, M>>>::Output

Shifts self to the right by n bits.

\n
§

type Output = Integer<E, I>

","ShrChecked>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I, M> ShrWrapped<Integer<E, M>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,\n M: Magnitude,

§

fn shr_wrapped(\n &self,\n n: &Integer<E, M>,\n) -> <Integer<E, I> as ShrWrapped<Integer<E, M>>>::Output

Shifts self to the right by n bits, continuing past the boundary.

\n
§

type Output = Integer<E, I>

","ShrWrapped>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> SizeInBits for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn size_in_bits() -> usize

Returns the integer size in bits.

\n
","SizeInBits","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> SizeInBytes for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn size_in_bytes() -> usize

Returns the integer size in bytes.

\n
","SizeInBytes","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Square for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn square(&self) -> <Integer<E, I> as Square>::Output

Returns the square of self.

\n
§

type Output = Integer<E, I>

","Square","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Sub<&Integer<E, I>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn sub(\n self,\n other: &Integer<E, I>,\n) -> <Integer<E, I> as Sub<&Integer<E, I>>>::Output

Returns the difference of self and other.

\n
§

type Output = Integer<E, I>

The resulting type after applying the - operator.
","Sub<&Integer>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Sub for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn sub(self, other: Integer<E, I>) -> <Integer<E, I> as Sub>::Output

Returns the difference of self and other.

\n
§

type Output = Integer<E, I>

The resulting type after applying the - operator.
","Sub","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> SubAssign<&Integer<E, I>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn sub_assign(&mut self, other: &Integer<E, I>)

Subtracts other from self.

\n
","SubAssign<&Integer>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> SubAssign for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn sub_assign(&mut self, other: Integer<E, I>)

Subtracts other from self.

\n
","SubAssign","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> SubWrapped for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn sub_wrapped(\n &self,\n other: &Integer<E, I>,\n) -> <Integer<E, I> as SubWrapped>::Output

Returns the difference of self and other.

\n
§

type Output = Integer<E, I>

","SubWrapped","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Ternary for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn ternary(\n condition: &<Integer<E, I> as Ternary>::Boolean,\n first: &Integer<E, I>,\n second: &Integer<E, I>,\n) -> <Integer<E, I> as Ternary>::Output

Returns first if condition is true, otherwise returns second.

\n
§

type Boolean = Boolean<E>

§

type Output = Integer<E, I>

","Ternary","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> ToBits for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn write_bits_le(&self, vec: &mut Vec<bool>)

Outputs the little-endian bit representation of self without trailing zeros.

\n
§

fn write_bits_be(&self, vec: &mut Vec<bool>)

Outputs the big-endian bit representation of self without leading zeros.

\n
§

fn to_bits_le(&self) -> Vec<bool>

Returns self as a boolean array in little-endian order.
§

fn to_bits_be(&self) -> Vec<bool>

Returns self as a boolean array in big-endian order.
§

fn num_bits() -> Option<usize>

An optional indication of how many bits an object can be represented with.
","ToBits","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> ToBytes for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn write_le<W>(&self, writer: W) -> Result<(), Error>
where\n W: Write,

Writes the integer to a buffer.

\n
§

fn to_bytes_le(&self) -> Result<Vec<u8>, Error>
where\n Self: Sized,

Returns self as a byte array in little-endian order.
","ToBytes","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> ToField for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn to_field(&self) -> Result<<Integer<E, I> as ToField>::Field, Error>

Converts an integer into a field element.

\n
§

type Field = Field<E>

","ToField","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> ToFields for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn to_fields(&self) -> Result<Vec<<Integer<E, I> as ToFields>::Field>, Error>

Returns the integer as field elements.

\n
§

type Field = Field<E>

","ToFields","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> TypeName for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn type_name() -> &'static str

Returns the type name as a string.

\n
","TypeName","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Visibility for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn size_in_fields(&self) -> Result<u16, Error>

Returns the number of field elements to encode self.

\n
§

type Boolean = Boolean<E>

","Visibility","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Zero for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

§

fn zero() -> Integer<E, I>

Returns the 0 element of the integer.

\n
§

fn is_zero(&self) -> bool

Returns true if the element is zero.

\n
source§

fn set_zero(&mut self)

Sets self to the additive identity element of Self, 0.
","Zero","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Copy for Integer<E, I>
where\n E: Copy + Environment,\n I: Copy + IntegerType,

","Copy","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> Eq for Integer<E, I>
where\n E: Eq + Environment,\n I: Eq + IntegerType,

","Eq","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> IntegerCore<I> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

","IntegerCore","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> IntegerTrait<I, Integer<E, u8>, Integer<E, u16>, Integer<E, u32>> for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

","IntegerTrait, Integer, Integer>","leo_interpreter::value::SvmInteger"],["
§

impl<E, I> StructuralPartialEq for Integer<E, I>
where\n E: Environment,\n I: IntegerType,

","StructuralPartialEq","leo_interpreter::value::SvmInteger"]]]]); + if (window.register_type_impls) { + window.register_type_impls(type_impls); + } else { + window.pending_type_impls = type_impls; + } +})() +//{"start":55,"fragment_lengths":[163091]} \ No newline at end of file diff --git a/type.impl/snarkvm_console_types_scalar/struct.Scalar.js b/type.impl/snarkvm_console_types_scalar/struct.Scalar.js new file mode 100644 index 0000000000..4b2f7e803e --- /dev/null +++ b/type.impl/snarkvm_console_types_scalar/struct.Scalar.js @@ -0,0 +1,9 @@ +(function() { + var type_impls = Object.fromEntries([["leo_interpreter",[["
§

impl<E> Add<&Scalar<E>> for Scalar<E>
where\n E: Environment,

§

fn add(self, other: &Scalar<E>) -> <Scalar<E> as Add<&Scalar<E>>>::Output

Returns the sum of self and other.

\n
§

type Output = Scalar<E>

The resulting type after applying the + operator.
","Add<&Scalar>","leo_interpreter::value::SvmScalar"],["
§

impl<E> Add for Scalar<E>
where\n E: Environment,

§

fn add(self, other: Scalar<E>) -> <Scalar<E> as Add>::Output

Returns the sum of self and other.

\n
§

type Output = Scalar<E>

The resulting type after applying the + operator.
","Add","leo_interpreter::value::SvmScalar"],["
§

impl<E> AddAssign<&Scalar<E>> for Scalar<E>
where\n E: Environment,

§

fn add_assign(&mut self, other: &Scalar<E>)

Adds other to self.

\n
","AddAssign<&Scalar>","leo_interpreter::value::SvmScalar"],["
§

impl<E> AddAssign for Scalar<E>
where\n E: Environment,

§

fn add_assign(&mut self, other: Scalar<E>)

Adds other to self.

\n
","AddAssign","leo_interpreter::value::SvmScalar"],["
§

impl<E> Cast<Address<E>> for Scalar<E>
where\n E: Environment,

§

fn cast(&self) -> Result<Address<E>, Error>

Casts a Scalar to an Address.

\n

This operation converts the scalar to a field element, and then attempts to recover\nthe group element by treating the field element as an x-coordinate. The group element\nis then converted to an address.

\n

To cast arbitrary scalars to addresses, use Scalar::cast_lossy.

\n
","Cast>","leo_interpreter::value::SvmScalar"],["
§

impl<E> Cast<Boolean<E>> for Scalar<E>
where\n E: Environment,

§

fn cast(&self) -> Result<Boolean<E>, Error>

Casts a Scalar to a Boolean, if the scalar is zero or one.

\n

To cast arbitrary scalars to booleans, use Scalar::cast_lossy.

\n
","Cast>","leo_interpreter::value::SvmScalar"],["
§

impl<E> Cast<Field<E>> for Scalar<E>
where\n E: Environment,

§

fn cast(&self) -> Result<Field<E>, Error>

Casts a Scalar to a Field.

\n
","Cast>","leo_interpreter::value::SvmScalar"],["
§

impl<E> Cast<Group<E>> for Scalar<E>
where\n E: Environment,

§

fn cast(&self) -> Result<Group<E>, Error>

Casts a Scalar to a Group.

\n

This operation converts the scalar to a field element, and then attempts to recover\nthe group element by treating the field element as an x-coordinate.

\n

To cast arbitrary scalars to groups, use Scalar::cast_lossy.

\n
","Cast>","leo_interpreter::value::SvmScalar"],["
§

impl<E, I> Cast<Integer<E, I>> for Scalar<E>
where\n E: Environment,\n I: IntegerType,

§

fn cast(&self) -> Result<Integer<E, I>, Error>

Casts a Scalar to an Integer, if the scalar is in the range of the integer.

\n

To cast arbitrary scalars to integers, via truncation, use Scalar::cast_lossy.

\n
","Cast>","leo_interpreter::value::SvmScalar"],["
§

impl<E> Cast for Scalar<E>
where\n E: Environment,

§

fn cast(&self) -> Result<Scalar<E>, Error>

Casts a Scalar to a Scalar.

\n
","Cast","leo_interpreter::value::SvmScalar"],["
§

impl<E> CastLossy<Address<E>> for Scalar<E>
where\n E: Environment,

§

fn cast_lossy(&self) -> Address<E>

Casts a Scalar to an Address.

\n

This operation converts the scalar into a field element, and then attempts to recover\nthe group element to construct the address. See the documentation of Field::cast_lossy\non the Group type for more details.

\n
","CastLossy>","leo_interpreter::value::SvmScalar"],["
§

impl<E> CastLossy<Boolean<E>> for Scalar<E>
where\n E: Environment,

§

fn cast_lossy(&self) -> Boolean<E>

Casts a Scalar to a Boolean, with lossy truncation.\nThis operation returns the least significant bit of the field.

\n
","CastLossy>","leo_interpreter::value::SvmScalar"],["
§

impl<E> CastLossy<Field<E>> for Scalar<E>
where\n E: Environment,

§

fn cast_lossy(&self) -> Field<E>

Casts a Scalar to a Field.\nThis operation is always lossless.

\n
","CastLossy>","leo_interpreter::value::SvmScalar"],["
§

impl<E> CastLossy<Group<E>> for Scalar<E>
where\n E: Environment,

§

fn cast_lossy(&self) -> Group<E>

Casts a Scalar to a Group.

\n

This operation converts the scalar into a field element, and then attempts to recover\nthe group element. See the documentation of Field::cast_lossy on the Group type\nfor more details.

\n
","CastLossy>","leo_interpreter::value::SvmScalar"],["
§

impl<E, I> CastLossy<Integer<E, I>> for Scalar<E>
where\n E: Environment,\n I: IntegerType,

§

fn cast_lossy(&self) -> Integer<E, I>

Casts a Scalar to an Integer, with lossy truncation.

\n
","CastLossy>","leo_interpreter::value::SvmScalar"],["
§

impl<E> CastLossy for Scalar<E>
where\n E: Environment,

§

fn cast_lossy(&self) -> Scalar<E>

Casts a Scalar to a Scalar.\nThis is an identity cast, so it is always lossless.

\n
","CastLossy","leo_interpreter::value::SvmScalar"],["
§

impl<E> Clone for Scalar<E>
where\n E: Clone + Environment,\n <E as Environment>::Scalar: Clone,

§

fn clone(&self) -> Scalar<E>

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

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

Performs copy-assignment from source. Read more
","Clone","leo_interpreter::value::SvmScalar"],["
§

impl<E> Compare for Scalar<E>
where\n E: Environment,

§

fn is_less_than(&self, other: &Scalar<E>) -> <Scalar<E> as Compare>::Output

Returns true if self is less than other.

\n
§

fn is_greater_than(&self, other: &Scalar<E>) -> <Scalar<E> as Compare>::Output

Returns true if self is greater than other.

\n
§

fn is_less_than_or_equal(\n &self,\n other: &Scalar<E>,\n) -> <Scalar<E> as Compare>::Output

Returns true if self is less than or equal to other.

\n
§

fn is_greater_than_or_equal(\n &self,\n other: &Scalar<E>,\n) -> <Scalar<E> as Compare>::Output

Returns true if self is greater than or equal to other.

\n
§

type Output = Boolean<E>

","Compare","leo_interpreter::value::SvmScalar"],["
§

impl<E> Debug for Scalar<E>
where\n E: Environment,

§

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

Formats the value using the given formatter. Read more
","Debug","leo_interpreter::value::SvmScalar"],["
§

impl<E> Deref for Scalar<E>
where\n E: Environment,

§

type Target = <E as Environment>::Scalar

The resulting type after dereferencing.
§

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

Dereferences the value.
","Deref","leo_interpreter::value::SvmScalar"],["
§

impl<'de, E> Deserialize<'de> for Scalar<E>
where\n E: Environment,

§

fn deserialize<D>(\n deserializer: D,\n) -> Result<Scalar<E>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserializes the scalar from a string or bytes.

\n
","Deserialize<'de>","leo_interpreter::value::SvmScalar"],["
§

impl<E> Display for Scalar<E>
where\n E: Environment,

§

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

Formats the value using the given formatter. Read more
","Display","leo_interpreter::value::SvmScalar"],["
§

impl<E> Div<&Scalar<E>> for Scalar<E>
where\n E: Environment,

§

fn div(self, other: &Scalar<E>) -> <Scalar<E> as Div<&Scalar<E>>>::Output

Returns the quotient of self and other.

\n
§

type Output = Scalar<E>

The resulting type after applying the / operator.
","Div<&Scalar>","leo_interpreter::value::SvmScalar"],["
§

impl<E> Div for Scalar<E>
where\n E: Environment,

§

fn div(self, other: Scalar<E>) -> <Scalar<E> as Div>::Output

Returns the quotient of self and other.

\n
§

type Output = Scalar<E>

The resulting type after applying the / operator.
","Div","leo_interpreter::value::SvmScalar"],["
§

impl<E> DivAssign<&Scalar<E>> for Scalar<E>
where\n E: Environment,

§

fn div_assign(&mut self, other: &Scalar<E>)

Divides self by other.

\n
","DivAssign<&Scalar>","leo_interpreter::value::SvmScalar"],["
§

impl<E> DivAssign for Scalar<E>
where\n E: Environment,

§

fn div_assign(&mut self, other: Scalar<E>)

Divides self by other.

\n
","DivAssign","leo_interpreter::value::SvmScalar"],["
§

impl<E> Double for Scalar<E>
where\n E: Environment,

§

fn double(&self) -> <Scalar<E> as Double>::Output

Returns the double of self.

\n
§

type Output = Scalar<E>

","Double","leo_interpreter::value::SvmScalar"],["
§

impl<E> Equal for Scalar<E>
where\n E: Environment,

§

fn is_equal(&self, other: &Scalar<E>) -> <Scalar<E> as Equal>::Output

Returns true if self and other are equal.

\n
§

fn is_not_equal(&self, other: &Scalar<E>) -> <Scalar<E> as Equal>::Output

Returns true if self and other are not equal.

\n
§

type Output = Boolean<E>

","Equal","leo_interpreter::value::SvmScalar"],["
§

impl<E> FromBits for Scalar<E>
where\n E: Environment,

§

fn from_bits_le(bits_le: &[bool]) -> Result<Scalar<E>, Error>

Initializes a new scalar from a list of little-endian bits.

\n
    \n
  • If bits_le is longer than E::Scalar::size_in_bits(), the excess bits are enforced to be 0s.
  • \n
  • If bits_le is shorter than E::Scalar::size_in_bits(), it is padded with 0s up to scalar size.
  • \n
\n
§

fn from_bits_be(bits_be: &[bool]) -> Result<Scalar<E>, Error>

Initializes a new scalar from a list of big-endian bits without leading zeros.

\n
","FromBits","leo_interpreter::value::SvmScalar"],["
§

impl<E> FromBytes for Scalar<E>
where\n E: Environment,

§

fn read_le<R>(reader: R) -> Result<Scalar<E>, Error>
where\n R: Read,

Reads the scalar from a buffer.

\n
§

fn from_bytes_le(bytes: &[u8]) -> Result<Self, Error>
where\n Self: Sized,

Returns Self from a byte array in little-endian order.
","FromBytes","leo_interpreter::value::SvmScalar"],["
§

impl<E> FromField for Scalar<E>
where\n E: Environment,

§

fn from_field(\n field: &<Scalar<E> as FromField>::Field,\n) -> Result<Scalar<E>, Error>

Casts a scalar from a base field element.

\n

This method guarantees the following:

\n
    \n
  1. If the field element is larger than the scalar field modulus, then the operation will fail.
  2. \n
  3. If the field element is smaller than the scalar field modulus, then the operation will succeed.\n
      \n
    • This is particularly useful for the case where a user called, Scalar::from_field(scalar.to_field()),\nand the scalar bit representation is between size_in_data_bits < bits.len() < size_in_bits.
    • \n
    \n
  4. \n
\n
§

type Field = Field<E>

","FromField","leo_interpreter::value::SvmScalar"],["
§

impl<E> FromStr for Scalar<E>
where\n E: Environment,

§

fn from_str(string: &str) -> Result<Scalar<E>, Error>

Parses a string into a scalar.

\n
§

type Err = Error

The associated error which can be returned from parsing.
","FromStr","leo_interpreter::value::SvmScalar"],["
§

impl<E> Hash for Scalar<E>
where\n E: Hash + Environment,\n <E as Environment>::Scalar: Hash,

§

fn hash<__H>(&self, state: &mut __H)
where\n __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","leo_interpreter::value::SvmScalar"],["
§

impl<E> Inverse for Scalar<E>
where\n E: Environment,

§

fn inverse(&self) -> Result<<Scalar<E> as Inverse>::Output, Error>

Returns the inverse of self.

\n
§

type Output = Scalar<E>

","Inverse","leo_interpreter::value::SvmScalar"],["
§

impl<E> Mul<&Group<E>> for Scalar<E>
where\n E: Environment,

§

fn mul(self, other: &Group<E>) -> <Scalar<E> as Mul<&Group<E>>>::Output

Returns the product of self and other.

\n
§

type Output = Group<E>

The resulting type after applying the * operator.
","Mul<&Group>","leo_interpreter::value::SvmScalar"],["
§

impl<E> Mul<&Scalar<E>> for Scalar<E>
where\n E: Environment,

§

fn mul(self, other: &Scalar<E>) -> <Scalar<E> as Mul<&Scalar<E>>>::Output

Returns the product of self and other.

\n
§

type Output = Scalar<E>

The resulting type after applying the * operator.
","Mul<&Scalar>","leo_interpreter::value::SvmScalar"],["
§

impl<E> Mul<Group<E>> for Scalar<E>
where\n E: Environment,

§

fn mul(self, other: Group<E>) -> <Scalar<E> as Mul<Group<E>>>::Output

Returns the product of self and other.

\n
§

type Output = Group<E>

The resulting type after applying the * operator.
","Mul>","leo_interpreter::value::SvmScalar"],["
§

impl<E> Mul for Scalar<E>
where\n E: Environment,

§

fn mul(self, other: Scalar<E>) -> <Scalar<E> as Mul>::Output

Returns the product of self and other.

\n
§

type Output = Scalar<E>

The resulting type after applying the * operator.
","Mul","leo_interpreter::value::SvmScalar"],["
§

impl<E> MulAssign<&Scalar<E>> for Scalar<E>
where\n E: Environment,

§

fn mul_assign(&mut self, other: &Scalar<E>)

Multiplies self by other.

\n
","MulAssign<&Scalar>","leo_interpreter::value::SvmScalar"],["
§

impl<E> MulAssign for Scalar<E>
where\n E: Environment,

§

fn mul_assign(&mut self, other: Scalar<E>)

Multiplies self by other.

\n
","MulAssign","leo_interpreter::value::SvmScalar"],["
§

impl<E> Neg for Scalar<E>
where\n E: Environment,

§

fn neg(self) -> <Scalar<E> as Neg>::Output

Returns the negation of self.

\n
§

type Output = Scalar<E>

The resulting type after applying the - operator.
","Neg","leo_interpreter::value::SvmScalar"],["
§

impl<E> One for Scalar<E>
where\n E: Environment,

§

fn one() -> Scalar<E>

Returns the 1 element of the scalar.

\n
§

fn is_one(&self) -> bool

Returns true if the element is one.

\n
source§

fn set_one(&mut self)

Sets self to the multiplicative identity element of Self, 1.
","One","leo_interpreter::value::SvmScalar"],["
§

impl<E> Ord for Scalar<E>
where\n E: Environment,

§

fn cmp(&self, other: &Scalar<E>) -> Ordering

Returns the lexicographic ordering of self and other.

\n
1.21.0 · source§

fn max(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where\n Self: Sized,

Restrict a value to a certain interval. Read more
","Ord","leo_interpreter::value::SvmScalar"],["
§

impl<E> Parser for Scalar<E>
where\n E: Environment,

§

fn parse(string: &str) -> Result<(&str, Scalar<E>), Err<VerboseError<&str>>>

Parses a string into a scalar circuit.

\n
","Parser","leo_interpreter::value::SvmScalar"],["
§

impl<E> PartialEq for Scalar<E>
where\n E: PartialEq + Environment,\n <E as Environment>::Scalar: PartialEq,

§

fn eq(&self, other: &Scalar<E>) -> bool

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

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

Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
","PartialEq","leo_interpreter::value::SvmScalar"],["
§

impl<E> PartialOrd for Scalar<E>
where\n E: Environment,

§

fn partial_cmp(&self, other: &Scalar<E>) -> Option<Ordering>

Returns the lexicographic ordering of self and other.

\n
1.0.0 · source§

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

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

Tests less than or equal to (for self and other) and is used by the\n<= operator. Read more
1.0.0 · source§

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

Tests greater than (for self and other) and is used by the >\noperator. Read more
1.0.0 · source§

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

Tests greater than or equal to (for self and other) and is used by\nthe >= operator. Read more
","PartialOrd","leo_interpreter::value::SvmScalar"],["
§

impl<E> Pow<&Scalar<E>> for Scalar<E>
where\n E: Environment,

§

fn pow(self, other: &Scalar<E>) -> <Scalar<E> as Pow<&Scalar<E>>>::Output

Returns the power of self to the power of other.

\n
§

type Output = Scalar<E>

The result after applying the operator.
","Pow<&Scalar>","leo_interpreter::value::SvmScalar"],["
§

impl<E> Pow<Scalar<E>> for Scalar<E>
where\n E: Environment,

§

fn pow(self, other: Scalar<E>) -> <Scalar<E> as Pow<Scalar<E>>>::Output

Returns the power of self to the power of other.

\n
§

type Output = Scalar<E>

The result after applying the operator.
","Pow>","leo_interpreter::value::SvmScalar"],["
§

impl<'a, E> Product<&'a Scalar<E>> for Scalar<E>
where\n E: Environment,

§

fn product<I>(iter: I) -> Scalar<E>
where\n I: Iterator<Item = &'a Scalar<E>>,

Returns the product of self and other.

\n
","Product<&'a Scalar>","leo_interpreter::value::SvmScalar"],["
§

impl<E> Product for Scalar<E>
where\n E: Environment,

§

fn product<I>(iter: I) -> Scalar<E>
where\n I: Iterator<Item = Scalar<E>>,

Returns the product of self and other.

\n
","Product","leo_interpreter::value::SvmScalar"],["
§

impl<E> Scalar<E>
where\n E: Environment,

pub fn from_field_lossy(field: &Field<E>) -> Scalar<E>

Casts a scalar from a base field, with lossy truncation.

\n

This method is commonly-used by hash-to-scalar algorithms,\nwhere the hash output does not need to preserve the full base field.

\n
",0,"leo_interpreter::value::SvmScalar"],["
§

impl<E> Scalar<E>
where\n E: Environment,

pub const SIZE_IN_BITS: usize = <E::Scalar>::SIZE_IN_BITS

The scalar size in bits.

\n

pub const SIZE_IN_BYTES: usize = _

The scalar size in bytes.

\n

pub const SIZE_IN_DATA_BITS: usize = <E::Scalar>::SIZE_IN_DATA_BITS

The scalar capacity for data bits.

\n

pub const fn new(scalar: <E as Environment>::Scalar) -> Scalar<E>

Initializes a new scalar.

\n
",0,"leo_interpreter::value::SvmScalar"],["
§

impl<E> Serialize for Scalar<E>
where\n E: Environment,

§

fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serializes the scalar into a string or as bytes.

\n
","Serialize","leo_interpreter::value::SvmScalar"],["
§

impl<E> SizeInBits for Scalar<E>
where\n E: Environment,

§

fn size_in_bits() -> usize

Returns the scalar size in bits.

\n
","SizeInBits","leo_interpreter::value::SvmScalar"],["
§

impl<E> SizeInBytes for Scalar<E>
where\n E: Environment,

§

fn size_in_bytes() -> usize

Returns the scalar size in bytes.

\n
","SizeInBytes","leo_interpreter::value::SvmScalar"],["
§

impl<E> SizeInDataBits for Scalar<E>
where\n E: Environment,

§

fn size_in_data_bits() -> usize

Returns the scalar capacity for data bits.

\n
","SizeInDataBits","leo_interpreter::value::SvmScalar"],["
§

impl<E> Square for Scalar<E>
where\n E: Environment,

§

fn square(&self) -> <Scalar<E> as Square>::Output

Returns the square of self.

\n
§

type Output = Scalar<E>

","Square","leo_interpreter::value::SvmScalar"],["
§

impl<E> Sub<&Scalar<E>> for Scalar<E>
where\n E: Environment,

§

fn sub(self, other: &Scalar<E>) -> <Scalar<E> as Sub<&Scalar<E>>>::Output

Returns the difference of self and other.

\n
§

type Output = Scalar<E>

The resulting type after applying the - operator.
","Sub<&Scalar>","leo_interpreter::value::SvmScalar"],["
§

impl<E> Sub for Scalar<E>
where\n E: Environment,

§

fn sub(self, other: Scalar<E>) -> <Scalar<E> as Sub>::Output

Returns the difference of self and other.

\n
§

type Output = Scalar<E>

The resulting type after applying the - operator.
","Sub","leo_interpreter::value::SvmScalar"],["
§

impl<E> SubAssign<&Scalar<E>> for Scalar<E>
where\n E: Environment,

§

fn sub_assign(&mut self, other: &Scalar<E>)

Subtracts other from self.

\n
","SubAssign<&Scalar>","leo_interpreter::value::SvmScalar"],["
§

impl<E> SubAssign for Scalar<E>
where\n E: Environment,

§

fn sub_assign(&mut self, other: Scalar<E>)

Subtracts other from self.

\n
","SubAssign","leo_interpreter::value::SvmScalar"],["
§

impl<'a, E> Sum<&'a Scalar<E>> for Scalar<E>
where\n E: Environment,

§

fn sum<I>(iter: I) -> Scalar<E>
where\n I: Iterator<Item = &'a Scalar<E>>,

Returns the sum of self and other.

\n
","Sum<&'a Scalar>","leo_interpreter::value::SvmScalar"],["
§

impl<E> Sum for Scalar<E>
where\n E: Environment,

§

fn sum<I>(iter: I) -> Scalar<E>
where\n I: Iterator<Item = Scalar<E>>,

Returns the sum of self and other.

\n
","Sum","leo_interpreter::value::SvmScalar"],["
§

impl<E> Ternary for Scalar<E>
where\n E: Environment,

§

fn ternary(\n condition: &<Scalar<E> as Ternary>::Boolean,\n first: &Scalar<E>,\n second: &Scalar<E>,\n) -> <Scalar<E> as Ternary>::Output

Returns first if condition is true, otherwise returns second.

\n
§

type Boolean = Boolean<E>

§

type Output = Scalar<E>

","Ternary","leo_interpreter::value::SvmScalar"],["
§

impl<E> ToBits for Scalar<E>
where\n E: Environment,

§

fn write_bits_le(&self, vec: &mut Vec<bool>)

Outputs the little-endian bit representation of self without trailing zeros.

\n
§

fn write_bits_be(&self, vec: &mut Vec<bool>)

Outputs the big-endian bit representation of self without leading zeros.

\n
§

fn to_bits_le(&self) -> Vec<bool>

Returns self as a boolean array in little-endian order.
§

fn to_bits_be(&self) -> Vec<bool>

Returns self as a boolean array in big-endian order.
§

fn num_bits() -> Option<usize>

An optional indication of how many bits an object can be represented with.
","ToBits","leo_interpreter::value::SvmScalar"],["
§

impl<E> ToBytes for Scalar<E>
where\n E: Environment,

§

fn write_le<W>(&self, writer: W) -> Result<(), Error>
where\n W: Write,

Writes the scalar to a buffer.

\n
§

fn to_bytes_le(&self) -> Result<Vec<u8>, Error>
where\n Self: Sized,

Returns self as a byte array in little-endian order.
","ToBytes","leo_interpreter::value::SvmScalar"],["
§

impl<E> ToField for Scalar<E>
where\n E: Environment,

§

fn to_field(&self) -> Result<<Scalar<E> as ToField>::Field, Error>

Returns the scalar as a field element.

\n
§

type Field = Field<E>

","ToField","leo_interpreter::value::SvmScalar"],["
§

impl<E> TypeName for Scalar<E>
where\n E: Environment,

§

fn type_name() -> &'static str

Returns the type name as a string.

\n
","TypeName","leo_interpreter::value::SvmScalar"],["
§

impl<E> Zero for Scalar<E>
where\n E: Environment,

§

fn zero() -> Scalar<E>

Returns the 0 element of the scalar.

\n
§

fn is_zero(&self) -> bool

Returns true if the element is zero.

\n
source§

fn set_zero(&mut self)

Sets self to the additive identity element of Self, 0.
","Zero","leo_interpreter::value::SvmScalar"],["
§

impl<E> Zeroize for Scalar<E>
where\n E: Environment,

§

fn zeroize(&mut self)

Zero out this object from memory using Rust intrinsics which ensure the\nzeroization operation is not “optimized away” by the compiler.
","Zeroize","leo_interpreter::value::SvmScalar"],["
§

impl<E> Copy for Scalar<E>
where\n E: Copy + Environment,\n <E as Environment>::Scalar: Copy,

","Copy","leo_interpreter::value::SvmScalar"],["
§

impl<E> Eq for Scalar<E>
where\n E: Eq + Environment,\n <E as Environment>::Scalar: Eq,

","Eq","leo_interpreter::value::SvmScalar"],["
§

impl<E> ScalarTrait for Scalar<E>
where\n E: Environment,

","ScalarTrait","leo_interpreter::value::SvmScalar"],["
§

impl<E> StructuralPartialEq for Scalar<E>
where\n E: Environment,

","StructuralPartialEq","leo_interpreter::value::SvmScalar"]]]]); + if (window.register_type_impls) { + window.register_type_impls(type_impls); + } else { + window.pending_type_impls = type_impls; + } +})() +//{"start":55,"fragment_lengths":[118721]} \ No newline at end of file diff --git a/type.impl/snarkvm_synthesizer_program/type.Closure.js b/type.impl/snarkvm_synthesizer_program/type.Closure.js new file mode 100644 index 0000000000..2a77a3b4c6 --- /dev/null +++ b/type.impl/snarkvm_synthesizer_program/type.Closure.js @@ -0,0 +1,9 @@ +(function() { + var type_impls = Object.fromEntries([["leo_interpreter",[]]]); + if (window.register_type_impls) { + window.register_type_impls(type_impls); + } else { + window.pending_type_impls = type_impls; + } +})() +//{"start":55,"fragment_lengths":[22]} \ No newline at end of file diff --git a/type.impl/snarkvm_synthesizer_program/type.Finalize.js b/type.impl/snarkvm_synthesizer_program/type.Finalize.js new file mode 100644 index 0000000000..2a77a3b4c6 --- /dev/null +++ b/type.impl/snarkvm_synthesizer_program/type.Finalize.js @@ -0,0 +1,9 @@ +(function() { + var type_impls = Object.fromEntries([["leo_interpreter",[]]]); + if (window.register_type_impls) { + window.register_type_impls(type_impls); + } else { + window.pending_type_impls = type_impls; + } +})() +//{"start":55,"fragment_lengths":[22]} \ No newline at end of file diff --git a/type.impl/snarkvm_synthesizer_program/type.Function.js b/type.impl/snarkvm_synthesizer_program/type.Function.js new file mode 100644 index 0000000000..2a77a3b4c6 --- /dev/null +++ b/type.impl/snarkvm_synthesizer_program/type.Function.js @@ -0,0 +1,9 @@ +(function() { + var type_impls = Object.fromEntries([["leo_interpreter",[]]]); + if (window.register_type_impls) { + window.register_type_impls(type_impls); + } else { + window.pending_type_impls = type_impls; + } +})() +//{"start":55,"fragment_lengths":[22]} \ No newline at end of file